[exodus] 27/48: Exodus 6.02
Alastair McKinstry
mckinstry at moszumanska.debian.org
Wed Jul 15 11:36:02 UTC 2015
This is an automated email from the git hooks/post-receive script.
mckinstry pushed a commit to branch debian/master
in repository exodus.
commit 44584e209ae425a882f0810ce914984ad327a541
Author: Alastair McKinstry <mckinstry at debian.org>
Date: Sat Dec 14 14:33:38 2013 +0000
Exodus 6.02
---
CMakeLists.txt | 62 -
COPYRIGHT | 32 -
DartConfig.cmake | 17 -
Doxyfile | 1685 --------
Imakefile | 111 -
Makefile.standalone | 246 --
README | 84 -
cbind/CMakeLists.txt | 309 --
cbind/include/Imakefile | 8 -
cbind/include/doxygen.h | 286 --
cbind/include/exodusII.h | 1984 ----------
cbind/include/exodusII_cfg.h | 25 -
cbind/include/exodusII_cfg.h.in | 25 -
cbind/include/exodusII_int.h | 766 ----
cbind/include/exodusII_par.h | 84 -
cbind/include/exodusII_test.h | 20 -
cbind/parallel/Imakefile | 66 -
cbind/parallel/ex_create_par.c | 436 --
cbind/parallel/ex_open_par.c | 318 --
cbind/src/Imakefile | 324 --
cbind/src/Makefile.standalone | 267 --
cbind/src/ex_close.c | 123 -
cbind/src/ex_conv.c | 437 --
cbind/src/ex_copy.c | 827 ----
cbind/src/ex_create.c | 419 --
cbind/src/ex_create_par.c | 410 --
cbind/src/ex_cvt_nodes_to_sides.c | 1041 -----
cbind/src/ex_err.c | 244 --
cbind/src/ex_get_all_times.c | 115 -
cbind/src/ex_get_attr.c | 160 -
cbind/src/ex_get_attr_names.c | 181 -
cbind/src/ex_get_attr_param.c | 146 -
cbind/src/ex_get_block.c | 113 -
cbind/src/ex_get_block_param.c | 277 --
cbind/src/ex_get_cmap_params.c | 424 --
cbind/src/ex_get_concat_node_sets.c | 143 -
cbind/src/ex_get_concat_sets.c | 242 --
cbind/src/ex_get_concat_side_set_node_count.c | 635 ---
cbind/src/ex_get_concat_side_sets.c | 90 -
cbind/src/ex_get_conn.c | 293 --
cbind/src/ex_get_coord.c | 256 --
cbind/src/ex_get_coord_names.c | 118 -
cbind/src/ex_get_coordinate_frames.c | 208 -
cbind/src/ex_get_eb_info_global.c | 127 -
cbind/src/ex_get_elem_attr.c | 73 -
cbind/src/ex_get_elem_attr_names.c | 62 -
cbind/src/ex_get_elem_blk_ids.c | 79 -
cbind/src/ex_get_elem_block.c | 105 -
cbind/src/ex_get_elem_cmap.c | 222 --
cbind/src/ex_get_elem_conn.c | 67 -
cbind/src/ex_get_elem_map.c | 63 -
cbind/src/ex_get_elem_num_map.c | 89 -
cbind/src/ex_get_elem_type.c | 126 -
cbind/src/ex_get_elem_var.c | 115 -
cbind/src/ex_get_elem_var_tab.c | 107 -
cbind/src/ex_get_elem_var_time.c | 141 -
cbind/src/ex_get_entity_count_per_polyhedra.c | 121 -
cbind/src/ex_get_glob_var_time.c | 149 -
cbind/src/ex_get_glob_vars.c | 145 -
cbind/src/ex_get_id_map.c | 147 -
cbind/src/ex_get_ids.c | 139 -
cbind/src/ex_get_info.c | 132 -
cbind/src/ex_get_init.c | 150 -
cbind/src/ex_get_init_ext.c | 183 -
cbind/src/ex_get_init_global.c | 201 -
cbind/src/ex_get_init_info.c | 133 -
cbind/src/ex_get_loadbal_param.c | 562 ---
cbind/src/ex_get_map.c | 135 -
cbind/src/ex_get_map_param.c | 100 -
cbind/src/ex_get_n_attr.c | 60 -
cbind/src/ex_get_n_conn.c | 52 -
cbind/src/ex_get_n_coord.c | 85 -
cbind/src/ex_get_n_elem_attr.c | 73 -
cbind/src/ex_get_n_elem_conn.c | 71 -
cbind/src/ex_get_n_elem_num_map.c | 67 -
cbind/src/ex_get_n_elem_var.c | 55 -
cbind/src/ex_get_n_nodal_var.c | 50 -
cbind/src/ex_get_n_node_num_map.c | 65 -
cbind/src/ex_get_n_node_set.c | 68 -
cbind/src/ex_get_n_node_set_df.c | 50 -
cbind/src/ex_get_n_one_attr.c | 62 -
cbind/src/ex_get_n_side_set.c | 51 -
cbind/src/ex_get_n_side_set_df.c | 72 -
cbind/src/ex_get_n_var.c | 72 -
cbind/src/ex_get_name.c | 143 -
cbind/src/ex_get_names.c | 151 -
cbind/src/ex_get_nodal_var.c | 159 -
cbind/src/ex_get_nodal_var_time.c | 184 -
cbind/src/ex_get_node_cmap.c | 192 -
cbind/src/ex_get_node_map.c | 66 -
cbind/src/ex_get_node_num_map.c | 92 -
cbind/src/ex_get_node_set.c | 67 -
cbind/src/ex_get_node_set_dist_fact.c | 70 -
cbind/src/ex_get_node_set_ids.c | 75 -
cbind/src/ex_get_node_set_param.c | 97 -
cbind/src/ex_get_ns_param_global.c | 162 -
cbind/src/ex_get_nset_var.c | 76 -
cbind/src/ex_get_nset_var_tab.c | 66 -
cbind/src/ex_get_num_map.c | 149 -
cbind/src/ex_get_object_truth_vector.c | 196 -
cbind/src/ex_get_one_attr.c | 205 -
cbind/src/ex_get_one_elem_attr.c | 66 -
cbind/src/ex_get_partial_attr.c | 215 -
cbind/src/ex_get_partial_conn.c | 332 --
cbind/src/ex_get_partial_coord.c | 256 --
cbind/src/ex_get_partial_elem_attr.c | 176 -
cbind/src/ex_get_partial_elem_conn.c | 71 -
cbind/src/ex_get_partial_elem_map.c | 52 -
cbind/src/ex_get_partial_elem_num_map.c | 161 -
cbind/src/ex_get_partial_elem_var.c | 80 -
cbind/src/ex_get_partial_id_map.c | 140 -
cbind/src/ex_get_partial_nodal_var.c | 135 -
cbind/src/ex_get_partial_node_num_map.c | 153 -
cbind/src/ex_get_partial_node_set.c | 175 -
cbind/src/ex_get_partial_node_set_df.c | 178 -
cbind/src/ex_get_partial_num_map.c | 191 -
cbind/src/ex_get_partial_one_attr.c | 229 --
cbind/src/ex_get_partial_set_dist_fact.c | 143 -
cbind/src/ex_get_partial_side_set.c | 203 -
cbind/src/ex_get_partial_side_set_df.c | 173 -
cbind/src/ex_get_partial_var.c | 138 -
cbind/src/ex_get_processor_elem_maps.c | 265 --
cbind/src/ex_get_processor_node_maps.c | 348 --
cbind/src/ex_get_prop.c | 228 --
cbind/src/ex_get_prop_array.c | 229 --
cbind/src/ex_get_prop_names.c | 205 -
cbind/src/ex_get_qa.c | 143 -
cbind/src/ex_get_set.c | 190 -
cbind/src/ex_get_set_dist_fact.c | 155 -
cbind/src/ex_get_set_param.c | 211 -
cbind/src/ex_get_sets.c | 73 -
cbind/src/ex_get_side_set.c | 69 -
cbind/src/ex_get_side_set_dist_fact.c | 66 -
cbind/src/ex_get_side_set_ids.c | 63 -
cbind/src/ex_get_side_set_node_count.c | 623 ---
cbind/src/ex_get_side_set_node_list.c | 1037 -----
cbind/src/ex_get_side_set_node_list_len.c | 575 ---
cbind/src/ex_get_side_set_param.c | 74 -
cbind/src/ex_get_ss_param_global.c | 162 -
cbind/src/ex_get_sset_var.c | 76 -
cbind/src/ex_get_sset_var_tab.c | 65 -
cbind/src/ex_get_time.c | 114 -
cbind/src/ex_get_truth_table.c | 200 -
cbind/src/ex_get_var.c | 145 -
cbind/src/ex_get_var_name.c | 69 -
cbind/src/ex_get_var_names.c | 71 -
cbind/src/ex_get_var_param.c | 70 -
cbind/src/ex_get_var_tab.c | 71 -
cbind/src/ex_get_var_time.c | 292 --
cbind/src/ex_get_variable_name.c | 133 -
cbind/src/ex_get_variable_names.c | 159 -
cbind/src/ex_get_variable_param.c | 176 -
cbind/src/ex_inquire.c | 1053 -----
cbind/src/ex_ne_util.c | 407 --
cbind/src/ex_open.c | 309 --
cbind/src/ex_open_par.c | 318 --
cbind/src/ex_opts.c | 86 -
cbind/src/ex_put_all_var_param.c | 105 -
cbind/src/ex_put_all_var_param_ext.c | 561 ---
cbind/src/ex_put_attr.c | 157 -
cbind/src/ex_put_attr_names.c | 204 -
cbind/src/ex_put_attr_param.c | 250 --
cbind/src/ex_put_block.c | 95 -
cbind/src/ex_put_block_param.c | 560 ---
cbind/src/ex_put_cmap_params.c | 482 ---
cbind/src/ex_put_cmap_params_cc.c | 628 ---
cbind/src/ex_put_concat_all_blocks.c | 621 ---
cbind/src/ex_put_concat_elem_block.c | 433 --
cbind/src/ex_put_concat_node_sets.c | 147 -
cbind/src/ex_put_concat_sets.c | 561 ---
cbind/src/ex_put_concat_side_sets.c | 101 -
cbind/src/ex_put_concat_var_param.c | 79 -
cbind/src/ex_put_conn.c | 241 --
cbind/src/ex_put_coord.c | 282 --
cbind/src/ex_put_coord_names.c | 116 -
cbind/src/ex_put_coordinate_frames.c | 198 -
cbind/src/ex_put_eb_info_global.c | 124 -
cbind/src/ex_put_elem_attr.c | 77 -
cbind/src/ex_put_elem_attr_names.c | 69 -
cbind/src/ex_put_elem_block.c | 137 -
cbind/src/ex_put_elem_cmap.c | 237 --
cbind/src/ex_put_elem_conn.c | 70 -
cbind/src/ex_put_elem_map.c | 69 -
cbind/src/ex_put_elem_num_map.c | 82 -
cbind/src/ex_put_elem_var.c | 144 -
cbind/src/ex_put_elem_var_slab.c | 280 --
cbind/src/ex_put_elem_var_tab.c | 127 -
cbind/src/ex_put_entity_count_per_polyhedra.c | 122 -
cbind/src/ex_put_glob_vars.c | 114 -
cbind/src/ex_put_id_map.c | 194 -
cbind/src/ex_put_info.c | 234 --
cbind/src/ex_put_init.c | 109 -
cbind/src/ex_put_init_ext.c | 592 ---
cbind/src/ex_put_init_global.c | 310 --
cbind/src/ex_put_init_info.c | 180 -
cbind/src/ex_put_loadbal_param.c | 662 ----
cbind/src/ex_put_loadbal_param_cc.c | 920 -----
cbind/src/ex_put_map.c | 185 -
cbind/src/ex_put_map_param.c | 320 --
cbind/src/ex_put_n_attr.c | 74 -
cbind/src/ex_put_n_coord.c | 77 -
cbind/src/ex_put_n_elem_attr.c | 72 -
cbind/src/ex_put_n_elem_conn.c | 69 -
cbind/src/ex_put_n_elem_num_map.c | 68 -
cbind/src/ex_put_n_nodal_var.c | 79 -
cbind/src/ex_put_n_node_num_map.c | 68 -
cbind/src/ex_put_n_node_set.c | 70 -
cbind/src/ex_put_n_node_set_df.c | 74 -
cbind/src/ex_put_n_one_attr.c | 76 -
cbind/src/ex_put_n_side_set.c | 76 -
cbind/src/ex_put_n_side_set_df.c | 73 -
cbind/src/ex_put_n_var.c | 88 -
cbind/src/ex_put_name.c | 156 -
cbind/src/ex_put_names.c | 148 -
cbind/src/ex_put_nodal_var.c | 159 -
cbind/src/ex_put_nodal_var_slab.c | 141 -
cbind/src/ex_put_node_cmap.c | 215 -
cbind/src/ex_put_node_map.c | 65 -
cbind/src/ex_put_node_num_map.c | 80 -
cbind/src/ex_put_node_set.c | 68 -
cbind/src/ex_put_node_set_dist_fact.c | 73 -
cbind/src/ex_put_node_set_param.c | 101 -
cbind/src/ex_put_ns_param_global.c | 157 -
cbind/src/ex_put_nset_var.c | 84 -
cbind/src/ex_put_nset_var_tab.c | 77 -
cbind/src/ex_put_num_map.c | 287 --
cbind/src/ex_put_one_attr.c | 208 -
cbind/src/ex_put_one_elem_attr.c | 73 -
cbind/src/ex_put_partial_attr.c | 223 --
cbind/src/ex_put_partial_coord.c | 265 --
cbind/src/ex_put_partial_elem_attr.c | 186 -
cbind/src/ex_put_partial_elem_conn.c | 180 -
cbind/src/ex_put_partial_elem_map.c | 70 -
cbind/src/ex_put_partial_elem_num_map.c | 68 -
cbind/src/ex_put_partial_id_map.c | 218 -
cbind/src/ex_put_partial_nodal_var.c | 138 -
cbind/src/ex_put_partial_node_num_map.c | 68 -
cbind/src/ex_put_partial_node_set.c | 175 -
cbind/src/ex_put_partial_node_set_df.c | 192 -
cbind/src/ex_put_partial_num_map.c | 300 --
cbind/src/ex_put_partial_one_attr.c | 224 --
cbind/src/ex_put_partial_set.c | 213 -
cbind/src/ex_put_partial_set_dist_fact.c | 174 -
cbind/src/ex_put_partial_side_set.c | 211 -
cbind/src/ex_put_partial_side_set_df.c | 194 -
cbind/src/ex_put_partial_var.c | 310 --
cbind/src/ex_put_processor_elem_maps.c | 265 --
cbind/src/ex_put_processor_node_maps.c | 352 --
cbind/src/ex_put_prop.c | 412 --
cbind/src/ex_put_prop_array.c | 324 --
cbind/src/ex_put_prop_names.c | 288 --
cbind/src/ex_put_qa.c | 232 --
cbind/src/ex_put_set.c | 204 -
cbind/src/ex_put_set_dist_fact.c | 164 -
cbind/src/ex_put_set_param.c | 83 -
cbind/src/ex_put_sets.c | 385 --
cbind/src/ex_put_side_set.c | 72 -
cbind/src/ex_put_side_set_dist_fact.c | 69 -
cbind/src/ex_put_side_set_param.c | 74 -
cbind/src/ex_put_ss_param_global.c | 159 -
cbind/src/ex_put_sset_var.c | 82 -
cbind/src/ex_put_sset_var_tab.c | 79 -
cbind/src/ex_put_time.c | 114 -
cbind/src/ex_put_truth_table.c | 375 --
cbind/src/ex_put_var.c | 340 --
cbind/src/ex_put_var_name.c | 75 -
cbind/src/ex_put_var_names.c | 75 -
cbind/src/ex_put_var_param.c | 73 -
cbind/src/ex_put_var_tab.c | 84 -
cbind/src/ex_put_variable_name.c | 131 -
cbind/src/ex_put_variable_names.c | 203 -
cbind/src/ex_put_variable_param.c | 358 --
cbind/src/ex_update.c | 72 -
cbind/src/ex_utils.c | 1540 --------
cbind/test/CMakeLists.txt | 85 -
cbind/test/CreateEdgeFace.c | 621 ---
cbind/test/Imakefile | 121 -
cbind/test/MakeTestData.c | 929 -----
cbind/test/Makefile.standalone | 184 -
cbind/test/ReadEdgeFace.c | 430 --
cbind/test/create_mesh.c | 1032 -----
cbind/test/exodus_unit_tests.gold | 41 -
cbind/test/makedmp | 122 -
cbind/test/oned.c | 426 --
cbind/test/rd_wt_mesh.c | 1271 ------
cbind/test/test.dmp | 1025 -----
cbind/test/test.exo_c | 40 -
cbind/test/test1.dmp | 715 ----
cbind/test/test2-1.dmp | 557 ---
cbind/test/test2-2.dmp | 557 ---
cbind/test/test2.dmp | 278 --
cbind/test/test_clb.dmp | 988 -----
cbind/test/test_nemesis.c | 1037 -----
cbind/test/test_nemesis.dmp | 30 -
cbind/test/testall.in | 236 --
cbind/test/testall.in1 | 233 --
cbind/test/testall.standalone | 238 --
cbind/test/testcp.c | 119 -
cbind/test/testcp_dd.dmp | 248 --
cbind/test/testcp_ds.dmp | 248 --
cbind/test/testcp_ln.c | 119 -
cbind/test/testcp_ln.dmp | 334 --
cbind/test/testcp_nl.c | 119 -
cbind/test/testcp_nl.dmp | 337 --
cbind/test/testcp_sd.dmp | 337 --
cbind/test/testcp_ss.dmp | 337 --
cbind/test/testcpd.c | 119 -
cbind/test/testd.dmp | 557 ---
cbind/test/testrd-long-name.c | 1210 ------
cbind/test/testrd-long-name.dmp | 1139 ------
cbind/test/testrd-nfaced.c | 354 --
cbind/test/testrd-nfaced.dmp | 109 -
cbind/test/testrd-nm32.dmp | 1137 ------
cbind/test/testrd-nsided.c | 1153 ------
cbind/test/testrd-nsided.dmp | 852 ----
cbind/test/testrd.c | 1203 ------
cbind/test/testrd.dmp | 1137 ------
cbind/test/testrd1.c | 1047 -----
cbind/test/testrd1.dmp | 902 -----
cbind/test/testrd_nc.c | 897 -----
cbind/test/testrd_nc.dmp | 931 -----
cbind/test/testrd_par.c | 1210 ------
cbind/test/testrd_ss.c | 340 --
cbind/test/testrd_ss.dmp | 523 ---
cbind/test/testrd_zeroe.dmp | 345 --
cbind/test/testrd_zeron.dmp | 86 -
cbind/test/testrdd.c | 900 -----
cbind/test/testrdd.dmp | 775 ----
cbind/test/testrdwt.c | 455 ---
cbind/test/testwt-long-name.c | 1216 ------
cbind/test/testwt-long-name.dmp | 1025 -----
cbind/test/testwt-nface-nside.c | 560 ---
cbind/test/testwt-nfaced.c | 429 --
cbind/test/testwt-nfaced.dmp | 104 -
cbind/test/testwt-nsided.c | 974 -----
cbind/test/testwt-nsided.dmp | 669 ----
cbind/test/testwt-one-attrib.c | 304 --
cbind/test/testwt-partial.c | 1218 ------
cbind/test/testwt-zeroe.c | 473 ---
cbind/test/testwt-zeroe.dmp | 185 -
cbind/test/testwt-zeron.c | 255 --
cbind/test/testwt-zeron.dmp | 62 -
cbind/test/testwt.c | 1236 ------
cbind/test/testwt1.c | 920 -----
cbind/test/testwt2.c | 1279 ------
cbind/test/testwt_clb.c | 999 -----
cbind/test/testwt_nc.c | 1236 ------
cbind/test/testwt_nossnsdf.c | 889 -----
cbind/test/testwt_ss.c | 835 ----
cbind/test/testwt_ss.dmp | 295 --
cbind/test/testwtbig.c | 776 ----
cbind/test/testwtd.c | 602 ---
cbind/test/testwtm.c | 1405 -------
cbind/test/twod.c | 378 --
cbind/test/update_all_tests | 232 --
cmake-script | 21 -
cmake/Dependencies.cmake | 8 -
customdoxygen.css | 686 ----
doc/doc.poly.txt | 216 -
doc/exodus-face-edge.pdf | Bin 720533 -> 0 bytes
doc/exodus.pdf | Bin 3842894 -> 0 bytes
doc/nemesis.pdf | Bin 376501 -> 0 bytes
exodusii.dsp | 497 ---
forbind/CMakeLists.txt | 77 -
forbind/include/Imakefile | 6 -
forbind/include/exodusII.inc | 193 -
forbind/include/exodusII_int.inc | 167 -
forbind/src/Imakefile | 76 -
forbind/src/Makefile.standalone | 62 -
forbind/src/addrwrap.F | 3832 ------------------
forbind/src/exo_jack.src | 5251 -------------------------
forbind/test/CMakeLists.txt | 40 -
forbind/test/Imakefile | 78 -
forbind/test/Makefile.standalone | 111 -
forbind/test/exodus_unit_tests.gold | 20 -
forbind/test/test-nsided.dmp | 97 -
forbind/test/test.dmp | 556 ---
forbind/test/test1.dmp | 714 ----
forbind/test/test2-1.dmp | 556 ---
forbind/test/test2-2.dmp | 556 ---
forbind/test/test_nem.dmp | 54 -
forbind/test/test_nem.f | 928 -----
forbind/test/test_nem.inc | 66 -
forbind/test/testall.in | 129 -
forbind/test/testall.in1 | 127 -
forbind/test/testall.standalone | 132 -
forbind/test/testcp.f | 63 -
forbind/test/testcp_dd.dmp | 0
forbind/test/testcp_ds.dmp | 244 --
forbind/test/testcp_sd.dmp | 0
forbind/test/testcp_ss.dmp | 248 --
forbind/test/testcpd.f | 63 -
forbind/test/testcpln.dmp | 245 --
forbind/test/testcpln.f | 68 -
forbind/test/testcpnl.dmp | 248 --
forbind/test/testcpnl.f | 68 -
forbind/test/testd.dmp | 326 --
forbind/test/testrd.dmp | 798 ----
forbind/test/testrd.f | 738 ----
forbind/test/testrd1.dmp | 917 -----
forbind/test/testrd1.f | 824 ----
forbind/test/testrd_nsid.dmp | 162 -
forbind/test/testrd_nsid.f | 208 -
forbind/test/testrdd.dmp | 409 --
forbind/test/testrdd.f | 689 ----
forbind/test/testwt.f | 1150 ------
forbind/test/testwt1.f | 996 -----
forbind/test/testwt2.f | 1432 -------
forbind/test/testwt3.f | 594 ---
forbind/test/testwt_nsid.f | 403 --
forbind/test/testwtd.f | 539 ---
forbind/test/testwtm.f | 946 -----
412 files changed, 133923 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644
index ca372f5..0000000
--- a/CMakeLists.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-cmake_minimum_required(VERSION 2.6)
-PROJECT(ExodusII C CXX Fortran)
-
-SET(EXODUSII_VERSION_MAJOR "5")
-SET(EXODUSII_VERSION_MINOR "14")
-SET(EXODUSII_VERSION_PATCH "0")
-SET(EXODUSII_VERSION "${EXODUSII_VERSION_MAJOR}.${EXODUSII_VERSION_MINOR}")
-SET(EXODUSII_VERSION_FULL "${EXODUSII_VERSION}.${EXODUSII_VERSION_PATCH}")
-
-OPTION(BUILD_SHARED "Build the exodus libraries shared." OFF)
-
-IF(BUILD_SHARED)
- SET(EXODUS_LIBRARY_TYPE SHARED)
-ELSE(BUILD_SHARED)
- SET(EXODUS_LIBRARY_TYPE STATIC)
-ENDIF(BUILD_SHARED)
-
-SUBDIRS(cbind forbind)
-
-find_path( NETCDF_INCLUDE_DIR netcdf.h
- $ENV{ACCESS}/inc
- $ENV{NETCDF_DIR}/inc
- $ENV{NETCDF_DIR}/include
- $ENV{NETCDF_DIR}/libsrc
-)
-
-find_library( NETCDF_LIBRARY
- NAMES netcdf
- PATHS "$ENV{ACCESS}/lib"
- "$ENV{NETCDF_DIR}/lib"
- "$ENV{NETCDF_DIR}/libsrc/.libs"
-)
-
-find_program (NETCDF_NCDUMP ncdump
- $ENV{ACCESS}/bin
- $ENV{NETCDF_DIR}/bin
- $ENV{NETCDF_DIR}/ncdump
-)
-
-# Hack for HDF5
-find_library( HDF5_LIBRARY hdf5
- $ENV{ACCESS}/lib/shared
- $ENV{ACCESS}/lib
- $ENV{NETCDF_DIR}/lib
- $ENV{NETCDF_DIR}/libsrc/.libs
- /usr/local/hdf5/lib
- )
-find_library( HDF5HL_LIBRARY hdf5_hl
- $ENV{ACCESS}/lib/shared
- $ENV{ACCESS}/lib
- $ENV{NETCDF_DIR}/lib
- $ENV{NETCDF_DIR}/libsrc/.libs
- /usr/local/hdf5/lib
- )
-
-# Check for ZLib, but only if using HDF5.
-FIND_PACKAGE(ZLIB)
-IF(NOT ZLIB_LIBRARY)
- MESSAGE(FATAL_ERROR "HDF5 Support specified, cannot find ZLib.")
-ENDIF()
-SET(USE_ZLIB ON)
-INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIRS})
diff --git a/COPYRIGHT b/COPYRIGHT
deleted file mode 100644
index f11b681..0000000
--- a/COPYRIGHT
+++ /dev/null
@@ -1,32 +0,0 @@
-Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-retains certain rights in this software.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
-
- * Neither the name of Sandia Corporation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/DartConfig.cmake b/DartConfig.cmake
deleted file mode 100644
index 5264ed8..0000000
--- a/DartConfig.cmake
+++ /dev/null
@@ -1,17 +0,0 @@
-# Dashboard is opened for submissions for a 24 hour period starting at
-# the specified NIGHLY_START_TIME. Time is specified in 24 hour format.
-SET (NIGHTLY_START_TIME "21:00:00 EDT")
-
-# Dart server to submit results (used by client)
-SET (DROP_SITE "tigre.ca.sandia.gov")
-SET (DROP_LOCATION "Drop/")
-SET (DROP_SITE_USER "dart")
-SET (DROP_METHOD "scp")
-SET (TRIGGER_SITE "http://${DROP_SITE}/~dart/cgi-bin/Dart-vtkSNL.pl")
-
-# Project Home Page
-SET (PROJECT_URL "http://tigre.ca.sandia.gov/vtkSNL")
-SET (CVS_WEB_URL "http://${DROP_SITE}/vtk/")
-SET (CVS_WEB_CVSROOT "vtkSNL")
-SET (USE_DOXYGEN "On")
-SET (DOXYGEN_URL "http://tigre.ca.sandia.gov/vtkSNL/Documentation/Doxygen/" )
diff --git a/Doxyfile b/Doxyfile
deleted file mode 100644
index abc6409..0000000
--- a/Doxyfile
+++ /dev/null
@@ -1,1685 +0,0 @@
-# Doxyfile 1.7.3
-
-# This file describes the settings to be used by the documentation system
-# doxygen (www.doxygen.org) for a project
-#
-# All text after a hash (#) is considered a comment and will be ignored
-# The format is:
-# TAG = value [value, ...]
-# For lists items can also be appended using:
-# TAG += value [value, ...]
-# Values that contain spaces should be placed between quotes (" ")
-
-#---------------------------------------------------------------------------
-# Project related configuration options
-#---------------------------------------------------------------------------
-
-# This tag specifies the encoding used for all characters in the config file
-# that follow. The default is UTF-8 which is also the encoding used for all
-# text before the first occurrence of this tag. Doxygen uses libiconv (or the
-# iconv built into libc) for the transcoding. See
-# http://www.gnu.org/software/libiconv for the list of possible encodings.
-
-DOXYFILE_ENCODING = UTF-8
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = ExodusII
-
-# The PROJECT_NUMBER tag can be used to enter a project or revision number.
-# This could be handy for archiving the generated documentation or
-# if some version control system is used.
-
-PROJECT_NUMBER = 5.15
-
-# Using the PROJECT_BRIEF tag one can provide an optional one line description
-# for a project that appears at the top of each page and should give viewer
-# a quick idea about the purpose of the project. Keep the description short.
-
-PROJECT_BRIEF =
-
-# With the PROJECT_LOGO tag one can specify an logo or icon that is
-# included in the documentation. The maximum height of the logo should not
-# exceed 55 pixels and the maximum width should not exceed 200 pixels.
-# Doxygen will copy the logo to the output directory.
-
-PROJECT_LOGO =
-
-# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
-# base path where the generated documentation will be put.
-# If a relative path is entered, it will be relative to the location
-# where doxygen was started. If left blank the current directory will be used.
-
-OUTPUT_DIRECTORY =
-
-# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
-# 4096 sub-directories (in 2 levels) under the output directory of each output
-# format and will distribute the generated files over these directories.
-# Enabling this option can be useful when feeding doxygen a huge amount of
-# source files, where putting all generated files in the same directory would
-# otherwise cause performance problems for the file system.
-
-CREATE_SUBDIRS = NO
-
-# The OUTPUT_LANGUAGE tag is used to specify the language in which all
-# documentation generated by doxygen is written. Doxygen will use this
-# information to generate all constant output in the proper language.
-# The default language is English, other supported languages are:
-# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
-# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
-# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
-# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
-# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
-
-OUTPUT_LANGUAGE = English
-
-# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
-# include brief member descriptions after the members that are listed in
-# the file and class documentation (similar to JavaDoc).
-# Set to NO to disable this.
-
-BRIEF_MEMBER_DESC = YES
-
-# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
-# the brief description of a member or function before the detailed description.
-# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
-# brief descriptions will be completely suppressed.
-
-REPEAT_BRIEF = YES
-
-# This tag implements a quasi-intelligent brief description abbreviator
-# that is used to form the text in various listings. Each string
-# in this list, if found as the leading text of the brief description, will be
-# stripped from the text and the result after processing the whole list, is
-# used as the annotated text. Otherwise, the brief description is used as-is.
-# If left blank, the following values are used ("$name" is automatically
-# replaced with the name of the entity): "The $name class" "The $name widget"
-# "The $name file" "is" "provides" "specifies" "contains"
-# "represents" "a" "an" "the"
-
-ABBREVIATE_BRIEF =
-
-# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
-# Doxygen will generate a detailed section even if there is only a brief
-# description.
-
-ALWAYS_DETAILED_SEC = NO
-
-# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
-# inherited members of a class in the documentation of that class as if those
-# members were ordinary class members. Constructors, destructors and assignment
-# operators of the base classes will not be shown.
-
-INLINE_INHERITED_MEMB = NO
-
-# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
-# path before files name in the file list and in the header files. If set
-# to NO the shortest path that makes the file name unique will be used.
-
-FULL_PATH_NAMES = YES
-
-# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
-# can be used to strip a user-defined part of the path. Stripping is
-# only done if one of the specified strings matches the left-hand part of
-# the path. The tag can be used to show relative paths in the file list.
-# If left blank the directory from which doxygen is run is used as the
-# path to strip.
-
-STRIP_FROM_PATH =
-
-# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
-# the path mentioned in the documentation of a class, which tells
-# the reader which header file to include in order to use a class.
-# If left blank only the name of the header file containing the class
-# definition is used. Otherwise one should specify the include paths that
-# are normally passed to the compiler using the -I flag.
-
-STRIP_FROM_INC_PATH =
-
-# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
-# (but less readable) file names. This can be useful if your file system
-# doesn't support long names like on DOS, Mac, or CD-ROM.
-
-SHORT_NAMES = NO
-
-# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
-# will interpret the first line (until the first dot) of a JavaDoc-style
-# comment as the brief description. If set to NO, the JavaDoc
-# comments will behave just like regular Qt-style comments
-# (thus requiring an explicit @brief command for a brief description.)
-
-JAVADOC_AUTOBRIEF = NO
-
-# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
-# interpret the first line (until the first dot) of a Qt-style
-# comment as the brief description. If set to NO, the comments
-# will behave just like regular Qt-style comments (thus requiring
-# an explicit \brief command for a brief description.)
-
-QT_AUTOBRIEF = NO
-
-# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
-# treat a multi-line C++ special comment block (i.e. a block of //! or ///
-# comments) as a brief description. This used to be the default behaviour.
-# The new default is to treat a multi-line C++ comment block as a detailed
-# description. Set this tag to YES if you prefer the old behaviour instead.
-
-MULTILINE_CPP_IS_BRIEF = NO
-
-# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
-# member inherits the documentation from any documented member that it
-# re-implements.
-
-INHERIT_DOCS = YES
-
-# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
-# a new page for each member. If set to NO, the documentation of a member will
-# be part of the file/class/namespace that contains it.
-
-SEPARATE_MEMBER_PAGES = NO
-
-# The TAB_SIZE tag can be used to set the number of spaces in a tab.
-# Doxygen uses this value to replace tabs by spaces in code fragments.
-
-TAB_SIZE = 1
-
-# This tag can be used to specify a number of aliases that acts
-# as commands in the documentation. An alias has the form "name=value".
-# For example adding "sideeffect=\par Side Effects:\n" will allow you to
-# put the command \sideeffect (or @sideeffect) in the documentation, which
-# will result in a user-defined paragraph with heading "Side Effects:".
-# You can put \n's in the value part of an alias to insert newlines.
-
-ALIASES = "func{1}=<b>\1</b>" \
- "fparam{1}=<em>\1</em>" \
- "file{1}=<tt>\1</tt>" \
- "comment{1}=...<em>\1</em>" \
- "undoc=\xrefitem undoc \"Undocumented\" \"Undocumented\""
-
-# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
-# sources only. Doxygen will then generate output that is more tailored for C.
-# For instance, some of the names that are used will be different. The list
-# of all members will be omitted, etc.
-
-OPTIMIZE_OUTPUT_FOR_C = YES
-
-# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
-# sources only. Doxygen will then generate output that is more tailored for
-# Java. For instance, namespaces will be presented as packages, qualified
-# scopes will look different, etc.
-
-OPTIMIZE_OUTPUT_JAVA = NO
-
-# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
-# sources only. Doxygen will then generate output that is more tailored for
-# Fortran.
-
-OPTIMIZE_FOR_FORTRAN = NO
-
-# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
-# sources. Doxygen will then generate output that is tailored for
-# VHDL.
-
-OPTIMIZE_OUTPUT_VHDL = NO
-
-# Doxygen selects the parser to use depending on the extension of the files it
-# parses. With this tag you can assign which parser to use for a given extension.
-# Doxygen has a built-in mapping, but you can override or extend it using this
-# tag. The format is ext=language, where ext is a file extension, and language
-# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
-# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
-# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
-# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
-# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
-
-EXTENSION_MAPPING =
-
-# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
-# to include (a tag file for) the STL sources as input, then you should
-# set this tag to YES in order to let doxygen match functions declarations and
-# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
-# func(std::string) {}). This also makes the inheritance and collaboration
-# diagrams that involve STL classes more complete and accurate.
-
-BUILTIN_STL_SUPPORT = NO
-
-# If you use Microsoft's C++/CLI language, you should set this option to YES to
-# enable parsing support.
-
-CPP_CLI_SUPPORT = NO
-
-# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
-# Doxygen will parse them like normal C++ but will assume all classes use public
-# instead of private inheritance when no explicit protection keyword is present.
-
-SIP_SUPPORT = NO
-
-# For Microsoft's IDL there are propget and propput attributes to indicate getter
-# and setter methods for a property. Setting this option to YES (the default)
-# will make doxygen replace the get and set methods by a property in the
-# documentation. This will only work if the methods are indeed getting or
-# setting a simple type. If this is not the case, or you want to show the
-# methods anyway, you should set this option to NO.
-
-IDL_PROPERTY_SUPPORT = YES
-
-# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
-# tag is set to YES, then doxygen will reuse the documentation of the first
-# member in the group (if any) for the other members of the group. By default
-# all members of a group must be documented explicitly.
-
-DISTRIBUTE_GROUP_DOC = NO
-
-# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
-# the same type (for instance a group of public functions) to be put as a
-# subgroup of that type (e.g. under the Public Functions section). Set it to
-# NO to prevent subgrouping. Alternatively, this can be done per class using
-# the \nosubgrouping command.
-
-SUBGROUPING = YES
-
-# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
-# is documented as struct, union, or enum with the name of the typedef. So
-# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
-# with name TypeT. When disabled the typedef will appear as a member of a file,
-# namespace, or class. And the struct will be named TypeS. This can typically
-# be useful for C code in case the coding convention dictates that all compound
-# types are typedef'ed and only the typedef is referenced, never the tag name.
-
-TYPEDEF_HIDES_STRUCT = NO
-
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penalty.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will roughly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE = 0
-
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-
-# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
-# documentation are documented, even if no documentation was available.
-# Private class members and static file members will be hidden unless
-# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
-EXTRACT_ALL = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = NO
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = YES
-
-# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
-# defined locally in source files will be included in the documentation.
-# If set to NO only classes defined in header files are included.
-
-EXTRACT_LOCAL_CLASSES = YES
-
-# This flag is only useful for Objective-C code. When set to YES local
-# methods, which are defined in the implementation section but not in
-# the interface are included in the documentation.
-# If set to NO (the default) only methods in the interface are included.
-
-EXTRACT_LOCAL_METHODS = NO
-
-# If this flag is set to YES, the members of anonymous namespaces will be
-# extracted and appear in the documentation as a namespace called
-# 'anonymous_namespace{file}', where file will be replaced with the base
-# name of the file that contains the anonymous namespace. By default
-# anonymous namespaces are hidden.
-
-EXTRACT_ANON_NSPACES = NO
-
-# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = YES
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
-# will show members with their full class and namespace scopes in the
-# documentation. If set to YES the scope will be hidden.
-
-HIDE_SCOPE_NAMES = NO
-
-# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
-# will put a list of the files that are included by a file in the documentation
-# of that file.
-
-SHOW_INCLUDE_FILES = YES
-
-# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
-# will list include files with double quotes in the documentation
-# rather than with sharp brackets.
-
-FORCE_LOCAL_INCLUDES = NO
-
-# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
-# is inserted in the documentation for inline members.
-
-INLINE_INFO = YES
-
-# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
-# will sort the (detailed) documentation of file and class members
-# alphabetically by member name. If set to NO the members will appear in
-# declaration order.
-
-SORT_MEMBER_DOCS = YES
-
-# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
-# brief documentation of file, namespace and class members alphabetically
-# by member name. If set to NO (the default) the members will appear in
-# declaration order.
-
-SORT_BRIEF_DOCS = NO
-
-# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
-# will sort the (brief and detailed) documentation of class members so that
-# constructors and destructors are listed first. If set to NO (the default)
-# the constructors will appear in the respective orders defined by
-# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
-# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
-# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
-
-SORT_MEMBERS_CTORS_1ST = NO
-
-# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
-# hierarchy of group names into alphabetical order. If set to NO (the default)
-# the group names will appear in their defined order.
-
-SORT_GROUP_NAMES = NO
-
-# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
-# sorted by fully-qualified names, including namespaces. If set to
-# NO (the default), the class list will be sorted only by class name,
-# not including the namespace part.
-# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
-# Note: This option applies only to the class list, not to the
-# alphabetical list.
-
-SORT_BY_SCOPE_NAME = NO
-
-# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
-# do proper type resolution of all parameters of a function it will reject a
-# match between the prototype and the implementation of a member function even
-# if there is only one candidate or it is obvious which candidate to choose
-# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
-# will still accept a match between prototype and implementation in such cases.
-
-STRICT_PROTO_MATCHING = NO
-
-# The GENERATE_TODOLIST tag can be used to enable (YES) or
-# disable (NO) the todo list. This list is created by putting \todo
-# commands in the documentation.
-
-GENERATE_TODOLIST = YES
-
-# The GENERATE_TESTLIST tag can be used to enable (YES) or
-# disable (NO) the test list. This list is created by putting \test
-# commands in the documentation.
-
-GENERATE_TESTLIST = YES
-
-# The GENERATE_BUGLIST tag can be used to enable (YES) or
-# disable (NO) the bug list. This list is created by putting \bug
-# commands in the documentation.
-
-GENERATE_BUGLIST = YES
-
-# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
-# disable (NO) the deprecated list. This list is created by putting
-# \deprecated commands in the documentation.
-
-GENERATE_DEPRECATEDLIST= YES
-
-# The ENABLED_SECTIONS tag can be used to enable conditional
-# documentation sections, marked by \if sectionname ... \endif.
-
-ENABLED_SECTIONS =
-
-# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
-# the initial value of a variable or macro consists of for it to appear in
-# the documentation. If the initializer consists of more lines than specified
-# here it will be hidden. Use a value of 0 to hide initializers completely.
-# The appearance of the initializer of individual variables and macros in the
-# documentation can be controlled using \showinitializer or \hideinitializer
-# command in the documentation regardless of this setting.
-
-MAX_INITIALIZER_LINES = 30
-
-# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
-# at the bottom of the documentation of classes and structs. If set to YES the
-# list will mention the files that were used to generate the documentation.
-
-SHOW_USED_FILES = YES
-
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES = YES
-
-# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
-# This will remove the Files entry from the Quick Index and from the
-# Folder Tree View (if specified). The default is YES.
-
-SHOW_FILES = YES
-
-# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
-# Namespaces page. This will remove the Namespaces entry from the Quick Index
-# and from the Folder Tree View (if specified). The default is YES.
-
-SHOW_NAMESPACES = YES
-
-# The FILE_VERSION_FILTER tag can be used to specify a program or script that
-# doxygen should invoke to get the current version for each file (typically from
-# the version control system). Doxygen will invoke the program by executing (via
-# popen()) the command <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
-# provided by doxygen. Whatever the program writes to standard output
-# is used as the file version. See the manual for examples.
-
-FILE_VERSION_FILTER =
-
-# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
-# by doxygen. The layout file controls the global structure of the generated
-# output files in an output format independent way. The create the layout file
-# that represents doxygen's defaults, run doxygen with the -l option.
-# You can optionally specify a file name after the option, if omitted
-# DoxygenLayout.xml will be used as the name of the layout file.
-
-LAYOUT_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-
-# The QUIET tag can be used to turn on/off the messages that are generated
-# by doxygen. Possible values are YES and NO. If left blank NO is used.
-
-QUIET = NO
-
-# The WARNINGS tag can be used to turn on/off the warning messages that are
-# generated by doxygen. Possible values are YES and NO. If left blank
-# NO is used.
-
-WARNINGS = YES
-
-# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
-# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
-# automatically be disabled.
-
-WARN_IF_UNDOCUMENTED = NO
-
-# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
-# potential errors in the documentation, such as not documenting some
-# parameters in a documented function, or documenting parameters that
-# don't exist or using markup commands wrongly.
-
-WARN_IF_DOC_ERROR = YES
-
-# The WARN_NO_PARAMDOC option can be enabled to get warnings for
-# functions that are documented, but have no documentation for their parameters
-# or return value. If set to NO (the default) doxygen will only warn about
-# wrong or incomplete parameter documentation, but not about the absence of
-# documentation.
-
-WARN_NO_PARAMDOC = YES
-
-# The WARN_FORMAT tag determines the format of the warning messages that
-# doxygen can produce. The string should contain the $file, $line, and $text
-# tags, which will be replaced by the file and line number from which the
-# warning originated and the warning text. Optionally the format may contain
-# $version, which will be replaced by the version of the file (if it could
-# be obtained via FILE_VERSION_FILTER)
-
-WARN_FORMAT = "$file:$line: $text"
-
-# The WARN_LOGFILE tag can be used to specify a file to which warning
-# and error messages should be written. If left blank the output is written
-# to stderr.
-
-WARN_LOGFILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-
-# The INPUT tag can be used to specify the files and/or directories that contain
-# documented source files. You may enter file names like "myfile.cpp" or
-# directories like "/usr/src/myproject". Separate the files or directories
-# with spaces.
-
-INPUT = cbind/include \
- cbind/src \
- forbind/src
-
-# This tag can be used to specify the character encoding of the source files
-# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
-# also the default input encoding. Doxygen uses libiconv (or the iconv built
-# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
-# the list of possible encodings.
-
-INPUT_ENCODING = UTF-8
-
-# If the value of the INPUT tag contains directories, you can use the
-# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank the following patterns are tested:
-# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
-# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
-# *.f90 *.f *.for *.vhd *.vhdl
-
-FILE_PATTERNS = *.c \
- *.h
-
-# The RECURSIVE tag can be used to turn specify whether or not subdirectories
-# should be searched for input files as well. Possible values are YES and NO.
-# If left blank NO is used.
-
-RECURSIVE = NO
-
-# The EXCLUDE tag can be used to specify files and/or directories that should
-# excluded from the INPUT source files. This way you can easily exclude a
-# subdirectory from a directory tree whose root is specified with the INPUT tag.
-
-EXCLUDE =
-
-# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
-# directories that are symbolic links (a Unix file system feature) are excluded
-# from the input.
-
-EXCLUDE_SYMLINKS = NO
-
-# If the value of the INPUT tag contains directories, you can use the
-# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
-# certain files from those directories. Note that the wildcards are matched
-# against the file with absolute path, so to exclude all test directories
-# for example use the pattern */test/*
-
-EXCLUDE_PATTERNS =
-
-# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
-# (namespaces, classes, functions, etc.) that should be excluded from the
-# output. The symbol name can be a fully qualified name, a word, or if the
-# wildcard * is used, a substring. Examples: ANamespace, AClass,
-# AClass::ANamespace, ANamespace::*Test
-
-EXCLUDE_SYMBOLS =
-
-# The EXAMPLE_PATH tag can be used to specify one or more files or
-# directories that contain example code fragments that are included (see
-# the \include command).
-
-EXAMPLE_PATH =
-
-# If the value of the EXAMPLE_PATH tag contains directories, you can use the
-# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-# and *.h) to filter out the source-files in the directories. If left
-# blank all files are included.
-
-EXAMPLE_PATTERNS =
-
-# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
-# searched for input files to be used with the \include or \dontinclude
-# commands irrespective of the value of the RECURSIVE tag.
-# Possible values are YES and NO. If left blank NO is used.
-
-EXAMPLE_RECURSIVE = NO
-
-# The IMAGE_PATH tag can be used to specify one or more files or
-# directories that contain image that are included in the documentation (see
-# the \image command).
-
-IMAGE_PATH =
-
-# The INPUT_FILTER tag can be used to specify a program that doxygen should
-# invoke to filter for each input file. Doxygen will invoke the filter program
-# by executing (via popen()) the command <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
-# input file. Doxygen will then use the output that the filter program writes
-# to standard output. If FILTER_PATTERNS is specified, this tag will be
-# ignored.
-
-INPUT_FILTER =
-
-# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
-# basis. Doxygen will compare the file name with each pattern and apply the
-# filter if there is a match. The filters are a list of the form:
-# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
-# info on how filters are used. If FILTER_PATTERNS is empty or if
-# non of the patterns match the file name, INPUT_FILTER is applied.
-
-FILTER_PATTERNS =
-
-# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
-# INPUT_FILTER) will be used to filter the input files when producing source
-# files to browse (i.e. when SOURCE_BROWSER is set to YES).
-
-FILTER_SOURCE_FILES = NO
-
-# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
-# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
-# and it is also possible to disable source filtering for a specific pattern
-# using *.ext= (so without naming a filter). This option only has effect when
-# FILTER_SOURCE_FILES is enabled.
-
-FILTER_SOURCE_PATTERNS =
-
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-
-# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
-# Note: To get rid of all source code in the generated output, make sure also
-# VERBATIM_HEADERS is set to NO.
-
-SOURCE_BROWSER = NO
-
-# Setting the INLINE_SOURCES tag to YES will include the body
-# of functions and classes directly in the documentation.
-
-INLINE_SOURCES = NO
-
-# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
-# doxygen to hide any special comment blocks from generated source code
-# fragments. Normal C and C++ comments will always remain visible.
-
-STRIP_CODE_COMMENTS = NO
-
-# If the REFERENCED_BY_RELATION tag is set to YES
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = NO
-
-# If the REFERENCES_RELATION tag is set to YES
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = NO
-
-# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
-# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
-# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
-# link to the source code. Otherwise they will link to the documentation.
-
-REFERENCES_LINK_SOURCE = YES
-
-# If the USE_HTAGS tag is set to YES then the references to source code
-# will point to the HTML generated by the htags(1) tool instead of doxygen
-# built-in source browser. The htags tool is part of GNU's global source
-# tagging system (see http://www.gnu.org/software/global/global.html). You
-# will need version 4.8.6 or higher.
-
-USE_HTAGS = NO
-
-# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
-# will generate a verbatim copy of the header file for each class for
-# which an include is specified. Set to NO to disable this.
-
-VERBATIM_HEADERS = YES
-
-#---------------------------------------------------------------------------
-# configuration options related to the alphabetical class index
-#---------------------------------------------------------------------------
-
-# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
-# of all compounds will be generated. Enable this if the project
-# contains a lot of classes, structs, unions or interfaces.
-
-ALPHABETICAL_INDEX = YES
-
-# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
-# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
-# in which this list will be split (can be a number in the range [1..20])
-
-COLS_IN_ALPHA_INDEX = 5
-
-# In case all classes in a project start with a common prefix, all
-# classes will be put under the same header in the alphabetical index.
-# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
-# should be ignored while generating the index headers.
-
-IGNORE_PREFIX = ex_
-
-#---------------------------------------------------------------------------
-# configuration options related to the HTML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
-# generate HTML output.
-
-GENERATE_HTML = YES
-
-# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `html' will be used as the default path.
-
-HTML_OUTPUT = html
-
-# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
-# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
-# doxygen will generate files with .html extension.
-
-HTML_FILE_EXTENSION = .html
-
-# The HTML_HEADER tag can be used to specify a personal HTML header for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard header.
-
-HTML_HEADER =
-
-# The HTML_FOOTER tag can be used to specify a personal HTML footer for
-# each generated HTML page. If it is left blank doxygen will generate a
-# standard footer.
-
-HTML_FOOTER =
-
-# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
-# style sheet that is used by each HTML page. It can be used to
-# fine-tune the look of the HTML output. If the tag is left blank doxygen
-# will generate a default style sheet. Note that doxygen will try to copy
-# the style sheet file to the HTML output directory, so don't put your own
-# stylesheet in the HTML output directory as well, or it will be erased!
-
-#HTML_STYLESHEET = customdoxygen.css
-
-# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
-# Doxygen will adjust the colors in the stylesheet and background images
-# according to this color. Hue is specified as an angle on a colorwheel,
-# see http://en.wikipedia.org/wiki/Hue for more information.
-# For instance the value 0 represents red, 60 is yellow, 120 is green,
-# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
-# The allowed range is 0 to 359.
-
-HTML_COLORSTYLE_HUE = 224
-
-# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
-# the colors in the HTML output. For a value of 0 the output will use
-# grayscales only. A value of 255 will produce the most vivid colors.
-
-HTML_COLORSTYLE_SAT = 93
-
-# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
-# the luminance component of the colors in the HTML output. Values below
-# 100 gradually make the output lighter, whereas values above 100 make
-# the output darker. The value divided by 100 is the actual gamma applied,
-# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
-# and 100 does not change the gamma.
-
-HTML_COLORSTYLE_GAMMA = 80
-
-# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
-# page will contain the date and time when the page was generated. Setting
-# this to NO can help when comparing the output of multiple runs.
-
-HTML_TIMESTAMP = YES
-
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS = YES
-
-# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
-# documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
-
-HTML_DYNAMIC_SECTIONS = NO
-
-# If the GENERATE_DOCSET tag is set to YES, additional index files
-# will be generated that can be used as input for Apple's Xcode 3
-# integrated development environment, introduced with OSX 10.5 (Leopard).
-# To create a documentation set, doxygen will generate a Makefile in the
-# HTML output directory. Running make will produce the docset in that
-# directory and running "make install" will install the docset in
-# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
-# it at startup.
-# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
-# for more information.
-
-GENERATE_DOCSET = NO
-
-# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
-# feed. A documentation feed provides an umbrella under which multiple
-# documentation sets from a single provider (such as a company or product suite)
-# can be grouped.
-
-DOCSET_FEEDNAME = "Doxygen generated docs"
-
-# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
-# should uniquely identify the documentation set bundle. This should be a
-# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
-# will append .docset to the name.
-
-DOCSET_BUNDLE_ID = org.doxygen.Project
-
-# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
-# the documentation publisher. This should be a reverse domain-name style
-# string, e.g. com.mycompany.MyDocSet.documentation.
-
-DOCSET_PUBLISHER_ID = org.doxygen.Publisher
-
-# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
-
-DOCSET_PUBLISHER_NAME = Publisher
-
-# If the GENERATE_HTMLHELP tag is set to YES, additional index files
-# will be generated that can be used as input for tools like the
-# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
-# of the generated HTML documentation.
-
-GENERATE_HTMLHELP = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
-# be used to specify the file name of the resulting .chm file. You
-# can add a path in front of the file if the result should not be
-# written to the html output directory.
-
-CHM_FILE =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
-# be used to specify the location (absolute path including file name) of
-# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
-# the HTML help compiler on the generated index.hhp.
-
-HHC_LOCATION =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
-# controls if a separate .chi index file is generated (YES) or that
-# it should be included in the master .chm file (NO).
-
-GENERATE_CHI = NO
-
-# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
-# is used to encode HtmlHelp index (hhk), content (hhc) and project file
-# content.
-
-CHM_INDEX_ENCODING =
-
-# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
-# controls whether a binary table of contents is generated (YES) or a
-# normal table of contents (NO) in the .chm file.
-
-BINARY_TOC = NO
-
-# The TOC_EXPAND flag can be set to YES to add extra items for group members
-# to the contents of the HTML help documentation and to the tree view.
-
-TOC_EXPAND = NO
-
-# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
-# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
-# that can be used as input for Qt's qhelpgenerator to generate a
-# Qt Compressed Help (.qch) of the generated HTML documentation.
-
-GENERATE_QHP = NO
-
-# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
-# be used to specify the file name of the resulting .qch file.
-# The path specified is relative to the HTML output folder.
-
-QCH_FILE =
-
-# The QHP_NAMESPACE tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#namespace
-
-QHP_NAMESPACE = org.doxygen.Project
-
-# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
-# Qt Help Project output. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#virtual-folders
-
-QHP_VIRTUAL_FOLDER = doc
-
-# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
-# add. For more information please see
-# http://doc.trolltech.com/qthelpproject.html#custom-filters
-
-QHP_CUST_FILTER_NAME =
-
-# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
-# custom filter to add. For more information please see
-# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
-# Qt Help Project / Custom Filters</a>.
-
-QHP_CUST_FILTER_ATTRS =
-
-# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
-# project's
-# filter section matches.
-# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
-# Qt Help Project / Filter Attributes</a>.
-
-QHP_SECT_FILTER_ATTRS =
-
-# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
-# be used to specify the location of Qt's qhelpgenerator.
-# If non-empty doxygen will try to run qhelpgenerator on the generated
-# .qhp file.
-
-QHG_LOCATION =
-
-# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
-# will be generated, which together with the HTML files, form an Eclipse help
-# plugin. To install this plugin and make it available under the help contents
-# menu in Eclipse, the contents of the directory containing the HTML and XML
-# files needs to be copied into the plugins directory of eclipse. The name of
-# the directory within the plugins directory should be the same as
-# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
-# the help appears.
-
-GENERATE_ECLIPSEHELP = NO
-
-# A unique identifier for the eclipse help plugin. When installing the plugin
-# the directory name containing the HTML and XML files should also have
-# this name.
-
-ECLIPSE_DOC_ID = org.doxygen.Project
-
-# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
-# top of each HTML page. The value NO (the default) enables the index and
-# the value YES disables it.
-
-DISABLE_INDEX = NO
-
-# This tag can be used to set the number of enum values (range [0,1..20])
-# that doxygen will group on one line in the generated HTML documentation.
-# Note that a value of 0 will completely suppress the enum values from
-# appearing in the overview section.
-
-ENUM_VALUES_PER_LINE = 4
-
-# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
-# structure should be generated to display hierarchical information.
-# If the tag value is set to YES, a side panel will be generated
-# containing a tree-like index structure (just like the one that
-# is generated for HTML Help). For this to work a browser that supports
-# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
-# Windows users are probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = YES
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES = NO
-
-# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
-# used to set the initial width (in pixels) of the frame in which the tree
-# is shown.
-
-TREEVIEW_WIDTH = 250
-
-# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
-# links to external symbols imported via tag files in a separate window.
-
-EXT_LINKS_IN_WINDOW = NO
-
-# Use this tag to change the font size of Latex formulas included
-# as images in the HTML documentation. The default is 10. Note that
-# when you change the font size after a successful doxygen run you need
-# to manually remove any form_*.png images from the HTML output directory
-# to force them to be regenerated.
-
-FORMULA_FONTSIZE = 10
-
-# Use the FORMULA_TRANPARENT tag to determine whether or not the images
-# generated for formulas are transparent PNGs. Transparent PNGs are
-# not supported properly for IE 6.0, but are supported on all modern browsers.
-# Note that when changing this option you need to delete any form_*.png files
-# in the HTML output before the changes have effect.
-
-FORMULA_TRANSPARENT = YES
-
-# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
-# (see http://www.mathjax.org) which uses client side Javascript for the
-# rendering instead of using prerendered bitmaps. Use this if you do not
-# have LaTeX installed or if you want to formulas look prettier in the HTML
-# output. When enabled you also need to install MathJax separately and
-# configure the path to it using the MATHJAX_RELPATH option.
-
-USE_MATHJAX = NO
-
-# When MathJax is enabled you need to specify the location relative to the
-# HTML output directory using the MATHJAX_RELPATH option. The destination
-# directory should contain the MathJax.js script. For instance, if the mathjax
-# directory is located at the same level as the HTML output directory, then
-# MATHJAX_RELPATH should be ../mathjax. The default value points to the
-# mathjax.org site, so you can quickly see the result without installing
-# MathJax, but it is strongly recommended to install a local copy of MathJax
-# before deployment.
-
-MATHJAX_RELPATH = http://www.mathjax.org/mathjax
-
-# When the SEARCHENGINE tag is enabled doxygen will generate a search box
-# for the HTML output. The underlying search engine uses javascript
-# and DHTML and should work on any modern browser. Note that when using
-# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
-# (GENERATE_DOCSET) there is already a search function so this one should
-# typically be disabled. For large projects the javascript based search engine
-# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
-
-SEARCHENGINE = YES
-
-# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
-# implemented using a PHP enabled web server instead of at the web client
-# using Javascript. Doxygen will generate the search PHP script and index
-# file to put on the web server. The advantage of the server
-# based approach is that it scales better to large projects and allows
-# full text search. The disadvantages are that it is more difficult to setup
-# and does not have live searching capabilities.
-
-SERVER_BASED_SEARCH = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
-# generate Latex output.
-
-GENERATE_LATEX = NO
-
-# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `latex' will be used as the default path.
-
-LATEX_OUTPUT = latex
-
-# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
-# invoked. If left blank `latex' will be used as the default command name.
-# Note that when enabling USE_PDFLATEX this option is only used for
-# generating bitmaps for formulas in the HTML output, but not in the
-# Makefile that is written to the output directory.
-
-LATEX_CMD_NAME = latex
-
-# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
-# generate index for LaTeX. If left blank `makeindex' will be used as the
-# default command name.
-
-MAKEINDEX_CMD_NAME = makeindex
-
-# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
-# LaTeX documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_LATEX = NO
-
-# The PAPER_TYPE tag can be used to set the paper type that is used
-# by the printer. Possible values are: a4, letter, legal and
-# executive. If left blank a4wide will be used.
-
-PAPER_TYPE = letter
-
-# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
-# packages that should be included in the LaTeX output.
-
-EXTRA_PACKAGES =
-
-# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
-# the generated latex document. The header should contain everything until
-# the first chapter. If it is left blank doxygen will generate a
-# standard header. Notice: only use this tag if you know what you are doing!
-
-LATEX_HEADER =
-
-# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
-# is prepared for conversion to pdf (using ps2pdf). The pdf file will
-# contain links (just like the HTML output) instead of page references
-# This makes the output suitable for online browsing using a pdf viewer.
-
-PDF_HYPERLINKS = YES
-
-# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
-# plain latex in the generated Makefile. Set this option to YES to get a
-# higher quality PDF documentation.
-
-USE_PDFLATEX = YES
-
-# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
-# command to the generated LaTeX files. This will instruct LaTeX to keep
-# running if errors occur, instead of asking the user for help.
-# This option is also used when generating formulas in HTML.
-
-LATEX_BATCHMODE = NO
-
-# If LATEX_HIDE_INDICES is set to YES then doxygen will not
-# include the index chapters (such as File Index, Compound Index, etc.)
-# in the output.
-
-LATEX_HIDE_INDICES = NO
-
-# If LATEX_SOURCE_CODE is set to YES then doxygen will include
-# source code with syntax highlighting in the LaTeX output.
-# Note that which sources are shown also depends on other settings
-# such as SOURCE_BROWSER.
-
-LATEX_SOURCE_CODE = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
-# The RTF output is optimized for Word 97 and may not look very pretty with
-# other RTF readers or editors.
-
-GENERATE_RTF = NO
-
-# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `rtf' will be used as the default path.
-
-RTF_OUTPUT = rtf
-
-# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
-# RTF documents. This may be useful for small projects and may help to
-# save some trees in general.
-
-COMPACT_RTF = NO
-
-# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
-# will contain hyperlink fields. The RTF file will
-# contain links (just like the HTML output) instead of page references.
-# This makes the output suitable for online browsing using WORD or other
-# programs which support those fields.
-# Note: wordpad (write) and others do not support links.
-
-RTF_HYPERLINKS = NO
-
-# Load stylesheet definitions from file. Syntax is similar to doxygen's
-# config file, i.e. a series of assignments. You only have to provide
-# replacements, missing definitions are set to their default value.
-
-RTF_STYLESHEET_FILE =
-
-# Set optional variables used in the generation of an rtf document.
-# Syntax is similar to doxygen's config file.
-
-RTF_EXTENSIONS_FILE =
-
-#---------------------------------------------------------------------------
-# configuration options related to the man page output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
-# generate man pages
-
-GENERATE_MAN = NO
-
-# The MAN_OUTPUT tag is used to specify where the man pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `man' will be used as the default path.
-
-MAN_OUTPUT = man
-
-# The MAN_EXTENSION tag determines the extension that is added to
-# the generated man pages (default is the subroutine's section .3)
-
-MAN_EXTENSION = .3
-
-# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
-# then it will generate one additional man file for each entity
-# documented in the real man page(s). These additional files
-# only source the real man page, but without them the man command
-# would be unable to find the correct page. The default is NO.
-
-MAN_LINKS = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the XML output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_XML tag is set to YES Doxygen will
-# generate an XML file that captures the structure of
-# the code including all documentation.
-
-GENERATE_XML = NO
-
-# The XML_OUTPUT tag is used to specify where the XML pages will be put.
-# If a relative path is entered the value of OUTPUT_DIRECTORY will be
-# put in front of it. If left blank `xml' will be used as the default path.
-
-XML_OUTPUT = xml
-
-# The XML_SCHEMA tag can be used to specify an XML schema,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_SCHEMA =
-
-# The XML_DTD tag can be used to specify an XML DTD,
-# which can be used by a validating XML parser to check the
-# syntax of the XML files.
-
-XML_DTD =
-
-# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
-# dump the program listings (including syntax highlighting
-# and cross-referencing information) to the XML output. Note that
-# enabling this will significantly increase the size of the XML output.
-
-XML_PROGRAMLISTING = YES
-
-#---------------------------------------------------------------------------
-# configuration options for the AutoGen Definitions output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
-# generate an AutoGen Definitions (see autogen.sf.net) file
-# that captures the structure of the code including all
-# documentation. Note that this feature is still experimental
-# and incomplete at the moment.
-
-GENERATE_AUTOGEN_DEF = NO
-
-#---------------------------------------------------------------------------
-# configuration options related to the Perl module output
-#---------------------------------------------------------------------------
-
-# If the GENERATE_PERLMOD tag is set to YES Doxygen will
-# generate a Perl module file that captures the structure of
-# the code including all documentation. Note that this
-# feature is still experimental and incomplete at the
-# moment.
-
-GENERATE_PERLMOD = NO
-
-# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
-# the necessary Makefile rules, Perl scripts and LaTeX code to be able
-# to generate PDF and DVI output from the Perl module output.
-
-PERLMOD_LATEX = NO
-
-# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
-# nicely formatted so it can be parsed by a human reader. This is useful
-# if you want to understand what is going on. On the other hand, if this
-# tag is set to NO the size of the Perl module output will be much smaller
-# and Perl will parse it just the same.
-
-PERLMOD_PRETTY = YES
-
-# The names of the make variables in the generated doxyrules.make file
-# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
-# This is useful so different doxyrules.make files included by the same
-# Makefile don't overwrite each other's variables.
-
-PERLMOD_MAKEVAR_PREFIX =
-
-#---------------------------------------------------------------------------
-# Configuration options related to the preprocessor
-#---------------------------------------------------------------------------
-
-# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
-# evaluate all C-preprocessor directives found in the sources and include
-# files.
-
-ENABLE_PREPROCESSING = YES
-
-# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
-# names in the source code. If set to NO (the default) only conditional
-# compilation will be performed. Macro expansion can be done in a controlled
-# way by setting EXPAND_ONLY_PREDEF to YES.
-
-MACRO_EXPANSION = YES
-
-# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
-# then the macro expansion is limited to the macros specified with the
-# PREDEFINED and EXPAND_AS_DEFINED tags.
-
-EXPAND_ONLY_PREDEF = YES
-
-# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
-# in the INCLUDE_PATH (see below) will be search if a #include is found.
-
-SEARCH_INCLUDES = YES
-
-# The INCLUDE_PATH tag can be used to specify one or more directories that
-# contain include files that are not input files but should be processed by
-# the preprocessor.
-
-INCLUDE_PATH =
-
-# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
-# patterns (like *.h and *.hpp) to filter out the header-files in the
-# directories. If left blank, the patterns specified with FILE_PATTERNS will
-# be used.
-
-INCLUDE_FILE_PATTERNS =
-
-# The PREDEFINED tag can be used to specify one or more macro names that
-# are defined before the preprocessor is started (similar to the -D option of
-# gcc). The argument of the tag is a list of macros of the form: name
-# or name=definition (no spaces). If the definition and the = are
-# omitted =1 is assumed. To prevent a macro definition from being
-# undefined via #undef or recursively expanded use the := operator
-# instead of the = operator.
-
-PREDEFINED =
-
-# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
-# this tag can be used to specify a list of macro names that should be expanded.
-# The macro definition that is found in the sources will be used.
-# Use the PREDEFINED tag if you want to use a different macro definition that
-# overrules the definition found in the source code.
-
-EXPAND_AS_DEFINED = EXODUS_EXPORT
-
-# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
-# doxygen's preprocessor will remove all references to function-like macros
-# that are alone on a line, have an all uppercase name, and do not end with a
-# semicolon, because these will confuse the parser if not removed.
-
-SKIP_FUNCTION_MACROS = YES
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to external references
-#---------------------------------------------------------------------------
-
-# The TAGFILES option can be used to specify one or more tagfiles.
-# Optionally an initial location of the external documentation
-# can be added for each tagfile. The format of a tag file without
-# this location is as follows:
-# TAGFILES = file1 file2 ...
-# Adding location for the tag files is done as follows:
-# TAGFILES = file1=loc1 "file2 = loc2" ...
-# where "loc1" and "loc2" can be relative or absolute paths or
-# URLs. If a location is present for each tag, the installdox tool
-# does not have to be run to correct the links.
-# Note that each tag file must have a unique name
-# (where the name does NOT include the path)
-# If a tag file is not located in the directory in which doxygen
-# is run, you must also specify the path to the tagfile here.
-
-TAGFILES =
-
-# When a file name is specified after GENERATE_TAGFILE, doxygen will create
-# a tag file that is based on the input files it reads.
-
-GENERATE_TAGFILE =
-
-# If the ALLEXTERNALS tag is set to YES all external classes will be listed
-# in the class index. If set to NO only the inherited external classes
-# will be listed.
-
-ALLEXTERNALS = NO
-
-# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
-# in the modules index. If set to NO, only the current project's groups will
-# be listed.
-
-EXTERNAL_GROUPS = YES
-
-# The PERL_PATH should be the absolute path and name of the perl script
-# interpreter (i.e. the result of `which perl').
-
-PERL_PATH = /usr/bin/perl
-
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-
-# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
-# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
-# or super classes. Setting the tag to NO turns the diagrams off. Note that
-# this option also works with HAVE_DOT disabled, but it is recommended to
-# install and use dot, since it yields more powerful graphs.
-
-CLASS_DIAGRAMS = NO
-
-# You can define message sequence charts within doxygen comments using the \msc
-# command. Doxygen will then run the mscgen tool (see
-# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
-# documentation. The MSCGEN_PATH tag allows you to specify the directory where
-# the mscgen tool resides. If left empty the tool is assumed to be found in the
-# default search path.
-
-MSCGEN_PATH =
-
-# If set to YES, the inheritance and collaboration graphs will hide
-# inheritance and usage relations if the target is undocumented
-# or is not a class.
-
-HIDE_UNDOC_RELATIONS = YES
-
-# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
-# available from the path. This tool is part of Graphviz, a graph visualization
-# toolkit from AT&T and Lucent Bell Labs. The other options in this section
-# have no effect if this option is set to NO (the default)
-
-HAVE_DOT = NO
-
-# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
-# allowed to run in parallel. When set to 0 (the default) doxygen will
-# base this on the number of processors available in the system. You can set it
-# explicitly to a value larger than 0 to get control over the balance
-# between CPU load and processing speed.
-
-DOT_NUM_THREADS = 0
-
-# By default doxygen will write a font called Helvetica to the output
-# directory and reference it in all dot files that doxygen generates.
-# When you want a differently looking font you can specify the font name
-# using DOT_FONTNAME. You need to make sure dot is able to find the font,
-# which can be done by putting it in a standard location or by setting the
-# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
-# containing the font.
-
-DOT_FONTNAME = Helvetica
-
-# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
-# The default size is 10pt.
-
-DOT_FONTSIZE = 10
-
-# By default doxygen will tell dot to use the output directory to look for the
-# FreeSans.ttf font (which doxygen will put there itself). If you specify a
-# different font using DOT_FONTNAME you can set the path where dot
-# can find it using this tag.
-
-DOT_FONTPATH =
-
-# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect inheritance relations. Setting this tag to YES will force the
-# the CLASS_DIAGRAMS tag to NO.
-
-CLASS_GRAPH = NO
-
-# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for each documented class showing the direct and
-# indirect implementation dependencies (inheritance, containment, and
-# class references variables) of the class with other documented classes.
-
-COLLABORATION_GRAPH = NO
-
-# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
-# will generate a graph for groups, showing the direct groups dependencies
-
-GROUP_GRAPHS = YES
-
-# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
-# collaboration diagrams in a style similar to the OMG's Unified Modeling
-# Language.
-
-UML_LOOK = NO
-
-# If set to YES, the inheritance and collaboration graphs will show the
-# relations between templates and their instances.
-
-TEMPLATE_RELATIONS = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
-# tags are set to YES then doxygen will generate a graph for each documented
-# file showing the direct and indirect include dependencies of the file with
-# other documented files.
-
-INCLUDE_GRAPH = NO
-
-# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
-# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
-# documented header file showing the documented files that directly or
-# indirectly include this file.
-
-INCLUDED_BY_GRAPH = NO
-
-# If the CALL_GRAPH and HAVE_DOT options are set to YES then
-# doxygen will generate a call dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable call graphs
-# for selected functions only using the \callgraph command.
-
-CALL_GRAPH = NO
-
-# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
-# doxygen will generate a caller dependency graph for every global function
-# or class method. Note that enabling this option will significantly increase
-# the time of a run. So in most cases it will be better to enable caller
-# graphs for selected functions only using the \callergraph command.
-
-CALLER_GRAPH = NO
-
-# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
-# will generate a graphical hierarchy of all classes instead of a textual one.
-
-GRAPHICAL_HIERARCHY = NO
-
-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
-# then doxygen will show the dependencies a directory has on other directories
-# in a graphical way. The dependency relations are determined by the #include
-# relations between the files in the directories.
-
-DIRECTORY_GRAPH = YES
-
-# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
-# generated by dot. Possible values are png, svg, gif or svg.
-# If left blank png will be used.
-
-DOT_IMAGE_FORMAT = gif
-
-# The tag DOT_PATH can be used to specify the path where the dot tool can be
-# found. If left blank, it is assumed the dot tool can be found in the path.
-
-DOT_PATH = /opt/local/bin
-
-# The DOTFILE_DIRS tag can be used to specify one or more directories that
-# contain dot files that are included in the documentation (see the
-# \dotfile command).
-
-DOTFILE_DIRS =
-
-# The MSCFILE_DIRS tag can be used to specify one or more directories that
-# contain msc files that are included in the documentation (see the
-# \mscfile command).
-
-MSCFILE_DIRS =
-
-# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
-# nodes that will be shown in the graph. If the number of nodes in a graph
-# becomes larger than this value, doxygen will truncate the graph, which is
-# visualized by representing a node as a red box. Note that doxygen if the
-# number of direct children of the root node in a graph is already larger than
-# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
-# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
-
-DOT_GRAPH_MAX_NODES = 50
-
-# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
-# graphs generated by dot. A depth value of 3 means that only nodes reachable
-# from the root by following a path via at most 3 edges will be shown. Nodes
-# that lay further from the root node will be omitted. Note that setting this
-# option to 1 or 2 may greatly reduce the computation time needed for large
-# code bases. Also note that the size of a graph can be further restricted by
-# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, because dot on Windows does not
-# seem to support this out of the box. Warning: Depending on the platform used,
-# enabling this option may lead to badly anti-aliased labels on the edges of
-# a graph (i.e. they become hard to read).
-
-DOT_TRANSPARENT = NO
-
-# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
-# files in one run (i.e. multiple -o and -T options on the command line). This
-# makes dot run faster, but since only newer versions of dot (>1.8.10)
-# support this, this feature is disabled by default.
-
-DOT_MULTI_TARGETS = NO
-
-# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
-# generate a legend page explaining the meaning of the various boxes and
-# arrows in the dot generated graphs.
-
-GENERATE_LEGEND = YES
-
-# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
-# remove the intermediate dot files that are used to generate
-# the various graphs.
-
-DOT_CLEANUP = YES
diff --git a/Imakefile b/Imakefile
deleted file mode 100644
index 62d67cc..0000000
--- a/Imakefile
+++ /dev/null
@@ -1,111 +0,0 @@
-XCOMM Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-XCOMM DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-XCOMM retains certain rights in this software.
-XCOMM
-XCOMM Redistribution and use in source and binary forms, with or without
-XCOMM modification, are permitted provided that the following conditions are
-XCOMM met:
-XCOMM
-XCOMM * Redistributions of source code must retain the above copyright
-XCOMM notice, this list of conditions and the following disclaimer.
-XCOMM
-XCOMM * Redistributions in binary form must reproduce the above
-XCOMM copyright notice, this list of conditions and the following
-XCOMM disclaimer in the documentation and/or other materials provided
-XCOMM with the distribution.
-XCOMM
-XCOMM * Neither the name of Sandia Corporation nor the names of its
-XCOMM contributors may be used to endorse or promote products derived
-XCOMM from this software without specific prior written permission.
-XCOMM
-XCOMM THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-XCOMM "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-XCOMM LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-XCOMM A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-XCOMM OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-XCOMM SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-XCOMM LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-XCOMM DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-XCOMM THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-XCOMM (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-XCOMM OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-XCOMM
-
-XCOMM Imakefile for ExodusII libraries
-XCOMM Building ExodusII libraries for installation
-/* Building ExodusII libraries for installation
- * % accmkmf
- * % make Makefiles
- * % make
- *
- * Building ExodusII libraries for debugging
- * % accmkmf
- * % make Makefiles
- * % make DEBUG=-g
- *
- */
-
-#define IHaveSubdirs
-
-#define PassDebugFlags "DEBUG=$(DEBUG)" \
- "CDEBUGFLAGS=$(CDEBUGFLAGS)" \
- "CXXDEBUGFLAGS=$(CXXDEBUGFLAGS)" \
- "F90DEBUGFLAGS=$(F90DEBUGFLAGS)" \
- "F77DEBUGFLAGS=$(F77DEBUGFLAGS)"
-
-#define ExtraOptions "CCOPTIONS=$(CCOPTIONS)"
-
-#ifdef PARALLEL
-CCOPTIONS = ParallelCCOptions
-F77OPTIONS = ParallelF77Options
-LIBDIR = $(PLIBDIR)
-#endif
-
-INCLIST1 = exodusII.h exodusII_int.h
-INCLIST2 = exodusII_int.inc exodusII.inc
-
-SUBDIRS = cbind/include cbind/src forbind/include forbind/src cbind/test forbind/test
-
-#if Build64BitAccess == YES
-AllTarget(libexodus.a libexoIIv2for.a libexoIIv2for32.a)
-#else
-AllTarget(libexodus.a libexoIIv2for.a)
-#endif
-
-InstallSubdirIncludeList(makeincludes,cbind/include,$(INCLIST1),$(INCDIR))
-
-InstallSubdirIncludeList(makeincludes,forbind/include,$(INCLIST2),$(INCDIR))
-
-/* Directory for exodusII c library */
-NamedTargetSubdirs(libexodus.a,cbind/src,"making exodus ",PassDebugFlags ExtraOptions,all)
-
-/* Directory for exodusII fortran wrappers */
-NamedTargetSubdirs(libexoIIv2for.a,forbind/src,"making exoIIv2for ",PassDebugFlags ExtraOptions,libexoIIv2for.a)
-
-#if Build64BitAccess == YES
-NamedTargetSubdirs(libexoIIv2for32.a,forbind/src,"making exoIIv2for32 ",PassDebugFlags ExtraOptions,libexoIIv2for32.a)
-#endif
-
-InstallLibrary(exodus,$(LIBDIR))
-InstallLibrary(exoIIv2for,$(LIBDIR))
-InstallLibraryAlias(exodus,exoIIv2c,$(LIBDIR))
-
-#if Build64BitAccess == YES
-InstallLibrary(exoIIv2for32,$(LIBDIR))
-#endif
-
-#if Parallel
-InstallParallelLibrary(exodus,$(PLIBDIR))
-InstallParallelLibrary(exoIIv2for,$(PLIBDIR))
-
-#if Build64BitAccess == YES
-InstallParallelLibrary(exoIIv2for32,$(PLIBDIR))
-#endif
-
-#endif
-check: test
-test:: libexodus.a libexoIIv2for.a
-
-NamedMakeSubdirs(test,cbind/test)
-NamedMakeSubdirs(test,forbind/test)
-DependSubdirs($(SUBDIRS))
diff --git a/Makefile.standalone b/Makefile.standalone
deleted file mode 100644
index e9bc079..0000000
--- a/Makefile.standalone
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-#========================================================================
-# A platform must define:
-#
-# CC == the C compiler
-# FC == the Fortran compiler
-# CCOPTIONS == non-optimization related flags for C compiling on this platform
-# F77OPTIONS == non-optimization related flags for Fortran compiling on this platform
-# RANLIB == ranlib or 'true' if no ranlib
-# AR == command to build an archive library.
-#
-#========================================================================
-
-SYSTEM := $(shell uname)
-
-# Set this to yes if your netcdf is compiled with the netcdf4 extensions
-# which require linking with hdf5. It is assumed that the netcdf and hdf5
-# library and include paths are the same.
-
-#========================================================================
-# Netcdf
-#========================================================================
-USING_NETCDF4 = "YES"
-
-NETCDF = /Users/gdsjaar/src/SEACAS
-NETCDF_INC = -I$(NETCDF)/include
-NETCDF_LIB = -L$(NETCDF)/lib -lnetcdf
-NCDUMP = ${NETCDF}/bin/ncdump
-
-ifeq ($(USING_NETCDF4), "YES")
-LDFLAGS = -L$(NETCDF)/lib -lnetcdf -lhdf5_hl -lhdf5 -lm -lz
-else
-NETCDF_YES_NO = -DNOT_NETCDF4
-LDFLAGS = -L$(NETCDF)/lib -lnetcdf
-endif
-
-#========================================================================
-# Darwin (Apple OSX)
-#========================================================================
-ifeq ($(SYSTEM),Darwin)
-RANLIB = ranlib
-
-AR = ar -crsv
-CC = /opt/local/bin/gcc-mp-4.8
-FC = /opt/local/bin/gfortran-mp-4.8
-CCOPTIONS = -DADDC_
-F77OPTIONS =
-endif
-#========================================================================
-
-#========================================================================
-# Linux
-#========================================================================
-ifeq ($(SYSTEM),Linux)
-
-# Default Compiler:
-COMPILER = GNU
-
-RANLIB = ranlib
-
-AR = ar -rcv
-
-ifeq ($(COMPILER),Portland)
-CC = pgcc
-FC = pgf77
-CCOPTIONS = -Mframe
-F77OPTIONS = -fast
-endif
-
-ifeq ($(COMPILER),Intel)
-CC = icc
-FC = ifort
-CCOPTIONS = -Xc
-endif
-
-ifeq ($(COMPILER),GNU)
-CC = gcc
-FC = gfortran
-CCOPTIONS = -O2 -Wall
-F77OPTIONS = -O2
-endif
-
-endif
-
-#========================================================================
-# SUN
-#========================================================================
-ifeq ($(SYSTEM),SunOS)
-RANLIB = ranlib
-
-AR = CC -xar -o
-
-ifeq ($(COMPILER),GNU)
-CC = gcc
-FC = gfortran
-CCOPTIONS = -Wall
-else
-CC = cc
-FC = f77
-CCOPTIONS = -xtarget=ultra2 -xarch=v9 -g -ftrap=common -Xc
-F77OPTIONS = -xtarget=ultra2 -xarch=v9 -g -ftrap=common -errtags=INVOKE -C
-endif
-endif
-
-#========================================================================
-# SGI
-#========================================================================
-ifeq ($(SYSTEM),IRIX64)
-RANLIB = true
-
-AR = ar -rcv
-CC = cc
-FC = f77
-CCOPTIONS = -64 -LANG:std
-F77OPTIONS = -64
-F77PREC = -DBuild64 -r8 -i8
-endif
-
-#========================================================================
-# IBM
-#========================================================================
-ifeq ($(SYSTEM),AIX)
-RANLIB = ranlib
-
-AR = ar -rcv -X64
-CC = xlc
-FC = xlf
-CCOPTIONS = -q64 -w
-F77OPTIONS = -q64 -w
-F77PREC = -WF,-DBuild64 -qintsize=8 -qrealsize=8
-LDFLAGS = -bmaxdata:0x06FFFFFFFFFFFFF8 -bmaxstack:0x10000000
-endif
-
-#========================================================================
-
-#========================================================================
-# TFLOP
-#========================================================================
-ifeq ($(SYSTEM),TFLOP)
-RANLIB = ranlib
-
-AR = xar -rcv
-CC = icc
-FC = if77
-CCOPTIONS = -DPUMAGON -cougar
-F77OPTIONS = -cougar
-endif
-
-#========================================================================
-
-#========================================================================
-# OSF (DEC Alpha)
-#========================================================================
-ifeq ($(SYSTEM),OSF1)
-RANLIB = ranlib
-
-AR = ar -crsv
-CC = cc
-FC = f77
-CCOPTIONS = -std
-endif
-#========================================================================
-
-
-OPTIMIZE_FLAG = -O2
-STD_DEFINES = -DVERBOSE
-
-
-CFLAGS = $(OPTIMIZE_FLAG) $(CCOPTIONS) $(STD_DEFINES) $(LOC_EXOII_INC) $(NETCDF_INC) $(NETCDF_YES_NO)
-FFLAGS = $(OPTIMIZE_FLAG) $(F77OPTIONS) $(LOC_EXOII_INC) $(F77PREC)
-
-# Use include files locates in exodusii/cbind/include
-LOC_EXOII_INC = -I../../cbind/include -I../../forbind/include
-
-
-
-SUBDIRS = cbind/src forbind/src cbind/test forbind/test
-
-all:: libexodus.a libexoIIv2for.a
-
-libexodus.a::
- echo "making exodus in cbind/src"
- (cd cbind/src && $(MAKE) $(MFLAGS) -f Makefile.standalone "AR=$(AR)" "CC=$(CC)" "CFLAGS=$(CFLAGS)" "RANLIB=$(RANLIB)" libexodus.a)
- cp cbind/src/libexodus.a .
- $(RANLIB) libexodus.a
-
-libexoIIv2for.a::
- echo "making exoIIv2for in forbind/src"
- (cd forbind/src && $(MAKE) $(MFLAGS) -f Makefile.standalone "AR=$(AR)" "CC=$(CC)" "CFLAGS=$(CFLAGS)" "FC=$(FC)" "FFLAGS=$(FFLAGS)" "RANLIB=$(RANLIB)" "SYSTEM=$(SYSTEM)" libexoIIv2for.a)
- cp forbind/src/libexoIIv2for.a .
- $(RANLIB) libexoIIv2for.a
-
-check: test
-test:: libexodus.a libexoIIv2for.a
-
-test::
- echo "making test in cbind/test"
- (cd cbind/test && $(MAKE) $(MFLAGS) -f Makefile.standalone "AR=$(AR)" "CC=$(CC)" "CFLAGS=$(CFLAGS)" "LDFLAGS=$(LDFLAGS)" "RANLIB=$(RANLIB)" "NCDUMP=$(NCDUMP)" all)
-
-test::
- echo "making test in forbind/test"
- (cd forbind/test && $(MAKE) $(MFLAGS) -f Makefile.standalone "AR=$(AR)" "CC=$(CC)" "CFLAGS=$(CFLAGS)" "FC=$(FC)" "FFLAGS=$(FFLAGS)" "LDFLAGS=$(LDFLAGS)" "RANLIB=$(RANLIB)" "NCDUMP=$(NCDUMP)" all)
-
-clean::
- @for flag in $(MAKEFLAGS) ''; do \
- case "$$flag" in *=*) ;; *[ik]*) set +e;; esac; done; \
- for i in $(SUBDIRS) ;\
- do \
- if test -d $$i; then \
- echo "cleaning" "in $(CURRENT_DIR)/$$i..."; \
- (cd $$i && $(MAKE) -f Makefile.standalone $(MFLAGS) clean); \
- fi; \
- done
-
diff --git a/README b/README
deleted file mode 100644
index 514391d..0000000
--- a/README
+++ /dev/null
@@ -1,84 +0,0 @@
-========================================================================
-CONTACT:
-
-Greg Sjaardema,
-Sandia National Laboratories,
-gdsjaar at sandia.gov
-
-========================================================================
-LICENSE:
-The Exodus library is licensed under the terms of the BSD License.
-
-Legal stuff (copyright, licensing restrictions, etc.) can be found in
-the file COPYRIGHT which contains:
-
-1. The Sandia Corporation Copyright Notice.
-2. The BSD License.
-
-We appreciate feedback from users of this package. Please send
-comments, suggestions, and bug reports to Greg Sjaardema
-<gdsjaar at sandia.gov>.
-
-Please identify the version of the package.
-
-========================================================================
-BUILDING
-
-There are 4 methods for building exodus.
-
-1. SEAMS/SEACAS Build system which is based on imake. If you have a
-SEAMS or SEACAS installation, you can use its build system. In the
-top-level exodus directory, do 'accmkmf' followed by 'make
-Makefiles' and then 'make'
-
-2. CMAKE: type 'cmake .' or 'cmake -i' to generate the Makefiles
-followed by 'make'. There is a cmake-script file which shows how I configure
-cmake.
-
-3. Makefile.standalone. Edit the top-level Makefile.standalone file
-and specify the compiler and other options as detailed in the
-file. Then, do "make -f Makefile.standalone".
-
-4. Building in the Trilinos system as part of the seacas package.
-See the Trilinos documentation for more details.
-
-Once you have built the library, you can test it by typing "make
-check"
-
-
-========================================================================
-NETCDF
-
-The exodus library uses the netcdf library for low-level data
-storage.
-
-Exodus requires NetCDF version 4.2.1.1 or later.
-
-The netcdf library must be modified slightly in order to handle the
-exodus datamodel. The specific changes are:
-
-1. include/netcdf.h -- Modify the following defines:
-
-#define NC_MAX_DIMS 65536 /* max dimensions per file */
-#define NC_MAX_VARS 524288 /* max variables per file */
-#define NC_MAX_VAR_DIMS 8 /* max per variable dimensions */
-
-If these changes are not made, the exodus library will still function
-for "normal" size models, but it will fail for "large" models. The
-error message from exodus/netcdf should be somewhat clear when this
-happens...
-
-2. I typically configure netcdf as follows:
-
-./configure --enable-netcdf-4 --disable-fsync --disable-dap --disable-cdmremote
-
-Replace "--enable-netcdf-4" with "--disable-netcdf-4" to not use the
-netcdf4 extensions. They are not necessarily needed for exodus, but
-will provide compression, larger model sizes, and may be faster in
-some cases.
-
-3. When running the netcdf tests, you may have to do "unlimit
-stacksize" (csh/tcsh) to avoid some failures due to the increased define sizes
-above.
-
-========================================================================
diff --git a/cbind/CMakeLists.txt b/cbind/CMakeLists.txt
deleted file mode 100644
index 083891f..0000000
--- a/cbind/CMakeLists.txt
+++ /dev/null
@@ -1,309 +0,0 @@
-
-INCLUDE(CheckIncludeFile)
-CHECK_INCLUDE_FILE( malloc.h EX_HAVE_MALLOC_H )
-
-CONFIGURE_FILE(
- ${CMAKE_CURRENT_SOURCE_DIR}/include/exodusII_cfg.h.in
- ${CMAKE_CURRENT_BINARY_DIR}/include/exodusII_cfg.h
- @ONLY IMMEDIATE)
-
-INCLUDE_DIRECTORIES(
- "${CMAKE_CURRENT_SOURCE_DIR}/include"
- "${CMAKE_CURRENT_BINARY_DIR}/include"
- "${NETCDF_INCLUDE_DIR}"
-)
-
-SET(cbind_SRCS
- src/ex_close.c
- src/ex_conv.c
- src/ex_copy.c
- src/ex_create.c
- src/ex_cvt_nodes_to_sides.c
- src/ex_err.c
- src/ex_get_all_times.c
- src/ex_get_attr.c
- src/ex_get_attr_names.c
- src/ex_get_attr_param.c
- src/ex_get_block.c
- src/ex_get_block_param.c
- src/ex_get_cmap_params.c
- src/ex_get_concat_node_sets.c
- src/ex_get_concat_sets.c
- src/ex_get_concat_side_set_node_count.c
- src/ex_get_concat_side_sets.c
- src/ex_get_conn.c
- src/ex_get_coord.c
- src/ex_get_coord_names.c
- src/ex_get_coordinate_frames.c
- src/ex_get_eb_info_global.c
- src/ex_get_elem_attr.c
- src/ex_get_elem_attr_names.c
- src/ex_get_elem_blk_ids.c
- src/ex_get_elem_block.c
- src/ex_get_elem_cmap.c
- src/ex_get_elem_conn.c
- src/ex_get_elem_map.c
- src/ex_get_elem_num_map.c
- src/ex_get_elem_type.c
- src/ex_get_elem_var.c
- src/ex_get_elem_var_tab.c
- src/ex_get_elem_var_time.c
- src/ex_get_entity_count_per_polyhedra.c
- src/ex_get_glob_var_time.c
- src/ex_get_glob_vars.c
- src/ex_get_id_map.c
- src/ex_get_ids.c
- src/ex_get_info.c
- src/ex_get_init.c
- src/ex_get_init_ext.c
- src/ex_get_init_global.c
- src/ex_get_init_info.c
- src/ex_get_loadbal_param.c
- src/ex_get_map.c
- src/ex_get_map_param.c
- src/ex_get_n_attr.c
- src/ex_get_n_conn.c
- src/ex_get_n_coord.c
- src/ex_get_n_elem_attr.c
- src/ex_get_n_elem_conn.c
- src/ex_get_n_elem_num_map.c
- src/ex_get_n_elem_var.c
- src/ex_get_n_nodal_var.c
- src/ex_get_n_node_num_map.c
- src/ex_get_n_node_set.c
- src/ex_get_n_node_set_df.c
- src/ex_get_n_one_attr.c
- src/ex_get_n_side_set.c
- src/ex_get_n_side_set_df.c
- src/ex_get_n_var.c
- src/ex_get_name.c
- src/ex_get_names.c
- src/ex_get_nodal_var.c
- src/ex_get_nodal_var_time.c
- src/ex_get_node_cmap.c
- src/ex_get_node_map.c
- src/ex_get_node_num_map.c
- src/ex_get_node_set.c
- src/ex_get_node_set_dist_fact.c
- src/ex_get_node_set_ids.c
- src/ex_get_node_set_param.c
- src/ex_get_ns_param_global.c
- src/ex_get_nset_var.c
- src/ex_get_nset_var_tab.c
- src/ex_get_num_map.c
- src/ex_get_object_truth_vector.c
- src/ex_get_one_attr.c
- src/ex_get_one_elem_attr.c
- src/ex_get_partial_attr.c
- src/ex_get_partial_conn.c
- src/ex_get_partial_coord.c
- src/ex_get_partial_elem_attr.c
- src/ex_get_partial_elem_conn.c
- src/ex_get_partial_elem_map.c
- src/ex_get_partial_elem_num_map.c
- src/ex_get_partial_elem_var.c
- src/ex_get_partial_id_map.c
- src/ex_get_partial_nodal_var.c
- src/ex_get_partial_node_num_map.c
- src/ex_get_partial_node_set.c
- src/ex_get_partial_node_set_df.c
- src/ex_get_partial_num_map.c
- src/ex_get_partial_one_attr.c
- src/ex_get_partial_set_dist_fact.c
- src/ex_get_partial_side_set.c
- src/ex_get_partial_side_set_df.c
- src/ex_get_partial_var.c
- src/ex_get_processor_elem_maps.c
- src/ex_get_processor_node_maps.c
- src/ex_get_prop.c
- src/ex_get_prop_array.c
- src/ex_get_prop_names.c
- src/ex_get_qa.c
- src/ex_get_set.c
- src/ex_get_set_dist_fact.c
- src/ex_get_set_param.c
- src/ex_get_sets.c
- src/ex_get_side_set.c
- src/ex_get_side_set_dist_fact.c
- src/ex_get_side_set_ids.c
- src/ex_get_side_set_node_count.c
- src/ex_get_side_set_node_list.c
- src/ex_get_side_set_node_list_len.c
- src/ex_get_side_set_param.c
- src/ex_get_ss_param_global.c
- src/ex_get_sset_var.c
- src/ex_get_sset_var_tab.c
- src/ex_get_time.c
- src/ex_get_truth_table.c
- src/ex_get_var.c
- src/ex_get_var_name.c
- src/ex_get_var_names.c
- src/ex_get_var_param.c
- src/ex_get_var_tab.c
- src/ex_get_var_time.c
- src/ex_get_variable_name.c
- src/ex_get_variable_names.c
- src/ex_get_variable_param.c
- src/ex_inquire.c
- src/ex_ne_util.c
- src/ex_open.c
- src/ex_opts.c
- src/ex_put_all_var_param.c
- src/ex_put_all_var_param_ext.c
- src/ex_put_attr.c
- src/ex_put_attr_names.c
- src/ex_put_attr_param.c
- src/ex_put_block.c
- src/ex_put_block_param.c
- src/ex_put_cmap_params.c
- src/ex_put_cmap_params_cc.c
- src/ex_put_concat_all_blocks.c
- src/ex_put_concat_elem_block.c
- src/ex_put_concat_node_sets.c
- src/ex_put_concat_sets.c
- src/ex_put_concat_side_sets.c
- src/ex_put_concat_var_param.c
- src/ex_put_conn.c
- src/ex_put_coord.c
- src/ex_put_coord_names.c
- src/ex_put_coordinate_frames.c
- src/ex_put_eb_info_global.c
- src/ex_put_elem_attr.c
- src/ex_put_elem_attr_names.c
- src/ex_put_elem_block.c
- src/ex_put_elem_cmap.c
- src/ex_put_elem_conn.c
- src/ex_put_elem_map.c
- src/ex_put_elem_num_map.c
- src/ex_put_elem_var.c
- src/ex_put_elem_var_slab.c
- src/ex_put_elem_var_tab.c
- src/ex_put_entity_count_per_polyhedra.c
- src/ex_put_glob_vars.c
- src/ex_put_id_map.c
- src/ex_put_info.c
- src/ex_put_init.c
- src/ex_put_init_ext.c
- src/ex_put_init_global.c
- src/ex_put_init_info.c
- src/ex_put_loadbal_param.c
- src/ex_put_loadbal_param_cc.c
- src/ex_put_map.c
- src/ex_put_map_param.c
- src/ex_put_n_attr.c
- src/ex_put_n_coord.c
- src/ex_put_n_elem_attr.c
- src/ex_put_n_elem_conn.c
- src/ex_put_n_elem_num_map.c
- src/ex_put_n_nodal_var.c
- src/ex_put_n_node_num_map.c
- src/ex_put_n_node_set.c
- src/ex_put_n_node_set_df.c
- src/ex_put_n_one_attr.c
- src/ex_put_n_side_set.c
- src/ex_put_n_side_set_df.c
- src/ex_put_n_var.c
- src/ex_put_name.c
- src/ex_put_names.c
- src/ex_put_nodal_var.c
- src/ex_put_nodal_var_slab.c
- src/ex_put_node_cmap.c
- src/ex_put_node_map.c
- src/ex_put_node_num_map.c
- src/ex_put_node_set.c
- src/ex_put_node_set_dist_fact.c
- src/ex_put_node_set_param.c
- src/ex_put_ns_param_global.c
- src/ex_put_nset_var.c
- src/ex_put_nset_var_tab.c
- src/ex_put_num_map.c
- src/ex_put_one_attr.c
- src/ex_put_one_elem_attr.c
- src/ex_put_partial_attr.c
- src/ex_put_partial_coord.c
- src/ex_put_partial_elem_attr.c
- src/ex_put_partial_elem_conn.c
- src/ex_put_partial_elem_map.c
- src/ex_put_partial_elem_num_map.c
- src/ex_put_partial_id_map.c
- src/ex_put_partial_nodal_var.c
- src/ex_put_partial_node_num_map.c
- src/ex_put_partial_node_set.c
- src/ex_put_partial_node_set_df.c
- src/ex_put_partial_num_map.c
- src/ex_put_partial_one_attr.c
- src/ex_put_partial_set.c
- src/ex_put_partial_set_dist_fact.c
- src/ex_put_partial_side_set.c
- src/ex_put_partial_side_set_df.c
- src/ex_put_partial_var.c
- src/ex_put_processor_elem_maps.c
- src/ex_put_processor_node_maps.c
- src/ex_put_prop.c
- src/ex_put_prop_array.c
- src/ex_put_prop_names.c
- src/ex_put_qa.c
- src/ex_put_set.c
- src/ex_put_set_dist_fact.c
- src/ex_put_set_param.c
- src/ex_put_sets.c
- src/ex_put_side_set.c
- src/ex_put_side_set_dist_fact.c
- src/ex_put_side_set_param.c
- src/ex_put_ss_param_global.c
- src/ex_put_sset_var.c
- src/ex_put_sset_var_tab.c
- src/ex_put_time.c
- src/ex_put_truth_table.c
- src/ex_put_var.c
- src/ex_put_var_name.c
- src/ex_put_var_names.c
- src/ex_put_var_param.c
- src/ex_put_var_tab.c
- src/ex_put_variable_name.c
- src/ex_put_variable_names.c
- src/ex_put_variable_param.c
- src/ex_update.c
- src/ex_utils.c
-)
-
-SET(cbind_HEADERS
- include/exodusII.h
- include/exodusII_int.h
-)
-
-IF(APPLE)
- SET_SOURCE_FILES_PROPERTIES(
- src/ex_utils.c
- PROPERTIES
- COMPILE_FLAGS -fno-common)
-ENDIF(APPLE)
-
-ADD_LIBRARY(exoIIv2c ${EXODUS_LIBRARY_TYPE} ${cbind_SRCS})
-
-TARGET_LINK_LIBRARIES(exoIIv2c ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ${HDF5HL_LIBRARY} ${ZLIB_LIBRARY})
-
-IF(MSVC)
- set_target_properties(exoIIv2c PROPERTIES COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS)
-ENDIF(MSVC)
-
-IF(EXODUS_LIBRARY_PROPERTIES)
- SET_TARGET_PROPERTIES(exoIIv2c PROPERTIES ${EXODUS_LIBRARY_PROPERTIES})
-ENDIF(EXODUS_LIBRARY_PROPERTIES)
-
-IF(NOT EXODUS_INSTALL_NO_LIBRARIES)
- INSTALL(TARGETS exoIIv2c
- RUNTIME DESTINATION lib COMPONENT Runtime
- LIBRARY DESTINATION lib COMPONENT Runtime
- ARCHIVE DESTINATION lib COMPONENT Development)
- INSTALL(FILES ${cbind_HEADERS} DESTINATION include COMPONENT Development)
-ENDIF(NOT EXODUS_INSTALL_NO_LIBRARIES)
-
-
-INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
-
-IF (BUILD_TESTING)
- ENABLE_TESTING()
- SUBDIRS(test)
-ENDIF (BUILD_TESTING)
-
diff --git a/cbind/include/Imakefile b/cbind/include/Imakefile
deleted file mode 100644
index 656d053..0000000
--- a/cbind/include/Imakefile
+++ /dev/null
@@ -1,8 +0,0 @@
-
-INCLIST=exodusII.h exodusII_int.h
-InstallIncludeList(install,$(INCLIST),$(INCDIR))
-
-#if defined(BuildParallelAwareExodus)
-INCLISTP=exodusII_par.h
-InstallIncludeList(install,$(INCLISTP),$(INCDIR))
-#endif
diff --git a/cbind/include/doxygen.h b/cbind/include/doxygen.h
deleted file mode 100644
index 0098837..0000000
--- a/cbind/include/doxygen.h
+++ /dev/null
@@ -1,286 +0,0 @@
-/*! \mainpage ExodusII API Documentation
-
-\section intro Introduction
-
-EXODUS is the successor of the widely used finite element (FE) data file format EXODUS
-(henceforth referred to as EXODUS I) developed by Mills-Curran and Flanagan. It
-continues the concept of a common database for multiple application codes (mesh generators,
-analysis codes, visualization software, etc.) rather than code-specific utilities, affording
-flexibility and robustness for both the application code developer and application code user.
-By using the EXODUS data model, a user inherits the flexibility of using a large array of
-application codes (including vendor-supplied codes) which access this common data file
-directly or via translators.
-
-The uses of the EXODUS data model include the following:
- - Problem definition -- mesh generation, specification of locations of boundary conditions and load application, specification of material types.
- - Simulation -- model input and results output.
- - Visualization -- model verification, results postprocessing, data interrogation, and analysis tracking.
-
-\section avail License and Availability
-The EXODUS library is licensed under the BSD open source license.
-
-Copyright (c) 2005 Sandia Corporation. Under the terms of Contract DE-AC04-94AL85000
-with Sandia Corporation, the U.S. Government retains certain rights in this software.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted
-provided that the following conditions are met:
- - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- - Redistributions in binary form must reproduce the above copyright notice, this list
-of conditions and the following disclaimer in the documentation and/or other
-materials provided with the distribution.
- -Neither the name of Sandia Corporation nor the names of its contributors may be
-used to endorse or promote products derived from this software without specific
-prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-The ExodusII library source code is available on Sourceforge at
-http://sourceforge.net/projects/exodusii
-
-For bug reports, documentation errors, and enhancement suggestions, contact:
-- Gregory D. Sjaardema
-- PHONE: (505) 844-2701
-- EMAIL: gdsjaar at sandia.gov
-
-\section devel Development of EXODUS
-
-The evolution of the EXODUS data model has been steered by FE application code developers
-who desire the advantages of a common data format. The EXODUS model has been
-designed to overcome deficiencies in the EXODUS I file format and meet the following
-functional requirements as specified by these developers:
- - Random read/write access.
- - Application programming interface (API) -- provide routines callable from FORTRAN, C, and C++ application codes.
- - Extensible -- allow new data objects to be added without modifying the application programs that use the file format.
- - Machine independent -- data should be independent of the machine which generated it.
- - Real-time access during analysis -- allow access to the data in a file while the file is
-being created.
-
-To address these requirements, the open source database library
-etCDF (http://www.unidata.ucar.edu/software/netcdf/) was selected to handle the low-level data storage. The EXODUS
-II library functions provide the mapping between FE data objects and
-netCDF dimensions, attributes, and variables. Thus, the code developer
-interacts with the data model using the vocabulary of an FE analyst
-(element connectivity, nodal coordinates, etc.) and is relieved of the
-details of the data access mechanism.
-
-Because an EXODUS file is a netCDF file, an application program can
-access data via the EXODUS API or the netCDF API directly. Although
-accessing the data directly via the netCDF API requires more in-depth
-understanding of netCDF, this capability is a powerful feature that
-allows the development of auxiliary libraries of special purpose
-functions not offered in the standard EXODUS library. For example,
-if an application required access to the coordinates of a single node
-(the standard library function returns the coordinates for all of the
-nodes in the model), a simple function could be written that calls
-netCDF routines directly to read the data of interest.
-
-\section descrip Description of Data Objects
-
-The data in EXODUS files can be divided into three primary
-categories: initialization data, model, and results.
-
-Initialization data includes sizing parameters (number of nodes,
-number of elements, etc.), optional quality assurance information
-(names of codes that have operated on the data), and optional
-informational text.
-
-The model is described by data which are static (do not change through
-time). These data include nodal coordinates, element connectivity
-(node lists for each element), element attributes, and node sets and
-side sets (used to aid in applying loading conditions and boundary
-constraints).
-
-The results are optional and include five types of variables -- nodal,
-element, nodeset, sideset, and global -- each of which is stored
-through time. Nodal results are output (at each time step) for all the
-nodes in the model. An example of a nodal variable is displacement in
-the X direction. Element, nodeset, and sideset results are output (at
-each time step) for all entities (elements, nodes, sides) in one or
-more entity block. For example, stress may be an element
-variable. Another use of element variables is to record element status
-(a binary flag indicating whether each element is "alive" or "dead")
-through time. Global results are output (at each time step) for a
-single element or node, or for a single property. Linear momentum of a
-structure and the acceleration at a particular point are both examples
-of global variables. Although these examples correspond to typical FE
-applications, the data format is flexible enough to accommodate a
-spectrum of uses.
-
-A few conventions and limitations must be cited:
-
- - There are no restrictions on the frequency of results output except
- that the time value associated with each successive time step must
- increase monotonically.
- - To output results at different frequencies (i.e., variable A at
- every simulation time step, variable B at every other time step)
- multiple EXODUS files must be used.
- - There are no limits to the number of each type of results, but once
- declared, the number cannot change.
- - If the mesh geometry or topology changes in time (i.e., number of
- nodes increases, connectivity changes), then the new geometrymust be
- output to a new EXODUS file.
-
-\section int64 Integer Bulkdata Storage Details
-
-The EXODUS database can store integer bulk data, entity map data, and
-mesh entity (block/set) ids in either 32-bit or 64-bit integer format. The data
-considered "bulk data" are:
-
- - element, face, and edge connectivity lists,
- - element, face, edge, and node set entity lists,
-
-The entity map data is any data stored in one of the 'map' objects on
-the exodus file. This includes:
- - id maps
- - number maps
- - order maps
- - processor node maps
- - processor element maps.
-
-A mesh entity id is the id of any block (element block, edge block,
-...); set (node set, face set, ...), coordinate frame, and
-communication map.
-
-When an EXODUS file is created via the ex_create() function, the
-'mode' argument provides the mechanism for specifying how integer data
-will be passed as arguments to the API functions and also how the
-integer data will be stored on the database. The ex_open() function
-also provides a mechanism for specifying how integer data will be
-passed as arguments.
-
-The method uses the 'mode' argument to the ex_open() and
-ex_create() functions. The mode is a 32-bit integer in which certain
-bits are turned on by or'ing certain predefined constants.
-
-exoid = ex_create( EX_TEST_FILENAME,
- EX_CLOBBER|EX_MAPS_INT64_DB|EX_MAPS_INT64_API,
- &appWordSize, &diskWordSize );
-
-The constants related to the integer size (32-bit or 64-bit)
-specification are:
-
-- EX_MAPS_INT64_DB -- entity map data
-- EX_IDS_INT64_DB -- mesh entity ids
-- EX_BULK_INT64_DB -- bulk data
-- EX_ALL_INT64_DB -- (the above 3 or'd together)
-- EX_MAPS_INT64_API -- entity map data
-- EX_IDS_INT64_API -- mesh entity ids
-- EX_BULK_INT64_API -- bulk data
-- EX_ALL_INT64_API -- (the above 3 or'd together)
-
-The constants that end with "_DB" specify that that particular integer
-data is stored on the database as 64-bit integers; the constants that
-end with "_API" specify that that particular integer data is passed
-to/from API functions as 64-bit integers.
-
-If the range of the data being transmitted is larger than the
-permitted integer range (for example, if the data is stored on the
-database as 64-bit ints and the application specifies passing data as
-32-bit ints), the api function will return an error.
-
-The three types of integer data whose storage can be specified are
-- maps (EX_MAPS_INT64_),
-- "bulk data" including connectivity lists and entity lists (EX_BULK_INT64_), and
-- entity ids which are the ids of element, face, edge, and node sets
- and blocks; and map ids (EX_IDS_INT64_)
-
-The function ex_int64_status(exoid) is used to determine the integer
-storage types being used for the EXODUS database 'exoid'. It returns
-an integer which can be and'ed with the above flags to determine
-either the storage type or function parameter type.
-
-For example, if
-(EX_MAPS_INT64_DB \& ex_int64_status(exoid)) is true, then map data is
-being stored as 64-bit integers for that database.
-
-It is not possible to determine the integer data size on a database
-without opening the database via an ex_open() call. However, the
-integer size specification for API functions can be changed at any
-time via the ex_set_int64_status(exoid, mode) function. The mode is
-one or more of EX_MAPS_INT64_API, EX_IDS_INT64_API, or
-EX_BULK_INT64_API, or'd together. Any exodus function calls after
-that point will use the specified integer size. Note that a call to
-ex_set_int64_status(exoid, mode) overrides any previous setting for
-the integer sizes used in the API. The ex_create() function is the
-only way to specify the integer sizes specification for database
-integers.
-
-\subsection int64_fortran_api Fortran API
-The fortran api is uses the same mechanism as was described above for
-the C API. If using the "8-byte real and 8-byte int" fortran mode
-typically used by the SEACAS applications (the compiler automatically
-promotes all integers and reals to 8-byte quantities), then the
-fortran exodus library will automatically enable the *_API
-options; the client still needs to specify the *_DB options.
-
-\subsection int64_fortran_imp Fortran Implementation
-
-The new capability to pass 64-bit integer data through the fortran and
-C API functions simplifies the implementation of the "8-byte real
-8-byte int" usage of the exodus library. Previously, the wrapper
-routines in addrwrap.F were required to convert the 8-byte integer
-data on the client side to/from 4-byte integers on the library
-side. This required extra memory allocation and complications that are
-now handled at the lowest level in the netcdf library. The
-map-related functions in the fortran api have all been converted to
-pass 64-bit integers down to the C API which has removed some code and
-simplified those functions.
-
-
-\section Database Options (Compression, Name Length, File Type)
-
-The ex_set_option() function call is used to set various options on the
-database. Valid values for 'option' are:
-
-| Option Name | Option Values
--------------------------|---------------
-| EX_OPT_MAX_NAME_LENGTH | Maximum length of names that will be returned/passed via api call.
-| EX_OPT_COMPRESSION_TYPE | Not currently used; default is gzip
-| EX_OPT_COMPRESSION_LEVEL | In the range [0..9]. A value of 0 indicates no compression
-| EX_OPT_COMPRESSION_SHUFFLE | 1 if enabled, 0 if disabled
-| EX_OPT_INTEGER_SIZE_API | 4 or 8 indicating byte size of integers used in api functions.
-| EX_OPT_INTEGER_SIZE_DB | Query only, returns 4 or 8 indicating byte size of integers stored on database.
-
-The compression-related options are only available on netcdf-4 files
-since the underlying hdf5 compression functionality is used for the
-implementation. The compression level indicates how much effort should
-be expended in the compression and the computational expense increases
-with higher levels; in many cases, a compression level of 1 is
-sufficient.
-
-\defgroup ResultsData Results Data
-@{
- This section describes data file utility functions for creating /
- opening a file, initializing a file with global parameters, reading /
- writing information text, inquiring on parameters stored in the data
- file, and error reporting.
-@}
-
-\defgroup Utilities Data File Utilities
- @{
-This section describes data file utility functions for creating /
-opening a file, initializing a file with global parameters, reading /
-writing information text, inquiring on parameters stored in the data
-file, and error reporting.
- @}
-
-\defgroup ModelDescription Model Description
- @{
-The routines in this section read and write information which
-describe an exodus finite element model. This includes nodal
-coordinates, element order map, element connectivity arrays,
-element attributes, node sets, side sets, and object properties.
- @}
-
-
-*/
diff --git a/cbind/include/exodusII.h b/cbind/include/exodusII.h
deleted file mode 100644
index a7149e3..0000000
--- a/cbind/include/exodusII.h
+++ /dev/null
@@ -1,1984 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************
- *
- * exodusII.h - Exodus II API include file
- *
- *****************************************************************************/
-
-#ifndef EXODUS_II_HDR
-#define EXODUS_II_HDR
-
-#include "netcdf.h"
-
-#if defined(PARALLEL_AWARE_EXODUS)
-#include "netcdf_par.h"
-#endif
-
-#include <stddef.h>
-#include <stdlib.h>
-#include <stdint.h>
-
-#ifndef NC_INT64
-#error "NetCDF version 4.1.2 or later is required."
-#endif
-
-/* EXODUS II version number */
-#define EX_API_VERS 5.26f
-#define EX_API_VERS_NODOT 526
-#define EX_VERS EX_API_VERS
-#define NEMESIS_API_VERSION EX_API_VERS
-#define NEMESIS_API_VERSION_NODOT EX_API_VERS_NODOT
-#define NEMESIS_FILE_VERSION 2.6
-
-/*
- * need following extern if this include file is used in a C++
- * program, to keep the C++ compiler from mangling the function names.
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- /*
- * The following are miscellaneous constants used in the EXODUS II
- * API. They should already be defined, but are left over from the
- * old days...
- */
-#ifndef TRUE
-#define TRUE -1
-#endif
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
- /**
- * \defgroup FileVars Variables controlling the file creation mode.
- *@{
- */
- /* Modes for ex_open */
-#define EX_READ 0x0000 /**< ex_open(): open file for reading (default) */
-#define EX_WRITE 0x0001 /**< ex_open(): open existing file for appending. */
-
-#define EX_NOCLOBBER 0x0004 /**< Don't overwrite existing database, default */
-#define EX_CLOBBER 0x0008 /**< Overwrite existing database if it exists */
-#define EX_NORMAL_MODEL 0x0010 /**< disable mods that permit storage of larger models */
-#define EX_LARGE_MODEL 0x0020 /**< enable mods that permit storage of larger models */
-#define EX_NETCDF4 0x0040 /**< use the hdf5-based netcdf4 output */
-#define EX_NOSHARE 0x0080 /**< Do not open netcdf file in "share" mode */
-#define EX_SHARE 0x0100 /**< Do open netcdf file in "share" mode */
-#define EX_NOCLASSIC 0x0200 /**< Do not force netcdf to classic mode in netcdf4 mode */
-
- /* Need to distinguish between storage on database (DB in name) and
- passed through the API functions (API in name).
- */
-#define EX_MAPS_INT64_DB 0x0400 /**< All maps (id, order, ...) store int64_t values */
-#define EX_IDS_INT64_DB 0x0800 /**< All entity ids (sets, blocks, maps) are int64_t values */
-#define EX_BULK_INT64_DB 0x1000 /**< All integer bulk data (local indices, counts, maps); not ids */
-#define EX_ALL_INT64_DB (EX_MAPS_INT64_DB|EX_IDS_INT64_DB|EX_BULK_INT64_DB) /**< All of the above... */
-
-#define EX_MAPS_INT64_API 0x2000 /**< All maps (id, order, ...) store int64_t values */
-#define EX_IDS_INT64_API 0x4000 /**< All entity ids (sets, blocks, maps) are int64_t values */
-#define EX_BULK_INT64_API 0x8000 /**< All integer bulk data (local indices, counts, maps); not ids */
-#define EX_INQ_INT64_API 0x10000 /**< Integers passed to/from ex_inquire are int64_t */
-#define EX_ALL_INT64_API (EX_MAPS_INT64_API|EX_IDS_INT64_API|EX_BULK_INT64_API|EX_INQ_INT64_API) /**< All of the above... */
-
- /* Parallel IO mode flags... */
-#define EX_MPIIO 0x20000
-#define EX_MPIPOSIX 0x40000
-#define EX_PNETCDF 0x80000
-
- /*@}*/
-
- /*! \sa ex_inquire() */
- enum ex_inquiry {
- EX_INQ_FILE_TYPE = 1, /**< inquire EXODUS II file type*/
- EX_INQ_API_VERS = 2, /**< inquire API version number */
- EX_INQ_DB_VERS = 3, /**< inquire database version number */
- EX_INQ_TITLE = 4, /**< inquire database title */
- EX_INQ_DIM = 5, /**< inquire number of dimensions */
- EX_INQ_NODES = 6, /**< inquire number of nodes */
- EX_INQ_ELEM = 7, /**< inquire number of elements */
- EX_INQ_ELEM_BLK = 8, /**< inquire number of element blocks */
- EX_INQ_NODE_SETS = 9, /**< inquire number of node sets*/
- EX_INQ_NS_NODE_LEN = 10, /**< inquire length of node set node list */
- EX_INQ_SIDE_SETS = 11, /**< inquire number of side sets*/
- EX_INQ_SS_NODE_LEN = 12, /**< inquire length of side set node list */
- EX_INQ_SS_ELEM_LEN = 13, /**< inquire length of side set element list */
- EX_INQ_QA = 14, /**< inquire number of QA records */
- EX_INQ_INFO = 15, /**< inquire number of info records */
- EX_INQ_TIME = 16, /**< inquire number of time steps in the database */
- EX_INQ_EB_PROP = 17, /**< inquire number of element block properties */
- EX_INQ_NS_PROP = 18, /**< inquire number of node set properties */
- EX_INQ_SS_PROP = 19, /**< inquire number of side set properties */
- EX_INQ_NS_DF_LEN = 20, /**< inquire length of node set distribution factor list*/
- EX_INQ_SS_DF_LEN = 21, /**< inquire length of side set distribution factor list*/
- EX_INQ_LIB_VERS = 22, /**< inquire API Lib vers number*/
- EX_INQ_EM_PROP = 23, /**< inquire number of element map properties */
- EX_INQ_NM_PROP = 24, /**< inquire number of node map properties */
- EX_INQ_ELEM_MAP = 25, /**< inquire number of element maps */
- EX_INQ_NODE_MAP = 26, /**< inquire number of node maps*/
- EX_INQ_EDGE = 27, /**< inquire number of edges */
- EX_INQ_EDGE_BLK = 28, /**< inquire number of edge blocks */
- EX_INQ_EDGE_SETS = 29, /**< inquire number of edge sets */
- EX_INQ_ES_LEN = 30, /**< inquire length of concat edge set edge list */
- EX_INQ_ES_DF_LEN = 31, /**< inquire length of concat edge set dist factor list*/
- EX_INQ_EDGE_PROP = 32, /**< inquire number of properties stored per edge block */
- EX_INQ_ES_PROP = 33, /**< inquire number of properties stored per edge set */
- EX_INQ_FACE = 34, /**< inquire number of faces */
- EX_INQ_FACE_BLK = 35, /**< inquire number of face blocks */
- EX_INQ_FACE_SETS = 36, /**< inquire number of face sets */
- EX_INQ_FS_LEN = 37, /**< inquire length of concat face set face list */
- EX_INQ_FS_DF_LEN = 38, /**< inquire length of concat face set dist factor list*/
- EX_INQ_FACE_PROP = 39, /**< inquire number of properties stored per face block */
- EX_INQ_FS_PROP = 40, /**< inquire number of properties stored per face set */
- EX_INQ_ELEM_SETS = 41, /**< inquire number of element sets */
- EX_INQ_ELS_LEN = 42, /**< inquire length of concat element set element list */
- EX_INQ_ELS_DF_LEN = 43, /**< inquire length of concat element set dist factor list*/
- EX_INQ_ELS_PROP = 44, /**< inquire number of properties stored per elem set */
- EX_INQ_EDGE_MAP = 45, /**< inquire number of edge maps */
- EX_INQ_FACE_MAP = 46, /**< inquire number of face maps */
- EX_INQ_COORD_FRAMES = 47, /**< inquire number of coordinate frames */
- EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH = 48, /**< inquire size of MAX_NAME_LENGTH dimension on database */
- EX_INQ_DB_MAX_USED_NAME_LENGTH = 49, /**< inquire size of MAX_NAME_LENGTH dimension on database */
- EX_INQ_MAX_READ_NAME_LENGTH = 50, /**< inquire client-specified max size of returned names */
- EX_INQ_DB_FLOAT_SIZE = 51, /**< inquire size of floating-point values stored on database */
- EX_INQ_INVALID = -1};
-
- typedef enum ex_inquiry ex_inquiry;
-
- /* Options */
- /**
- * \defgroup FileOptions Variables controlling the compression, name size, and integer size.
- *@{
- */
- /* Modes for ex_open */
- /*! \sa ex_set_option() */
- enum ex_option_type {
- EX_OPT_MAX_NAME_LENGTH = 1,
- EX_OPT_COMPRESSION_TYPE, /* Currently not used. GZip by default */
- EX_OPT_COMPRESSION_LEVEL, /* 0 (disabled/fastest) ... 9 (best/slowest) */
- EX_OPT_COMPRESSION_SHUFFLE, /* 0 (disabled); 1 (enabled) */
- EX_OPT_INTEGER_SIZE_API, /* See *_INT64_* values above */
- EX_OPT_INTEGER_SIZE_DB /* (query only) */
- };
- typedef enum ex_option_type ex_option_type;
- /*@}*/
-
- enum ex_entity_type {
- EX_NODAL = 14, /**< nodal "block" for variables*/
- EX_NODE_BLOCK = 14, /**< alias for EX_NODAL */
- EX_NODE_SET = 2, /**< node set property code */
- EX_EDGE_BLOCK = 6, /**< edge block property code */
- EX_EDGE_SET = 7, /**< edge set property code */
- EX_FACE_BLOCK = 8, /**< face block property code */
- EX_FACE_SET = 9, /**< face set property code */
- EX_ELEM_BLOCK = 1, /**< element block property code*/
- EX_ELEM_SET = 10, /**< face set property code */
-
- EX_SIDE_SET = 3, /**< side set property code */
-
- EX_ELEM_MAP = 4, /**< element map property code */
- EX_NODE_MAP = 5, /**< node map property code */
- EX_EDGE_MAP = 11, /**< edge map property code */
- EX_FACE_MAP = 12, /**< face map property code */
-
- EX_GLOBAL = 13, /**< global "block" for variables*/
- EX_COORDINATE = 15, /**< kluge so some internal wrapper functions work */
- EX_INVALID = -1};
- typedef enum ex_entity_type ex_entity_type;
-
- /**
- * ex_opts() function codes - codes are OR'ed into exopts
- */
- enum ex_options {
- EX_DEFAULT = 0,
- EX_VERBOSE = 1, /**< verbose mode message flag */
- EX_DEBUG = 2, /**< debug mode def */
- EX_ABORT = 4 /**< abort mode flag def */
- };
- typedef enum ex_options ex_options;
-
- /** The value used to indicate that an entity (block, nset, sset)
- has not had its id set to a valid value
- */
-#define EX_INVALID_ID -1
-
- /**
- * \defgroup StringLengths maximum string lengths;
- * constants that are used as netcdf dimensions must be of type long
- * @{
- */
- /** Maximum length of QA record, element type name */
-#define MAX_STR_LENGTH 32L
- /** Maximum length of an entity name, attribute name, variable name */
-#define MAX_NAME_LENGTH MAX_STR_LENGTH
-
- /** Maximum length of the database title or an information record */
-#define MAX_LINE_LENGTH 80L
- /** Maximum length of an error message passed to ex_err() function. Typically, internal use only */
-#define MAX_ERR_LENGTH 256
- /* @} */
-
- /** Specifies that this argument is the id of an entity: element block, nodeset, sideset, ... */
- typedef int64_t ex_entity_id;
-
- /** The mechanism for passing double/float and int/int64_t both use a
- void*; to avoid some confusion as to whether a function takes an
- integer or a float/double, the following typedef is used for the
- integer argument
- */
- typedef void void_int;
-
- /**
- * \defgroup APIStructs Structures used by external API functions.
- * @{
- */
- typedef struct ex_init_params {
- char title[MAX_LINE_LENGTH + 1];
- int64_t num_dim;
- int64_t num_nodes;
- int64_t num_edge;
- int64_t num_edge_blk;
- int64_t num_face;
- int64_t num_face_blk;
- int64_t num_elem;
- int64_t num_elem_blk;
- int64_t num_node_sets;
- int64_t num_edge_sets;
- int64_t num_face_sets;
- int64_t num_side_sets;
- int64_t num_elem_sets;
- int64_t num_node_maps;
- int64_t num_edge_maps;
- int64_t num_face_maps;
- int64_t num_elem_maps;
- } ex_init_params;
-
- typedef struct ex_block {
- int64_t id;
- ex_entity_type type;
- char topology[MAX_STR_LENGTH+1];
- int64_t num_entry;
- int64_t num_nodes_per_entry;
- int64_t num_edges_per_entry;
- int64_t num_faces_per_entry;
- int64_t num_attribute;
- } ex_block;
-
- typedef struct ex_set {
- int64_t id;
- ex_entity_type type;
- int64_t num_entry;
- int64_t num_distribution_factor;
- void_int* entry_list;
- void_int* extra_list;
- void* distribution_factor_list;
- } ex_set;
-
- typedef struct ex_block_params {
- void_int* edge_blk_id;
- char** edge_type;
- int* num_edge_this_blk;
- int* num_nodes_per_edge;
- int* num_attr_edge;
- void_int* face_blk_id;
- char** face_type;
- int* num_face_this_blk;
- int* num_nodes_per_face;
- int* num_attr_face;
- void_int* elem_blk_id;
- char** elem_type;
- int* num_elem_this_blk;
- int* num_nodes_per_elem;
- int* num_edges_per_elem;
- int* num_faces_per_elem;
- int* num_attr_elem;
- int define_maps;
- } ex_block_params;
-
- typedef struct ex_set_specs {
- void_int* sets_ids;
- void_int* num_entries_per_set;
- void_int* num_dist_per_set;
- void_int* sets_entry_index;
- void_int* sets_dist_index;
- void_int* sets_entry_list;
- void_int* sets_extra_list;
- void* sets_dist_fact;
- } ex_set_specs;
-
- typedef struct ex_var_params {
- int num_glob;
- int num_node;
- int num_edge;
- int num_face;
- int num_elem;
- int num_nset;
- int num_eset;
- int num_fset;
- int num_sset;
- int num_elset;
- int* edge_var_tab;
- int* face_var_tab;
- int* elem_var_tab;
- int* nset_var_tab;
- int* eset_var_tab;
- int* fset_var_tab;
- int* sset_var_tab;
- int* elset_var_tab;
- } ex_var_params;
- /* @} */
-
-#ifndef EXODUS_EXPORT
-#define EXODUS_EXPORT extern
-#endif /* EXODUS_EXPORT */
-
- /* routines for file initialization i/o */
- EXODUS_EXPORT int ex_close (int exoid);
-
- EXODUS_EXPORT int ex_copy (int in_exoid, int out_exoid);
-
-#define ex_create(path, mode, comp_ws, io_ws) ex_create_int(path, mode, comp_ws, io_ws, EX_API_VERS_NODOT)
-
- EXODUS_EXPORT int ex_create_int (const char *path, int cmode, int *comp_ws, int *io_ws, int my_version);
-
-
- EXODUS_EXPORT int ex_get_all_times (int exoid,
- void *time_values);
-
- EXODUS_EXPORT int ex_get_coord_names (int exoid,
- char **coord_names);
-
- EXODUS_EXPORT int ex_get_coord (int exoid,
- void *x_coor,
- void *y_coor,
- void *z_coor);
-
- EXODUS_EXPORT int ex_get_n_coord (int exoid,
- int64_t start_node_num,
- int64_t num_nodes,
- void *x_coor,
- void *y_coor,
- void *z_coor);
-
- EXODUS_EXPORT int ex_get_partial_coord (int exoid,
- int64_t start_node_num,
- int64_t num_nodes,
- void *x_coor,
- void *y_coor,
- void *z_coor);
-
- EXODUS_EXPORT int ex_get_ids (int exoid,
- ex_entity_type obj_type,
- void_int *ids);
-
- EXODUS_EXPORT int ex_get_coordinate_frames(int exoid,
- int *nframes,
- void_int *cf_ids,
- void* pt_coordinates,
- char* tags);
-
- EXODUS_EXPORT int ex_get_glob_vars (int exoid,
- int time_step,
- int num_glob_vars,
- void *glob_var_vals);
-
- EXODUS_EXPORT int ex_get_glob_var_time (int exoid,
- int glob_var_index,
- int beg_time_step,
- int end_time_step,
- void *glob_var_vals);
-
- EXODUS_EXPORT int ex_get_info (int exoid, char **info);
-
- EXODUS_EXPORT int ex_put_init_ext (int exoid, const ex_init_params *param);
-
- EXODUS_EXPORT int ex_get_init_ext (int exoid, ex_init_params *param);
-
- EXODUS_EXPORT int ex_get_init (int exoid,
- 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);
-
- EXODUS_EXPORT int ex_put_init (int exoid,
- const char *title,
- int64_t num_dim,
- int64_t num_nodes,
- int64_t num_elem,
- int64_t num_elem_blk,
- int64_t num_node_sets,
- int64_t num_side_sets);
-
- EXODUS_EXPORT int ex_get_map_param (int exoid,
- int *num_node_maps,
- int *num_elem_maps);
-
- EXODUS_EXPORT int ex_get_name (int exoid,
- ex_entity_type obj_type,
- ex_entity_id entity_id,
- char *name);
-
- EXODUS_EXPORT int ex_get_names (int exoid,
- ex_entity_type obj_type,
- char **names);
-
- EXODUS_EXPORT int ex_get_nset_var_tab (int exoid,
- int num_nodesets,
- int num_nset_var,
- int *nset_var_tab);
-
- EXODUS_EXPORT int ex_get_n_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t start_node,
- int64_t num_nodes,
- void *nodal_var_vals);
-
- EXODUS_EXPORT int ex_get_partial_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t start_node,
- int64_t num_nodes,
- void *nodal_var_vals);
-
-
- EXODUS_EXPORT int ex_get_prop_array (int exoid,
- ex_entity_type obj_type,
- const char *prop_name,
- void_int *values);
-
- EXODUS_EXPORT int ex_get_prop (int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- const char *prop_name,
- void_int *value);
-
- EXODUS_EXPORT int ex_get_partial_num_map (int exoid,
- ex_entity_type map_type,
- ex_entity_id map_id,
- int64_t ent_start,
- int64_t ent_count,
- void_int *elem_map);
-
- EXODUS_EXPORT int ex_get_prop_names (int exoid,
- ex_entity_type obj_type,
- char **prop_names);
-
- EXODUS_EXPORT int ex_get_qa (int exoid,
- char *qa_record[][4]);
-
- EXODUS_EXPORT int ex_get_time (int exoid,
- int time_step,
- void *time_value);
-
- EXODUS_EXPORT int ex_get_variable_names (int exoid,
- ex_entity_type obj_type,
- int num_vars,
- char *var_names[]);
- EXODUS_EXPORT int ex_get_variable_name (int exoid,
- ex_entity_type obj_type,
- int var_num,
- char *var_name);
-
- EXODUS_EXPORT int ex_get_variable_param (int exoid,
- ex_entity_type obj_type,
- int *num_vars);
-
- EXODUS_EXPORT int ex_get_object_truth_vector (int exoid,
- ex_entity_type var_type,
- ex_entity_id object_id,
- int num_var,
- int *var_vector);
-
- EXODUS_EXPORT int ex_get_truth_table (int exoid,
- ex_entity_type obj_type,
- int num_blk,
- int num_var,
- int *var_tab);
-
-#define ex_open(path, mode, comp_ws, io_ws, version) ex_open_int(path, mode, comp_ws, io_ws, version, EX_API_VERS_NODOT)
-
- EXODUS_EXPORT int ex_open_int (const char *path,
- int mode,
- int *comp_ws,
- int *io_ws,
- float *version, int my_version);
-
- EXODUS_EXPORT int ex_put_attr_param (int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int num_attrs);
-
- EXODUS_EXPORT int ex_get_attr_param (int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int *num_attrs);
-
- EXODUS_EXPORT int ex_put_all_var_param (int exoid,
- int num_g, int num_n,
- int num_e, int *elem_var_tab,
- int num_m, int *nset_var_tab,
- int num_s, int *sset_var_tab);
-
- EXODUS_EXPORT int ex_put_concat_elem_block (int exoid,
- const void_int* elem_blk_id,
- char *elem_type[],
- const void_int* num_elem_this_blk,
- const void_int* num_nodes_per_elem,
- const void_int* num_attr,
- int define_maps);
-
- EXODUS_EXPORT int ex_put_coord_names (int exoid,
- char *coord_names[]);
-
- EXODUS_EXPORT int ex_put_coord (int exoid,
- const void *x_coor,
- const void *y_coor,
- const void *z_coor);
-
- EXODUS_EXPORT int ex_put_n_coord (int exoid,
- int64_t start_node_num,
- int64_t num_nodes,
- const void *x_coor,
- const void *y_coor,
- const void *z_coor);
-
- EXODUS_EXPORT int ex_put_partial_coord (int exoid,
- int64_t start_node_num,
- int64_t num_nodes,
- const void *x_coor,
- const void *y_coor,
- const void *z_coor);
-
- EXODUS_EXPORT int ex_put_id_map(int exoid,
- ex_entity_type obj_type,
- const void_int *map);
-
- EXODUS_EXPORT int ex_put_partial_id_map(int exoid,
- ex_entity_type obj_type,
- int64_t start_entity_num,
- int64_t num_entities,
- const void_int *map);
-
- EXODUS_EXPORT int ex_put_n_elem_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- const void_int *map);
-
- EXODUS_EXPORT int ex_put_n_node_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- const void_int *map);
-
- EXODUS_EXPORT int ex_put_partial_elem_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- const void_int *map);
-
- EXODUS_EXPORT int ex_put_partial_node_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- const void_int *map);
-
- EXODUS_EXPORT int ex_get_id_map(int exoid,
- ex_entity_type obj_type,
- void_int *map);
-
- EXODUS_EXPORT int ex_get_partial_id_map (int exoid,
- ex_entity_type map_type,
- int64_t start_entity_num,
- int64_t num_entities,
- void_int* map);
-
- EXODUS_EXPORT int ex_put_coordinate_frames(int exoid,
- int nframes,
- const void_int *cf_ids,
- void* pt_coordinates,
- const char* tags);
-
- EXODUS_EXPORT int ex_put_info (int exoid,
- int num_info,
- char *info[]);
-
- EXODUS_EXPORT int ex_put_map_param (int exoid,
- int num_node_maps,
- int num_elem_maps);
-
- EXODUS_EXPORT int ex_put_name (int exoid,
- ex_entity_type obj_type,
- ex_entity_id entity_id,
- const char *name);
-
- EXODUS_EXPORT int ex_put_names (int exoid,
- ex_entity_type obj_type,
- char *names[]);
-
- EXODUS_EXPORT int ex_put_n_one_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- int attrib_index,
- const void *attrib );
-
- EXODUS_EXPORT int ex_put_partial_one_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- int attrib_index,
- const void *attrib );
-
- EXODUS_EXPORT int ex_put_prop (int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- const char *prop_name,
- ex_entity_id value);
-
- EXODUS_EXPORT int ex_put_prop_array (int exoid,
- ex_entity_type obj_type,
- const char *prop_name,
- const void_int *values);
-
- EXODUS_EXPORT int ex_put_prop_names (int exoid,
- ex_entity_type obj_type,
- int num_props,
- char **prop_names);
-
- EXODUS_EXPORT int ex_put_qa (int exoid,
- int num_qa_records,
- char* qa_record[][4]);
-
- EXODUS_EXPORT int ex_put_time (int exoid,
- int time_step,
- const void *time_value);
-
- EXODUS_EXPORT int ex_put_variable_name (int exoid,
- ex_entity_type obj_type,
- int var_num,
- const char *var_name);
-
- EXODUS_EXPORT int ex_put_variable_names (int exoid,
- ex_entity_type obj_type,
- int num_vars,
- char* var_names[]);
-
- EXODUS_EXPORT int ex_put_variable_param (int exoid,
- ex_entity_type obj_type,
- int num_vars);
-
- EXODUS_EXPORT int ex_put_truth_table (int exoid,
- ex_entity_type obj_type,
- int num_blk,
- int num_var,
- int *var_tab);
-
- EXODUS_EXPORT int ex_update (int exoid);
- EXODUS_EXPORT int ex_get_num_props (int exoid, ex_entity_type obj_type);
- EXODUS_EXPORT int ex_large_model(int exoid);
- EXODUS_EXPORT size_t ex_header_size(int exoid);
-
- EXODUS_EXPORT void ex_err(const char *module_name, const char *message, int err_num);
- EXODUS_EXPORT void ex_get_err(const char** msg, const char** func, int* errcode);
- EXODUS_EXPORT void ex_opts(int options);
- EXODUS_EXPORT int ex_inquire(int exoid, int inquiry, void_int*, float*, char*);
- EXODUS_EXPORT int64_t ex_inquire_int(int exoid, int inquiry);
- EXODUS_EXPORT int ex_int64_status(int exoid);
- EXODUS_EXPORT int ex_set_int64_status(int exoid, int mode);
-
- /** Note that the max name length setting is global at this time; not specific
- * to a particular database; however, the exoid option is passed to give
- * flexibility in the future to implement this on a database-by-database basis.
- */
- EXODUS_EXPORT int ex_set_max_name_length(int exoid, int length);
-
- EXODUS_EXPORT int ex_set_option(int exoid, ex_option_type option, int option_value);
-
- /* Write Node Edge Face or Element Number Map */
- EXODUS_EXPORT int ex_put_num_map(int exoid,
- ex_entity_type map_type,
- ex_entity_id map_id,
- const void_int *map);
-
- /* Read Number Map */
- EXODUS_EXPORT int ex_get_num_map(int exoid,
- ex_entity_type map_type,
- ex_entity_id map_id,
- void_int *map);
-
- /* Write Edge Face or Element Block Parameters */
- EXODUS_EXPORT int ex_put_block(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- const char *entry_descrip,
- int64_t num_entries_this_blk,
- int64_t num_nodes_per_entry,
- int64_t num_edges_per_entry,
- int64_t num_faces_per_entry,
- int64_t num_attr_per_entry);
-
-
- /*! \deprecated Use ex_get_block_param() */
- EXODUS_EXPORT int ex_get_block(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- char *elem_type,
- void_int *num_entries_this_blk,
- void_int *num_nodes_per_entry,
- void_int *num_edges_per_entry,
- void_int *num_faces_per_entry,
- void_int *num_attr_per_entry);
-
- /* Read Edge Face or Element Block Parameters */
- EXODUS_EXPORT int ex_get_block_param(int exoid,
- ex_block *block);
-
- EXODUS_EXPORT int ex_put_block_param(int exoid,
- const ex_block block);
-
- /* Write All Edge Face and Element Block Parameters */
- EXODUS_EXPORT int ex_put_concat_all_blocks(int exoid,
- const ex_block_params *param);
-
- EXODUS_EXPORT int ex_put_entity_count_per_polyhedra(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- const int *entity_counts);
-
- EXODUS_EXPORT int ex_get_entity_count_per_polyhedra(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- int *entity_counts);
-
- /* Write Edge Face or Element Block Connectivity */
- EXODUS_EXPORT int ex_put_conn(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- const void_int *node_conn,
- const void_int *elem_edge_conn,
- const void_int *elem_face_conn);
-
- /* Read Edge Face or Element Block Connectivity */
- EXODUS_EXPORT int ex_get_conn(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- void_int *nodeconn,
- void_int *edgeconn,
- void_int *faceconn);
-
- /* Read Partial Edge Face or Element Block Connectivity */
- EXODUS_EXPORT int ex_get_n_conn(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- int64_t start_num,
- int64_t num_ent,
- void_int *nodeconn,
- void_int *edgeconn,
- void_int *faceconn);
-
- EXODUS_EXPORT int ex_get_partial_conn(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- int64_t start_num,
- int64_t num_ent,
- void_int *nodeconn,
- void_int *edgeconn,
- void_int *faceconn);
-
- /* Write Edge Face or Element Block Attributes */
- EXODUS_EXPORT int ex_put_attr(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- const void *attrib);
-
- EXODUS_EXPORT int ex_put_partial_attr (int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- int64_t start_entity,
- int64_t num_entity,
- const void *attrib);
-
- /* Read Edge Face or Element Block Attributes */
- EXODUS_EXPORT int ex_get_attr(int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- void *attrib);
-
- EXODUS_EXPORT int ex_get_n_attr(int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- void *attrib);
-
- EXODUS_EXPORT int ex_get_partial_attr(int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- void *attrib);
-
- /* Write One Edge Face or Element Block Attribute */
- EXODUS_EXPORT int ex_put_one_attr(int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int attrib_index,
- const void *attrib);
-
- /* Read One Edge Face or Element Block Attribute */
- EXODUS_EXPORT int ex_get_one_attr(int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int attrib_index,
- void *attrib);
-
- /* Read One Edge Face or Element Block Attribute */
- EXODUS_EXPORT int ex_get_n_one_attr(int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- int attrib_index,
- void *attrib);
-
- EXODUS_EXPORT int ex_get_partial_one_attr(int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- int attrib_index,
- void *attrib);
-
- /* Write Edge Face or Element Block Attribute Names */
- EXODUS_EXPORT int ex_put_attr_names(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- char **names);
-
- /* Read Edge Face or Element Block Attribute Names */
- EXODUS_EXPORT int ex_get_attr_names(int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- char **names);
-
- /* Write Node Edge Face or Side Set Parameters */
- EXODUS_EXPORT int ex_put_set_param(int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- int64_t num_entries_in_set,
- int64_t num_dist_fact_in_set);
-
- /* Read Node Edge Face or Side Set Parameters */
- EXODUS_EXPORT int ex_get_set_param(int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- void_int *num_entry_in_set,
- void_int *num_dist_fact_in_set);
-
- /* Write a Node Edge Face or Side Set */
- EXODUS_EXPORT int ex_put_set(int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- const void_int *set_entry_list,
- const void_int *set_extra_list);
-
- EXODUS_EXPORT int ex_put_partial_set(int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- int64_t offset,
- int64_t count,
- const void_int *set_entry_list,
- const void_int *set_extra_list);
-
- /* Read a Node Edge Face or Side Set */
- EXODUS_EXPORT int ex_get_set(int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- void_int *set_entry_list,
- void_int *set_extra_list);
-
- /* Write Node Edge Face or Side Set Distribution Factors */
- EXODUS_EXPORT int ex_put_set_dist_fact(int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- const void *set_dist_fact);
-
- /* Read Node Edge Face or Side Set Distribution Factors */
- EXODUS_EXPORT int ex_get_set_dist_fact(int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- void *set_dist_fact);
-
- EXODUS_EXPORT int ex_get_partial_set_dist_fact (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- int64_t offset,
- int64_t num_to_put,
- void *set_dist_fact);
-
- /* Write Concatenated Node Edge Face or Side Sets */
- EXODUS_EXPORT int ex_put_concat_sets(int exoid,
- ex_entity_type set_type,
- const struct ex_set_specs *set_specs);
-
- /* Read Concatenated Node Edge Face or Side Sets */
- EXODUS_EXPORT int ex_get_concat_sets(int exoid,
- ex_entity_type set_type,
- struct ex_set_specs *set_specs);
-
- /* Write Concatenated Node Edge Face or Side Sets */
- EXODUS_EXPORT int ex_put_sets(int exoid,
- size_t set_count,
- const struct ex_set *sets);
-
- /* Read Concatenated Node Edge Face or Side Sets */
- EXODUS_EXPORT int ex_get_sets(int exoid,
- size_t set_count,
- struct ex_set *sets);
-
- /* (MODIFIED) Write All Results Variables Parameters */
- EXODUS_EXPORT int ex_put_all_var_param_ext(int exoid,
- const ex_var_params *vp);
-
- /* Write Edge Face or Element Variable Values on Blocks or Sets at a Time Step */
- EXODUS_EXPORT int ex_put_var(int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t num_entries_this_obj,
- const void *var_vals);
-
- /* Write Partial Edge Face or Element Variable Values on Blocks or Sets at a Time Step */
- EXODUS_EXPORT int ex_put_n_var(int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t start_index,
- int64_t num_entities,
- const void *var_vals);
-
- EXODUS_EXPORT int ex_put_partial_var(int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t start_index,
- int64_t num_entities,
- const void *var_vals);
-
- /* Read Edge Face or Element Variable Values Defined On Blocks or Sets at a Time Step */
- EXODUS_EXPORT int ex_get_var(int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t num_entry_this_obj,
- void *var_vals);
-
- /* Read Partial Edge Face or Element Variable Values on Blocks or Sets at a Time Step */
- EXODUS_EXPORT int ex_get_n_var(int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t start_index,
- int64_t num_entities,
- void *var_vals);
-
- EXODUS_EXPORT int ex_get_n_elem_var (int exoid,
- int time_step,
- int elem_var_index,
- ex_entity_id elem_blk_id,
- int64_t num_elem_this_blk,
- int64_t start_elem_num,
- int64_t num_elem,
- void *elem_var_vals);
-
- EXODUS_EXPORT int ex_get_partial_var(int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t start_index,
- int64_t num_entities,
- void *var_vals);
-
- EXODUS_EXPORT int ex_get_partial_elem_var (int exoid,
- int time_step,
- int elem_var_index,
- ex_entity_id elem_blk_id,
- int64_t num_elem_this_blk,
- int64_t start_elem_num,
- int64_t num_elem,
- void *elem_var_vals);
-
- /* Read Edge Face or Element Variable Values Defined On Blocks or Sets Through Time */
- EXODUS_EXPORT int ex_get_var_time(int exoid,
- ex_entity_type var_type,
- int var_index,
- int64_t id,
- int beg_time_step,
- int end_time_step,
- void *var_vals);
-
- EXODUS_EXPORT int ex_cvt_nodes_to_sides(int exoid,
- void_int *num_elem_per_set,
- void_int *num_nodes_per_set,
- void_int *side_sets_elem_index,
- void_int *side_sets_node_index,
- void_int *side_sets_elem_list,
- void_int *side_sets_node_list,
- void_int *side_sets_side_list);
-
- /* Can be replaced by ex_put_var ... */
- EXODUS_EXPORT int ex_put_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t num_nodes,
- const void *nodal_var_vals);
-
- EXODUS_EXPORT int ex_put_n_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t start_node,
- int64_t num_nodes,
- const void *nodal_var_vals);
-
- EXODUS_EXPORT int ex_put_partial_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t start_node,
- int64_t num_nodes,
- const void *nodal_var_vals);
-
- EXODUS_EXPORT int ex_get_partial_elem_map (int exoid,
- ex_entity_id map_id,
- int64_t ent_start,
- int64_t ent_count,
- void_int *elem_map);
-
- EXODUS_EXPORT int ex_put_partial_elem_map (int exoid,
- ex_entity_id map_id,
- int64_t ent_start,
- int64_t ent_count,
- const void_int *elem_map);
-
- EXODUS_EXPORT int ex_put_partial_num_map (int exoid,
- ex_entity_type map_type,
- ex_entity_id map_id,
- int64_t ent_start,
- int64_t ent_count,
- const void_int *map);
-
- EXODUS_EXPORT int ex_put_partial_set_dist_fact (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- int64_t offset,
- int64_t num_to_put,
- const void *set_dist_fact);
-
- /* TODO */
- EXODUS_EXPORT int ex_get_concat_side_set_node_count(int exoid,
- int *side_set_node_cnt_list);
-
- /* TODO */
- EXODUS_EXPORT int ex_get_side_set_node_list_len(int exoid,
- ex_entity_id side_set_id,
- void_int *side_set_node_list_len);
-
- /* TODO */
- EXODUS_EXPORT int ex_get_side_set_node_count(int exoid,
- ex_entity_id side_set_id,
- int *side_set_node_cnt_list);
-
- /* TODO */
- EXODUS_EXPORT int ex_get_side_set_node_list(int exoid,
- ex_entity_id side_set_id,
- void_int *side_set_node_cnt_list,
- void_int *side_set_node_list);
-
- /* ========================================================================
- Functions pulled from nemesis library and incorporated into exodus...
- */
-/*=============================================================================
- * Initial Information Routines
- *===========================================================================*/
-EXODUS_EXPORT int
-ex_get_init_info(int exoid, /* NemesisI file ID */
- int *num_proc, /* Number of processors */
- int *num_proc_in_f, /* Number of procs in this file */
- char *ftype
- );
-
-EXODUS_EXPORT int
-ex_put_init_info(int exoid, /* NemesisI file ID */
- int num_proc, /* Number of processors */
- int num_proc_in_f, /* Number of procs in this file */
- char *ftype
- );
-
-EXODUS_EXPORT int
-ex_get_init_global(int exoid, /* NemesisI file ID */
- void_int *num_nodes_g, /* Number of global FEM nodes */
- void_int *num_elems_g, /* Number of global FEM elements */
- void_int *num_elem_blks_g, /* Number of global elem blocks */
- void_int *num_node_sets_g, /* Number of global node sets */
- void_int *num_side_sets_g /* Number of global side sets */
- );
-EXODUS_EXPORT int
-ex_put_init_global(int exoid, /* NemesisI file ID */
- int64_t num_nodes_g, /* Number of global FEM nodes */
- int64_t num_elems_g, /* Number of global FEM elements */
- int64_t num_elem_blks_g, /* Number of global elem blocks */
- int64_t num_node_sets_g, /* Number of global node sets */
- int64_t num_side_sets_g /* Number of global side sets */
- );
-
-/*=============================================================================
- * Loadbalance Parameter Routines
- *===========================================================================*/
-EXODUS_EXPORT int
-ex_get_loadbal_param(int exoid, /* NetCDF/Exodus file ID */
- void_int *num_int_nodes, /* Number of internal FEM nodes */
- void_int *num_bor_nodes, /* Number of border FEM nodes */
- void_int *num_ext_nodes, /* Number of external FEM nodes */
- void_int *num_int_elems, /* Number of internal FEM elems */
- void_int *num_bor_elems, /* Number of border FEM elems */
- void_int *num_node_cmaps, /* Number of nodal comm maps */
- void_int *num_elem_cmaps, /* Number of elemental comm maps */
- int processor /* Processor ID */
- );
-
-EXODUS_EXPORT int
-ex_put_loadbal_param(int exoid, /* NemesisI file ID */
- int64_t num_int_nodes, /* Number of internal FEM nodes */
- int64_t num_bor_nodes, /* Number of border FEM nodes */
- int64_t num_ext_nodes, /* Number of external FEM nodes */
- int64_t num_int_elems, /* Number of internal FEM elems */
- int64_t num_bor_elems, /* Number of border FEM elems */
- int64_t num_node_cmaps,/* Number of nodal comm maps */
- int64_t num_elem_cmaps,/* Number of elemental comm maps */
- int processor /* Processor ID */
- );
-
-EXODUS_EXPORT int
-ex_put_loadbal_param_cc(int exoid, /* NetCDF/Exodus file ID */
- void_int *num_int_nodes, /* Number of internal node IDs */
- void_int *num_bor_nodes, /* Number of border node IDs */
- void_int *num_ext_nodes, /* Number of external node IDs */
- void_int *num_int_elems, /* Number of internal elem IDs */
- void_int *num_bor_elems, /* Number of border elem IDs */
- void_int *num_node_cmaps, /* Number of nodal comm maps */
- void_int *num_elem_cmaps /* Number of elem comm maps */
- );
-
-/*=============================================================================
- * NS, SS & EB Global Parameter Routines
- *===========================================================================*/
-EXODUS_EXPORT int
-ex_get_ns_param_global(int exoid, /* NetCDF/Exodus file ID */
- void_int *ns_ids_glob, /* Global IDs of node sets */
- void_int *ns_n_cnt_glob, /* Count of nodes in node sets */
- void_int *ns_df_cnt_glob /* Count of dist. factors in ns */
- );
-
-EXODUS_EXPORT int
-ex_put_ns_param_global(int exoid, /* NemesisI file ID */
- void_int *global_ids, /* Vector of global node-set IDs */
- void_int *global_n_cnts, /* Vector of node counts in node-sets */
- void_int *global_df_cnts /* Vector of dist factor counts in node-sets */
- );
-
-EXODUS_EXPORT int
-ex_get_ss_param_global(int exoid, /* NetCDF/Exodus file ID */
- void_int *ss_ids_glob, /* Global side-set IDs */
- void_int *ss_s_cnt_glob, /* Global side count */
- void_int *ss_df_cnt_glob /* Global dist. factor count */
- );
-
-EXODUS_EXPORT int
-ex_put_ss_param_global(int exoid, /* NemesisI file ID */
- void_int *global_ids, /* Vector of global side-set IDs */
- void_int *global_el_cnts, /* Vector of element/side */
- /* counts in each side set */
- void_int *global_df_cnts /* Vector of dist. factor */
- /* counts in each side set */
- );
-
-EXODUS_EXPORT int
-ex_get_eb_info_global(int exoid, /* NemesisI file ID */
- void_int *el_blk_ids, /* Vector of global element IDs */
- void_int *el_blk_cnts /* Vector of global element counts */
- );
-
-EXODUS_EXPORT int
-ex_put_eb_info_global(int exoid, /* NemesisI file ID */
- void_int *el_blk_ids, /* Vector of global element IDs */
- void_int *el_blk_cnts /* Vector of global element counts */
- );
-
-/*=============================================================================
- * NS, SS & EB Subset Routines
- *===========================================================================*/
-EXODUS_EXPORT int
-ex_get_n_side_set(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id side_set_id, /* Side-set ID to read */
- int64_t start_side_num, /* Starting element number */
- int64_t num_sides, /* Number of sides to read */
- void_int *side_set_elem_list, /* List of element IDs */
- void_int *side_set_side_list /* List of side IDs */
- );
-
-EXODUS_EXPORT int
-ex_put_n_side_set(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id side_set_id, /* Side-set ID to write */
- int64_t start_side_num, /* Starting element number */
- int64_t num_sides, /* Number of sides to write */
- const void_int *side_set_elem_list, /* List of element IDs */
- const void_int *side_set_side_list /* List of side IDs */
- );
-
-EXODUS_EXPORT int
-ex_get_n_side_set_df(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id side_set_id, /* Side-set ID */
- int64_t start_num, /* Starting df number */
- int64_t num_df_to_get, /* Number of df's to read */
- void *side_set_df /* Distribution factors */
- );
-
-EXODUS_EXPORT int
-ex_put_n_side_set_df(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id side_set_id, /* Side-set ID */
- int64_t start_num, /* Starting df number */
- int64_t num_df_to_get, /* Number of df's to write */
- void *side_set_df /* Distribution factors */
- );
-
-EXODUS_EXPORT int
-ex_get_n_node_set(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id node_set_id, /* Node set ID */
- int64_t start_node_num, /* Node index to start reading at */
- int64_t num_node, /* Number of nodes to read */
- void_int *node_set_node_list /* List of nodes in node set */
- );
-
-EXODUS_EXPORT int
-ex_put_n_node_set(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id node_set_id, /* Node set ID */
- int64_t start_node_num, /* Node index to start writing at */
- int64_t num_node, /* Number of nodes to write */
- const void_int *node_set_node_list /* List of nodes in node set */
- );
-
-EXODUS_EXPORT int
-ex_get_n_node_set_df(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id node_set_id, /* Node-set ID */
- int64_t start_num, /* Starting df number */
- int64_t num_df_to_get, /* Number of df's to read */
- void *node_set_df /* Distribution factors */
- );
-
-EXODUS_EXPORT int
-ex_put_n_node_set_df(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id node_set_id, /* Node-set ID */
- int64_t start_num, /* Starting df number */
- int64_t num_df_to_get, /* Number of df's to write */
- void *node_set_df /* Distribution factors */
- );
-
-EXODUS_EXPORT int
-ex_get_n_elem_conn (int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id elem_blk_id, /* Element block ID */
- int64_t start_elem_num, /* Starting position to read from */
- int64_t num_elems, /* Number of elements to read */
- void_int *connect /* Connectivity vector */
- );
-
-EXODUS_EXPORT int
-ex_put_n_elem_conn (int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id elem_blk_id, /* Element block ID */
- int64_t start_elem_num, /* Starting position to write to */
- int64_t num_elems, /* Number of elements to write */
- const void_int *connect /* Connectivity vector */
-);
-
-EXODUS_EXPORT int
-ex_get_n_elem_attr (int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id elem_blk_id, /* Element block ID */
- int64_t start_elem_num, /* Starting position to read from */
- int64_t num_elems, /* Number of elements to read */
- void *attrib /* Attribute */
- );
-
-EXODUS_EXPORT int
-ex_put_n_elem_attr (int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id elem_blk_id, /* Element block ID */
- int64_t start_elem_num, /* Starting position to write to */
- int64_t num_elems, /* Number of elements to write */
- void *attrib /* Attribute */
- );
-EXODUS_EXPORT int
-ex_get_partial_side_set(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id side_set_id, /* Side-set ID to read */
- int64_t start_side_num, /* Starting element number */
- int64_t num_sides, /* Number of sides to read */
- void_int *side_set_elem_list, /* List of element IDs */
- void_int *side_set_side_list /* List of side IDs */
- );
-
-EXODUS_EXPORT int
-ex_put_partial_side_set(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id side_set_id, /* Side-set ID to write */
- int64_t start_side_num, /* Starting element number */
- int64_t num_sides, /* Number of sides to write */
- const void_int *side_set_elem_list, /* List of element IDs */
- const void_int *side_set_side_list /* List of side IDs */
- );
-
-EXODUS_EXPORT int
-ex_get_partial_side_set_df(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id side_set_id, /* Side-set ID */
- int64_t start_num, /* Starting df number */
- int64_t num_df_to_get, /* Number of df's to read */
- void *side_set_df /* Distribution factors */
- );
-
-EXODUS_EXPORT int
-ex_put_partial_side_set_df(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id side_set_id, /* Side-set ID */
- int64_t start_num, /* Starting df number */
- int64_t num_df_to_get, /* Number of df's to write */
- void *side_set_df /* Distribution factors */
- );
-
-EXODUS_EXPORT int
-ex_get_partial_node_set(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id node_set_id, /* Node set ID */
- int64_t start_node_num, /* Node index to start reading at */
- int64_t num_node, /* Number of nodes to read */
- void_int *node_set_node_list /* List of nodes in node set */
- );
-
-EXODUS_EXPORT int
-ex_put_partial_node_set(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id node_set_id, /* Node set ID */
- int64_t start_node_num, /* Node index to start writing at */
- int64_t num_node, /* Number of nodes to write */
- const void_int *node_set_node_list /* List of nodes in node set */
- );
-
-EXODUS_EXPORT int
-ex_get_partial_node_set_df(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id node_set_id, /* Node-set ID */
- int64_t start_num, /* Starting df number */
- int64_t num_df_to_get, /* Number of df's to read */
- void *node_set_df /* Distribution factors */
- );
-
-EXODUS_EXPORT int
-ex_put_partial_node_set_df(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id node_set_id, /* Node-set ID */
- int64_t start_num, /* Starting df number */
- int64_t num_df_to_get, /* Number of df's to write */
- void *node_set_df /* Distribution factors */
- );
-
-EXODUS_EXPORT int
-ex_get_partial_elem_conn (int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id elem_blk_id, /* Element block ID */
- int64_t start_elem_num, /* Starting position to read from */
- int64_t num_elems, /* Number of elements to read */
- void_int *connect /* Connectivity vector */
- );
-
-EXODUS_EXPORT int
-ex_put_partial_elem_conn (int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id elem_blk_id, /* Element block ID */
- int64_t start_elem_num, /* Starting position to write to */
- int64_t num_elems, /* Number of elements to write */
- const void_int *connect /* Connectivity vector */
-);
-
-EXODUS_EXPORT int
-ex_get_partial_elem_attr (int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id elem_blk_id, /* Element block ID */
- int64_t start_elem_num, /* Starting position to read from */
- int64_t num_elems, /* Number of elements to read */
- void *attrib /* Attribute */
- );
-
-EXODUS_EXPORT int
-ex_put_partial_elem_attr (int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id elem_blk_id, /* Element block ID */
- int64_t start_elem_num, /* Starting position to write to */
- int64_t num_elems, /* Number of elements to write */
- void *attrib /* Attribute */
- );
-
-EXODUS_EXPORT int
-ex_get_elem_type(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id elem_blk_id, /* Element block ID */
- char *elem_type /* The name of the element type */
- );
-
-/*=============================================================================
- * Variable Routines
- *===========================================================================*/
-EXODUS_EXPORT int
-ex_put_elem_var_slab (int exoid, /* NetCDF/Exodus file ID */
- int time_step, /* time index */
- int elem_var_index, /* elemental variable index */
- ex_entity_id elem_blk_id, /* elemental block id */
- int64_t start_pos, /* Starting position to write to */
- int64_t num_vals, /* Number of elements to write */
- void *elem_var_vals /* variable values */
- );
-
-EXODUS_EXPORT int
-ex_put_nodal_var_slab(int exoid, /* NetCDF/Exodus file ID */
- int time_step, /* The time step index */
- int nodal_var_index, /* Nodal variable index */
- int64_t start_pos, /* Start position for write */
- int64_t num_vals, /* Number of nodal variables */
- void *nodal_var_vals /* Nodal variable values */
- );
-
-/*=============================================================================
- * Number Map Routines
- *===========================================================================*/
-EXODUS_EXPORT int
-ex_get_n_elem_num_map (int exoid, /* NetCDF/Exodus file ID */
- int64_t start_ent, /* Starting position to read from */
- int64_t num_ents, /* Number of elements to read */
- void_int *elem_map /* element map numbers */
- );
-
-EXODUS_EXPORT int
-ex_get_n_node_num_map(int exoid, /* NetCDF/Exodus file ID */
- int64_t start_ent, /* starting node number */
- int64_t num_ents, /* number of nodes to read */
- void_int *node_map /* vector for node map */
- );
-
-EXODUS_EXPORT int
-ex_get_partial_elem_num_map (int exoid, /* NetCDF/Exodus file ID */
- int64_t start_ent, /* Starting position to read from */
- int64_t num_ents, /* Number of elements to read */
- void_int *elem_map /* element map numbers */
- );
-
-EXODUS_EXPORT int
-ex_get_partial_node_num_map(int exoid, /* NetCDF/Exodus file ID */
- int64_t start_ent, /* starting node number */
- int64_t num_ents, /* number of nodes to read */
- void_int *node_map /* vector for node map */
- );
-
-EXODUS_EXPORT int
-ex_get_processor_node_maps(int exoid, /* NetCDF/Exodus file ID */
- void_int *node_mapi, /* Internal FEM node IDs */
- void_int *node_mapb, /* Border FEM node IDs */
- void_int *node_mape, /* External FEM node IDs */
- int processor /* Processor IDs */
- );
-
-EXODUS_EXPORT int
-ex_put_processor_node_maps(int exoid, /* NetCDF/Exodus file ID */
- void_int *node_mapi, /* Internal FEM node IDs */
- void_int *node_mapb, /* Border FEM node IDs */
- void_int *node_mape, /* External FEM node IDs */
- int processor /* This processor ID */
- );
-
-EXODUS_EXPORT int
-ex_get_processor_elem_maps(int exoid, /* NetCDF/Exodus file ID */
- void_int *elem_mapi, /* Internal element IDs */
- void_int *elem_mapb, /* Border element IDs */
- int processor /* Processor ID */
- );
-
-EXODUS_EXPORT int
-ex_put_processor_elem_maps(int exoid, /* NetCDF/Exodus file ID */
- void_int *elem_mapi, /* Internal FEM element IDs */
- void_int *elem_mapb, /* Border FEM element IDs */
- int processor /* This processor ID */
- );
-
-
-/*=============================================================================
- * Communications Maps Routines
- *===========================================================================*/
-
-EXODUS_EXPORT int
-ex_get_cmap_params(int exoid, /* NetCDF/Exodus file ID */
- void_int *node_cmap_ids, /* Nodal comm. map IDs */
- void_int *node_cmap_node_cnts, /* Number of nodes in each map */
- void_int *elem_cmap_ids, /* Elemental comm. map IDs */
- void_int *elem_cmap_elem_cnts, /* Number of elems in each map */
- int processor /* This processor ID */
- );
-
-EXODUS_EXPORT int
-ex_put_cmap_params(int exoid, /* NetCDF/Exodus file ID */
- void_int *node_map_ids, /* Node map IDs */
- void_int *node_map_node_cnts,/* Nodes in nodal comm */
- void_int *elem_map_ids, /* Elem map IDs */
- void_int *elem_map_elem_cnts,/* Elems in elemental comm */
- int64_t processor /* This processor ID */
- );
-
-EXODUS_EXPORT int
-ex_put_cmap_params_cc(int exoid, /* NetCDF/Exodus file ID */
- void_int *node_map_ids, /* Node map IDs */
- void_int *node_map_node_cnts, /* Nodes in nodal comm */
- void_int *node_proc_ptrs, /* Pointer into array for */
- /* node maps */
- void_int *elem_map_ids, /* Elem map IDs */
- void_int *elem_map_elem_cnts, /* Elems in elemental comm */
- void_int *elem_proc_ptrs /* Pointer into array for */
- /* elem maps */
- );
-
-EXODUS_EXPORT int
-ex_get_node_cmap(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id map_id, /* Map ID */
- void_int *node_ids, /* FEM node IDs */
- void_int *proc_ids, /* Processor IDs */
- int processor /* This processor ID */
- );
-
-EXODUS_EXPORT int
-ex_put_node_cmap(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id map_id, /* Nodal comm map ID */
- void_int *node_ids, /* FEM node IDs */
- void_int *proc_ids, /* Processor IDs */
- int processor /* This processor ID */
- );
-
-EXODUS_EXPORT int
-ex_get_elem_cmap(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id map_id, /* Elemental comm map ID */
- void_int *elem_ids, /* Element IDs */
- void_int *side_ids, /* Element side IDs */
- void_int *proc_ids, /* Processor IDs */
- int processor /* This processor ID */
- );
-
-EXODUS_EXPORT int
-ex_put_elem_cmap(int exoid, /* NetCDF/Exodus file ID */
- ex_entity_id map_id, /* Elemental comm map ID */
- void_int *elem_ids, /* Vector of element IDs */
- void_int *side_ids, /* Vector of side IDs */
- void_int *proc_ids, /* Vector of processor IDs */
- int processor /* This processor ID */
- );
-
- /* ========================================================================
- * Deprecated functiona
- */
-
- EXODUS_EXPORT int ex_get_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t num_nodes,
- void *nodal_var_vals);
-
- EXODUS_EXPORT int ex_get_nodal_var_time (int exoid,
- int nodal_var_index,
- int64_t node_number,
- int beg_time_step,
- int end_time_step,
- void *nodal_var_vals);
-
- /* Use ex_get_concat_sets() */
- EXODUS_EXPORT int ex_get_concat_node_sets (int exoid,
- void_int *node_set_ids,
- void_int *num_nodes_per_set,
- void_int *num_df_per_set,
- void_int *node_sets_node_index,
- void_int *node_sets_df_index,
- void_int *node_sets_node_list,
- void *node_sets_dist_fact);
-
-
- EXODUS_EXPORT int ex_get_concat_side_sets (int exoid,
- 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,
- void *side_sets_dist_fact);
-
- EXODUS_EXPORT int ex_get_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- void *attrib);
-
- EXODUS_EXPORT int ex_get_elem_attr_names (int exoid,
- ex_entity_id elem_blk_id,
- char **names);
-
- EXODUS_EXPORT int ex_get_elem_blk_ids (int exoid,
- void_int *ids);
-
- EXODUS_EXPORT int ex_get_elem_block (int exoid,
- ex_entity_id elem_blk_id,
- char *elem_type,
- void_int *num_elem_this_blk,
- void_int *num_nodes_per_elem,
- void_int *num_attr);
-
- EXODUS_EXPORT int ex_get_elem_conn (int exoid,
- ex_entity_id elem_blk_id,
- void_int *connect);
-
- EXODUS_EXPORT int ex_get_elem_map (int exoid,
- ex_entity_id map_id,
- void_int *elem_map);
-
- EXODUS_EXPORT int ex_get_elem_num_map (int exoid,
- void_int *elem_map);
-
- EXODUS_EXPORT int ex_get_elem_var (int exoid,
- int time_step,
- int elem_var_index,
- ex_entity_id elem_blk_id,
- int64_t num_elem_this_blk,
- void *elem_var_vals);
-
- EXODUS_EXPORT int ex_get_elem_var_tab (int exoid,
- int num_elem_blk,
- int num_elem_var,
- int *elem_var_tab);
-
- EXODUS_EXPORT int ex_get_elem_var_time (int exoid,
- int elem_var_index,
- int64_t elem_number,
- int beg_time_step,
- int end_time_step,
- void *elem_var_vals);
-
- EXODUS_EXPORT int ex_get_map (int exoid, void_int *elem_map);
-
- EXODUS_EXPORT int ex_get_node_map (int exoid,
- ex_entity_id map_id,
- void_int *node_map);
-
- EXODUS_EXPORT int ex_get_node_num_map (int exoid,
- void_int *node_map);
-
- EXODUS_EXPORT int ex_get_node_set_param (int exoid,
- ex_entity_id node_set_id,
- void_int *num_nodes_in_set,
- void_int *num_df_in_set);
-
- EXODUS_EXPORT int ex_get_node_set (int exoid,
- ex_entity_id node_set_id,
- void_int *node_set_node_list);
-
- EXODUS_EXPORT int ex_get_node_set_dist_fact (int exoid,
- ex_entity_id node_set_id,
- void *node_set_dist_fact);
-
- EXODUS_EXPORT int ex_get_node_set_ids (int exoid,
- void_int *ids);
-
- EXODUS_EXPORT int ex_get_nset_var_tab (int exoid,
- int num_nodesets,
- int num_nset_var,
- int *nset_var_tab);
-
- EXODUS_EXPORT int ex_get_nset_var (int exoid,
- int time_step,
- int nset_var_index,
- ex_entity_id nset_id,
- int64_t num_node_this_nset,
- void *nset_var_vals);
-
- EXODUS_EXPORT int ex_get_one_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- int attrib_index,
- void *attrib);
-
- EXODUS_EXPORT int ex_get_side_set (int exoid,
- ex_entity_id side_set_id,
- void_int *side_set_elem_list,
- void_int *side_set_side_list);
-
- EXODUS_EXPORT int ex_get_side_set_dist_fact (int exoid,
- ex_entity_id side_set_id,
- void *side_set_dist_fact);
-
- EXODUS_EXPORT int ex_get_side_set_ids (int exoid,
- void_int *ids);
-
- EXODUS_EXPORT int ex_get_side_set_param (int exoid,
- ex_entity_id side_set_id,
- void_int *num_side_in_set,
- void_int *num_dist_fact_in_set);
-
- EXODUS_EXPORT int ex_get_sset_var (int exoid,
- int time_step,
- int sset_var_index,
- ex_entity_id sset_id,
- int64_t num_side_this_sset,
- void *sset_var_vals);
-
- EXODUS_EXPORT int ex_get_sset_var_tab (int exoid,
- int num_sidesets,
- int num_sset_var,
- int *sset_var_tab);
-
- EXODUS_EXPORT int ex_get_var_names (int exoid,
- const char *var_type,
- int num_vars,
- char *var_names[]);
-
- EXODUS_EXPORT int ex_get_var_name (int exoid,
- const char *var_type,
- int var_num,
- char *var_name);
-
- EXODUS_EXPORT int ex_get_var_param (int exoid,
- const char *var_type,
- int *num_vars);
-
- EXODUS_EXPORT int ex_get_var_tab (int exoid,
- const char *var_type,
- int num_blk,
- int num_var,
- int *var_tab);
-
- EXODUS_EXPORT int ex_put_concat_node_sets (int exoid,
- 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_df_index,
- void_int *node_sets_node_list,
- void *node_sets_dist_fact);
-
- EXODUS_EXPORT int ex_put_concat_side_sets (int exoid,
- 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,
- void *side_sets_dist_fact);
-
- EXODUS_EXPORT int ex_put_concat_var_param (int exoid, int num_g, int num_n,
- int num_e, int num_elem_blk, int *elem_var_tab);
-
- EXODUS_EXPORT int ex_put_elem_attr_names(int exoid,
- ex_entity_id elem_blk_id,
- char *names[]);
- EXODUS_EXPORT int ex_put_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- const void *attrib);
-
- EXODUS_EXPORT int ex_put_elem_block (int exoid,
- ex_entity_id elem_blk_id,
- const char *elem_type,
- int64_t num_elem_this_blk,
- int64_t num_nodes_per_elem,
- int64_t num_attr);
-
- EXODUS_EXPORT int ex_put_elem_conn (int exoid,
- ex_entity_id elem_blk_id,
- const void_int *connect);
-
- EXODUS_EXPORT int ex_put_elem_map (int exoid,
- ex_entity_id map_id,
- const void_int *elem_map);
-
- EXODUS_EXPORT int ex_put_elem_num_map (int exoid,
- const void_int *elem_map);
-
- EXODUS_EXPORT int ex_put_elem_var (int exoid,
- int time_step,
- int elem_var_index,
- ex_entity_id elem_blk_id,
- int64_t num_elem_this_blk,
- const void *elem_var_vals);
-
- EXODUS_EXPORT int ex_put_elem_var_tab (int exoid,
- int num_elem_blk,
- int num_elem_var,
- int *elem_var_tab);
-
- EXODUS_EXPORT int ex_put_glob_vars (int exoid,
- int time_step,
- int num_glob_vars,
- const void *glob_var_vals);
-
- EXODUS_EXPORT int ex_put_map (int exoid,
- const void_int *elem_map);
-
- EXODUS_EXPORT int ex_put_node_map (int exoid,
- ex_entity_id map_id,
- const void_int *node_map);
-
- EXODUS_EXPORT int ex_put_node_num_map (int exoid,
- const void_int *node_map);
-
- EXODUS_EXPORT int ex_put_node_set (int exoid,
- ex_entity_id node_set_id,
- const void_int *node_set_node_list);
-
- EXODUS_EXPORT int ex_put_node_set_dist_fact (int exoid,
- ex_entity_id node_set_id,
- const void *node_set_dist_fact);
-
- EXODUS_EXPORT int ex_put_node_set_param (int exoid,
- ex_entity_id node_set_id,
- int64_t num_nodes_in_set,
- int64_t num_dist_in_set);
-
- EXODUS_EXPORT int ex_put_nset_var (int exoid,
- int time_step,
- int nset_var_index,
- ex_entity_id nset_id,
- int64_t num_nodes_this_nset,
- const void *nset_var_vals);
-
- EXODUS_EXPORT int ex_put_nset_var_tab (int exoid,
- int num_nset,
- int num_nset_var,
- int *nset_var_tab);
-
- EXODUS_EXPORT int ex_put_one_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- int attrib_index,
- const void *attrib);
-
- EXODUS_EXPORT int ex_put_side_set (int exoid,
- ex_entity_id side_set_id,
- const void_int *side_set_elem_list,
- const void_int *side_set_side_list);
-
- EXODUS_EXPORT int ex_put_side_set_dist_fact (int exoid,
- ex_entity_id side_set_id,
- const void *side_set_dist_fact);
-
- EXODUS_EXPORT int ex_put_side_set_param (int exoid,
- ex_entity_id side_set_id,
- int64_t num_side_in_set,
- int64_t num_dist_fact_in_set);
-
- EXODUS_EXPORT int ex_put_sset_var (int exoid,
- int time_step,
- int sset_var_index,
- ex_entity_id sset_id,
- int64_t num_faces_this_sset,
- const void *sset_var_vals);
-
- EXODUS_EXPORT int ex_put_sset_var_tab (int exoid,
- int num_sset,
- int num_sset_var,
- int *sset_var_tab);
-
- EXODUS_EXPORT int ex_put_var_name (int exoid,
- const char *var_type,
- int var_num,
- const char *var_name);
-
- EXODUS_EXPORT int ex_put_var_names (int exoid,
- const char *var_type,
- int num_vars,
- char *var_names[]);
-
- EXODUS_EXPORT int ex_put_var_param (int exoid,
- const char *var_type,
- int num_vars);
-
- EXODUS_EXPORT int ex_put_var_tab (int exoid,
- const char *var_type,
- int num_blk,
- int num_var,
- int *var_tab);
-
- /* End of Deprecated functions and their replacements
- * ======================================================================== */
-
- /* ERROR CODE DEFINITIONS AND STORAGE */
- extern int exerrval; /**< shared error return value */
- extern int exoptval; /**< error reporting flag (default is quiet) */
-
- char* ex_name_of_object(ex_entity_type obj_type);
- ex_entity_type ex_var_type_to_ex_entity_type(char var_type);
-
- /* Should be internal use only, but was in external include file for
- nemesis and some codes are using the function
- */
- int ex_get_idx(int neid, /* NetCDF/Exodus file ID */
- const char *ne_var_name, /* Nemesis index variable name */
- int64_t *index, /* array of length 2 to hold results */
- int pos /* position of this proc/cmap in index */
- );
-
-
-#ifdef __cplusplus
-} /* close brackets on extern "C" declaration */
-#endif
-
-/**
- * \defgroup ErrorReturnCodes Exodus error return codes - exerrval return values
- * @{
- */
-#define EX_MEMFAIL 1000 /**< memory allocation failure flag def */
-#define EX_BADFILEMODE 1001 /**< bad file mode def */
-#define EX_BADFILEID 1002 /**< bad file id def */
-#define EX_WRONGFILETYPE 1003 /**< wrong file type for function */
-#define EX_LOOKUPFAIL 1004 /**< id table lookup failed */
-#define EX_BADPARAM 1005 /**< bad parameter passed */
-#define EX_MSG -1000 /**< message print code - no error implied */
-#define EX_PRTLASTMSG -1001 /**< print last error message msg code */
-#define EX_NULLENTITY -1006 /**< null entity found */
-/* @} */
-
-#endif
-
diff --git a/cbind/include/exodusII_cfg.h b/cbind/include/exodusII_cfg.h
deleted file mode 100755
index 7a209e7..0000000
--- a/cbind/include/exodusII_cfg.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef __exodusII_cfg_h
-#define __exodusII_cfg_h
-
-#define EXODUSII_VERSION_MAJOR 5
-#define EXODUSII_VERSION_MINOR 14
-#define EXODUSII_VERSION_PATCH 0
-#define EXODUSII_VERSION "5.14.0"
-
-#if defined(_WIN32) && !defined(WIN32)
-# define WIN32
-#endif
-
-/* #undef EXODUSII_BUILD_SHARED_LIBS */
-#if defined(WIN32) && defined(EXODUSII_BUILD_SHARED_LIBS)
-# if defined(exoIIc_EXPORTS)
-# define EXODUS_EXPORT __declspec( dllexport ) extern
-# else
-# define EXODUS_EXPORT __declspec( dllimport ) extern
-# endif
-#else
-# define EXODUS_EXPORT extern
-#endif
-
-#endif
-
diff --git a/cbind/include/exodusII_cfg.h.in b/cbind/include/exodusII_cfg.h.in
deleted file mode 100755
index 8b9d0f4..0000000
--- a/cbind/include/exodusII_cfg.h.in
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef __exodusII_cfg_h
-#define __exodusII_cfg_h
-
-#define EXODUSII_VERSION_MAJOR @EXODUSII_VERSION_MAJOR@
-#define EXODUSII_VERSION_MINOR @EXODUSII_VERSION_MINOR@
-#define EXODUSII_VERSION_PATCH @EXODUSII_VERSION_PATCH@
-#define EXODUSII_VERSION "@EXODUSII_VERSION_MAJOR at .@EXODUSII_VERSION_MINOR at .@EXODUSII_VERSION_PATCH@"
-
-#if defined(_WIN32) && !defined(WIN32)
-# define WIN32
-#endif
-
-#cmakedefine EXODUSII_BUILD_SHARED_LIBS
-#if defined(WIN32) && defined(EXODUSII_BUILD_SHARED_LIBS)
-# if defined(exoIIc_EXPORTS)
-# define EXODUS_EXPORT __declspec( dllexport ) extern
-# else
-# define EXODUS_EXPORT __declspec( dllimport ) extern
-# endif
-#else
-# define EXODUS_EXPORT extern
-#endif
-
-#endif
-
diff --git a/cbind/include/exodusII_int.h b/cbind/include/exodusII_int.h
deleted file mode 100644
index 0ac1dc6..0000000
--- a/cbind/include/exodusII_int.h
+++ /dev/null
@@ -1,766 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exodusII_int.h - ExodusII header file for internal Exodus call use only
-*
-*/
-
-#ifndef EXODUS_II_INT_HDR
-#define EXODUS_II_INT_HDR
-
-#include "netcdf.h"
-#include <inttypes.h>
-
-#ifndef __APPLE__
-#if defined __STDC__ || defined __cplusplus
-#include <stdlib.h>
-#endif
-#endif
-
-#ifdef _MSC_VER
-# pragma warning ( disable : 4127 )
-# pragma warning ( disable : 4706 )
-# pragma warning ( disable : 4701 )
-#endif
-
-#if defined(__BORLANDC__)
-#pragma warn -8004 /* "assigned a value that is never used" */
-#endif
-
-
-#include <stdio.h>
-
-/* A format string for outputting size_t ... */
-#if 0
-#if (defined(__STDC__) && defined(__STDC_VERSION__))
-# if (__STDC__ && __STDC_VERSION__ >= 199901L)
-# define PRIoSIZE "zo"
-# define PRIuSIZE "zu"
-# define PRIxSIZE "zx"
-# define PRIXSIZE "zX"
-# endif
-#else
-/* ULLONG_MAX is defined in my wrapper if 64-bit integer extensions
-are detected, even if it's not a C99 compiler. */
-# if defined(ULLONG_MAX) && (SIZE_MAX == ULLONG_MAX)
-# define PRIoSIZE "llo"
-# define PRIuSIZE "llu"
-# define PRIxSIZE "llx"
-# define PRIXSIZE "llX"
-# elif (SIZE_MAX == ULONG_MAX)
-# define PRIoSIZE "lo"
-# define PRIuSIZE "lu"
-# define PRIxSIZE "lx"
-# define PRIXSIZE "lX"
-# elif (SIZE_MAX == UINT_MAX)
-# define PRIoSIZE "o"
-# define PRIuSIZE "u"
-# define PRIxSIZE "x"
-# define PRIXSIZE "X"
-# elif (SIZE_MAX == USHRT_MAX)
-# define PRIoSIZE "ho"
-# define PRIuSIZE "hu"
-# define PRIxSIZE "hx"
-# define PRIXSIZE "hX"
-# else
-# error "Platform not supported"
-# endif
-#endif
-#endif
-
-#define ST_ZU "lu"
-
-#define MAX_VAR_NAME_LENGTH 32 /**< Internal use only */
-
-/* this should be defined in ANSI C and C++, but just in case ... */
-#ifndef NULL
-#define NULL 0
-#endif
-
-/* Default "filesize" for newly created files.
- * Set to 0 for normal filesize setting.
- * Set to 1 for EXODUS_LARGE_MODEL setting to be the default
- */
-#define EXODUS_DEFAULT_SIZE 1
-
-/* Exodus error return codes - function return values: */
-#define EX_FATAL -1 /* fatal error flag def */
-#define EX_NOERR 0 /* no error flag def */
-#define EX_WARN 1 /* warning flag def */
-
-/*
- * This file contains defined constants that are used internally in the
- * EXODUS II API.
- *
- * The first group of constants refer to netCDF variables, attributes, or
- * dimensions in which the EXODUS II data are stored. Using the defined
- * constants will allow the names of the netCDF entities to be changed easily
- * in the future if needed. The first three letters of the constant identify
- * the netCDF entity as a variable (VAR), dimension (DIM), or attribute (ATT).
- *
- * NOTE: The entity name should not have any blanks in it. Blanks are
- * technically legal but some netcdf utilities (ncgen in particular)
- * fail when they encounter a blank in a name.
- *
- * DEFINED CONSTANT ENTITY NAME DATA STORED IN ENTITY
- */
-#define ATT_FILE_TYPE "type" /* obsolete */
-#define ATT_TITLE "title" /* the database title */
-#define ATT_API_VERSION "api_version" /* the EXODUS II api vers # */
-#define ATT_API_VERSION_BLANK "api version" /* the EXODUS II api vers # */
- /* used for db version 2.01 */
- /* and earlier */
-#define ATT_VERSION "version" /* the EXODUS II file vers # */
-#define ATT_FILESIZE "file_size" /* 1=large, 0=normal */
-#define ATT_FLT_WORDSIZE "floating_point_word_size"
- /* word size of floating */
- /* point numbers in file */
-#define ATT_FLT_WORDSIZE_BLANK "floating point word size"
- /* word size of floating */
- /* point numbers in file */
- /* used for db version 2.01 */
- /* and earlier */
-#define ATT_MAX_NAME_LENGTH "maximum_name_length"
-#define ATT_INT64_STATUS "int64_status"
-
-#define DIM_NUM_NODES "num_nodes" /* # of nodes */
-#define DIM_NUM_DIM "num_dim" /* # of dimensions; 2- or 3-d*/
-#define DIM_NUM_EDGE "num_edge" /* # of edges (over all blks)*/
-#define DIM_NUM_FACE "num_face" /* # of faces (over all blks)*/
-#define DIM_NUM_ELEM "num_elem" /* # of elements */
-#define DIM_NUM_EL_BLK "num_el_blk" /* # of element blocks */
-#define DIM_NUM_ED_BLK "num_ed_blk" /* # of edge blocks */
-#define DIM_NUM_FA_BLK "num_fa_blk" /* # of face blocks */
-#define VAR_COORD "coord" /* nodal coordinates */
-#define VAR_COORD_X "coordx" /* X-dimension coordinate */
-#define VAR_COORD_Y "coordy" /* Y-dimension coordinate */
-#define VAR_COORD_Z "coordz" /* Z-dimension coordinate */
-#define VAR_NAME_COOR "coor_names" /* names of coordinates */
-#define VAR_NAME_EL_BLK "eb_names" /* names of element blocks */
-#define VAR_NAME_NS "ns_names" /* names of node sets */
-#define VAR_NAME_SS "ss_names" /* names of side sets */
-#define VAR_NAME_EM "emap_names" /* names of element maps */
-#define VAR_NAME_EDM "edmap_names" /* names of edge maps */
-#define VAR_NAME_FAM "famap_names" /* names of face maps */
-#define VAR_NAME_NM "nmap_names" /* names of node maps */
-#define VAR_NAME_ED_BLK "ed_names" /* names of edge blocks */
-#define VAR_NAME_FA_BLK "fa_names" /* names of face blocks */
-#define VAR_NAME_ES "es_names" /* names of edge sets */
-#define VAR_NAME_FS "fs_names" /* names of face sets */
-#define VAR_NAME_ELS "els_names" /* names of element sets */
-#define VAR_STAT_EL_BLK "eb_status" /* element block status */
-#define VAR_STAT_ECONN "econn_status" /* element block edge status */
-#define VAR_STAT_FCONN "fconn_status" /* element block face status */
-#define VAR_STAT_ED_BLK "ed_status" /* edge block status */
-#define VAR_STAT_FA_BLK "fa_status" /* face block status */
-#define VAR_ID_EL_BLK "eb_prop1" /* element block ids props */
-#define VAR_ID_ED_BLK "ed_prop1" /* edge block ids props */
-#define VAR_ID_FA_BLK "fa_prop1" /* face block ids props */
-#define ATT_NAME_ELB "elem_type" /* element type names for */
- /* each element block */
-#define DIM_NUM_EL_IN_BLK(num) ex_catstr("num_el_in_blk",num)
- /* # of elements in element */
- /* block num */
-#define DIM_NUM_NOD_PER_EL(num) ex_catstr("num_nod_per_el",num)
- /* # of nodes per element in */
- /* element block num */
-#define DIM_NUM_ATT_IN_BLK(num) ex_catstr("num_att_in_blk",num)
- /* # of attributes in element*/
- /* block num */
-#define DIM_NUM_ED_IN_EBLK(num) ex_catstr("num_ed_in_blk",num)
- /* # of edges in edge */
- /* block num */
-#define DIM_NUM_NOD_PER_ED(num) ex_catstr("num_nod_per_ed",num)
- /* # of nodes per edge in */
- /* edge block num */
-#define DIM_NUM_EDG_PER_EL(num) ex_catstr("num_edg_per_el",num)
- /* # of edges per element in */
- /* element block num */
-#define DIM_NUM_ATT_IN_EBLK(num) ex_catstr("num_att_in_eblk",num)
- /* # of attributes in edge */
- /* block num */
-#define DIM_NUM_FA_IN_FBLK(num) ex_catstr("num_fa_in_blk",num)
- /* # of faces in face */
- /* block num */
-#define DIM_NUM_NOD_PER_FA(num) ex_catstr("num_nod_per_fa",num)
- /* # of nodes per face in */
- /* face block num */
-#define DIM_NUM_FAC_PER_EL(num) ex_catstr("num_fac_per_el",num)
- /* # of faces per element in */
- /* element block num */
-#define DIM_NUM_ATT_IN_FBLK(num) ex_catstr("num_att_in_fblk",num)
- /* # of attributes in face */
- /* block num */
-#define VAR_CONN(num) ex_catstr("connect",num)
- /* element connectivity for */
- /* element block num */
-#define VAR_EBEPEC(num) ex_catstr("ebepecnt",num)
- /* array containing number of entity per */
- /* entity for n-sided face/element blocks */
-#define VAR_ATTRIB(num) ex_catstr("attrib",num)
- /* list of attributes for */
- /* element block num */
-#define VAR_NAME_ATTRIB(num) ex_catstr("attrib_name",num)
- /* list of attribute names */
- /* for element block num */
-#define VAR_EB_PROP(num) ex_catstr("eb_prop",num)
- /* list of the numth property*/
- /* for all element blocks */
-#define VAR_ECONN(num) ex_catstr("edgconn",num)
- /* edge connectivity for */
- /* element block num */
-#define VAR_EBCONN(num) ex_catstr("ebconn",num)
- /* edge connectivity for */
- /* edge block num */
-#define VAR_EATTRIB(num) ex_catstr("eattrb",num)
- /* list of attributes for */
- /* edge block num */
-#define VAR_NAME_EATTRIB(num) ex_catstr("eattrib_name",num)
- /* list of attribute names */
- /* for edge block num */
-#define VAR_NATTRIB "nattrb"
-#define VAR_NAME_NATTRIB "nattrib_name"
-#define DIM_NUM_ATT_IN_NBLK "num_att_in_nblk"
-
-#define VAR_NSATTRIB(num) ex_catstr("nsattrb",num)
-#define VAR_NAME_NSATTRIB(num) ex_catstr("nsattrib_name",num)
-#define DIM_NUM_ATT_IN_NS(num) ex_catstr("num_att_in_ns",num)
-
-#define VAR_SSATTRIB(num) ex_catstr("ssattrb",num)
-#define VAR_NAME_SSATTRIB(num) ex_catstr("ssattrib_name",num)
-#define DIM_NUM_ATT_IN_SS(num) ex_catstr("num_att_in_ss",num)
-
-#define VAR_ESATTRIB(num) ex_catstr("esattrb",num)
-#define VAR_NAME_ESATTRIB(num) ex_catstr("esattrib_name",num)
-#define DIM_NUM_ATT_IN_ES(num) ex_catstr("num_att_in_es",num)
-
-#define VAR_FSATTRIB(num) ex_catstr("fsattrb",num)
-#define VAR_NAME_FSATTRIB(num) ex_catstr("fsattrib_name",num)
-#define DIM_NUM_ATT_IN_FS(num) ex_catstr("num_att_in_fs",num)
-
-#define VAR_ELSATTRIB(num) ex_catstr("elsattrb",num)
-#define VAR_NAME_ELSATTRIB(num) ex_catstr("elsattrib_name",num)
-#define DIM_NUM_ATT_IN_ELS(num) ex_catstr("num_att_in_els",num)
-
-#define VAR_ED_PROP(num) ex_catstr("ed_prop",num)
- /* list of the numth property*/
- /* for all edge blocks */
-#define VAR_FCONN(num) ex_catstr("facconn",num)
- /* face connectivity for */
- /* element block num */
-#define VAR_FBCONN(num) ex_catstr("fbconn",num)
- /* face connectivity for */
- /* face block num */
-#define VAR_FBEPEC(num) ex_catstr("fbepecnt",num)
- /* array containing number of entity per */
- /* entity for n-sided face/element blocks */
-#define VAR_FATTRIB(num) ex_catstr("fattrb",num)
- /* list of attributes for */
- /* face block num */
-#define VAR_NAME_FATTRIB(num) ex_catstr("fattrib_name",num)
- /* list of attribute names */
- /* for face block num */
-#define VAR_FA_PROP(num) ex_catstr("fa_prop",num)
- /* list of the numth property*/
- /* for all face blocks */
-#define ATT_PROP_NAME "name" /* name attached to element */
- /* block, node set, side */
- /* set, element map, or */
- /* map properties */
-#define VAR_MAP "elem_map" /* element order map */
- /* obsolete, replaced by */
- /* VAR_ELEM_MAP(num) */
-#define DIM_NUM_SS "num_side_sets" /* # of side sets */
-#define VAR_SS_STAT "ss_status" /* side set status */
-#define VAR_SS_IDS "ss_prop1" /* side set id properties */
-#define DIM_NUM_SIDE_SS(num) ex_catstr("num_side_ss",num)
- /* # of sides in side set num*/
-#define DIM_NUM_DF_SS(num) ex_catstr("num_df_ss",num)
- /* # of distribution factors */
- /* in side set num */
-/*#define DIM_NUM_NOD_SS(num) ex_catstr("num_nod_ss",num) *** obsolete *** */
- /* # of nodes in side set num*/
-#define VAR_FACT_SS(num) ex_catstr("dist_fact_ss",num)
- /* the distribution factors */
- /* for each node in side */
- /* set num */
-#define VAR_ELEM_SS(num) ex_catstr("elem_ss",num)
- /* list of elements in side */
- /* set num */
-#define VAR_SIDE_SS(num) ex_catstr("side_ss",num)
- /* list of sides in side set */
-#define VAR_SS_PROP(num) ex_catstr("ss_prop",num)
- /* list of the numth property*/
- /* for all side sets */
-#define DIM_NUM_ES "num_edge_sets"/* # of edge sets */
-#define VAR_ES_STAT "es_status" /* edge set status */
-#define VAR_ES_IDS "es_prop1" /* edge set id properties */
-#define DIM_NUM_EDGE_ES(num) ex_catstr("num_edge_es",num)
- /* # of edges in edge set num*/
-#define DIM_NUM_DF_ES(num) ex_catstr("num_df_es",num)
- /* # of distribution factors */
- /* in edge set num */
-/*#define DIM_NUM_NOD_ES(num) ex_catstr("num_nod_es",num) *** obsolete *** */
- /* # of nodes in edge set num*/
-#define VAR_FACT_ES(num) ex_catstr("dist_fact_es",num)
- /* the distribution factors */
- /* for each node in edge */
- /* set num */
-#define VAR_EDGE_ES(num) ex_catstr("edge_es",num)
- /* list of edges in edge */
- /* set num */
-#define VAR_ORNT_ES(num) ex_catstr("ornt_es",num)
- /* list of orientations in */
- /* the edge set. */
-#define VAR_ES_PROP(num) ex_catstr("es_prop",num)
- /* list of the numth property*/
- /* for all edge sets */
-#define DIM_NUM_FS "num_face_sets"/* # of face sets */
-#define VAR_FS_STAT "fs_status" /* face set status */
-#define VAR_FS_IDS "fs_prop1" /* face set id properties */
-#define DIM_NUM_FACE_FS(num) ex_catstr("num_face_fs",num)
- /* # of faces in side set num*/
-#define DIM_NUM_DF_FS(num) ex_catstr("num_df_fs",num)
- /* # of distribution factors */
- /* in face set num */
-/*#define DIM_NUM_NOD_FS(num) ex_catstr("num_nod_ss",num) *** obsolete *** */
- /* # of nodes in face set num*/
-#define VAR_FACT_FS(num) ex_catstr("dist_fact_fs",num)
- /* the distribution factors */
- /* for each node in face */
- /* set num */
-#define VAR_FACE_FS(num) ex_catstr("face_fs",num)
- /* list of elements in face */
- /* set num */
-#define VAR_ORNT_FS(num) ex_catstr("ornt_fs",num)
- /* list of sides in side set */
-#define VAR_FS_PROP(num) ex_catstr("fs_prop",num)
- /* list of the numth property*/
- /* for all face sets */
-#define DIM_NUM_ELS "num_elem_sets"/* # of elem sets */
-#define DIM_NUM_ELE_ELS(num) ex_catstr("num_ele_els",num)
- /* # of elements in elem set */
- /* num */
-#define DIM_NUM_DF_ELS(num) ex_catstr("num_df_els",num)
- /* # of distribution factors */
- /* in element set num */
-#define VAR_ELS_STAT "els_status" /* elem set status */
-#define VAR_ELS_IDS "els_prop1" /* elem set id properties */
-#define VAR_ELEM_ELS(num) ex_catstr("elem_els",num)
- /* list of elements in elem */
- /* set num */
-#define VAR_FACT_ELS(num) ex_catstr("dist_fact_els",num)
- /* list of distribution */
- /* factors in elem set num */
-#define VAR_ELS_PROP(num) ex_catstr("els_prop",num)
- /* list of the numth property*/
- /* for all elem sets */
-#define DIM_NUM_NS "num_node_sets"/* # of node sets */
-#define DIM_NUM_NOD_NS(num) ex_catstr("num_nod_ns",num)
- /* # of nodes in node set */
- /* num */
-#define DIM_NUM_DF_NS(num) ex_catstr("num_df_ns",num)
- /* # of distribution factors */
- /* in node set num */
-#define VAR_NS_STAT "ns_status" /* node set status */
-#define VAR_NS_IDS "ns_prop1" /* node set id properties */
-#define VAR_NODE_NS(num) ex_catstr("node_ns",num)
- /* list of nodes in node set */
- /* num */
-#define VAR_FACT_NS(num) ex_catstr("dist_fact_ns",num)
- /* list of distribution */
- /* factors in node set num */
-#define VAR_NS_PROP(num) ex_catstr("ns_prop",num)
- /* list of the numth property*/
- /* for all node sets */
-#define DIM_NUM_QA "num_qa_rec" /* # of QA records */
-#define VAR_QA_TITLE "qa_records" /* QA records */
-#define DIM_NUM_INFO "num_info" /* # of information records */
-#define VAR_INFO "info_records" /* information records */
-#define VAR_HIS_TIME "time_hist" /* obsolete */
-#define VAR_WHOLE_TIME "time_whole" /* simulation times for whole*/
- /* time steps */
-#define VAR_ELEM_TAB "elem_var_tab" /* element variable truth */
- /* table */
-#define VAR_EBLK_TAB "edge_var_tab" /* edge variable truth table */
-#define VAR_FBLK_TAB "face_var_tab" /* face variable truth table */
-#define VAR_ELSET_TAB "elset_var_tab" /* elemset variable truth */
- /* table */
-#define VAR_SSET_TAB "sset_var_tab" /* sideset variable truth */
- /* table */
-#define VAR_FSET_TAB "fset_var_tab" /* faceset variable truth */
- /* table */
-#define VAR_ESET_TAB "eset_var_tab" /* edgeset variable truth */
- /* table */
-#define VAR_NSET_TAB "nset_var_tab" /* nodeset variable truth */
- /* table */
-#define DIM_NUM_GLO_VAR "num_glo_var" /* # of global variables */
-#define VAR_NAME_GLO_VAR "name_glo_var" /* names of global variables */
-#define VAR_GLO_VAR "vals_glo_var" /* values of global variables*/
-#define DIM_NUM_NOD_VAR "num_nod_var" /* # of nodal variables */
-#define VAR_NAME_NOD_VAR "name_nod_var" /* names of nodal variables */
-#define VAR_NOD_VAR "vals_nod_var" /* values of nodal variables */
-#define VAR_NOD_VAR_NEW(num) ex_catstr("vals_nod_var",num)
- /* values of nodal variables */
-#define DIM_NUM_ELE_VAR "num_elem_var" /* # of element variables */
-#define VAR_NAME_ELE_VAR "name_elem_var" /* names of element variables*/
-#define VAR_ELEM_VAR(num1,num2) ex_catstr2("vals_elem_var",num1,"eb",num2)
- /* values of element variable*/
- /* num1 in element block */
- /* num2 */
-#define DIM_NUM_EDG_VAR "num_edge_var" /* # of edge variables */
-#define VAR_NAME_EDG_VAR "name_edge_var" /* names of edge variables */
-#define VAR_EDGE_VAR(num1,num2) ex_catstr2("vals_edge_var",num1,"eb",num2)
- /* values of edge variable */
- /* num1 in edge block num2 */
-#define DIM_NUM_FAC_VAR "num_face_var" /* # of face variables */
-#define VAR_NAME_FAC_VAR "name_face_var" /* names of face variables */
-#define VAR_FACE_VAR(num1,num2) ex_catstr2("vals_face_var",num1,"fb",num2)
- /* values of face variable */
- /* num1 in face block num2 */
-
-#define DIM_NUM_NSET_VAR "num_nset_var" /* # of nodeset variables */
-#define VAR_NAME_NSET_VAR "name_nset_var" /* names of nodeset variables*/
-#define VAR_NS_VAR(num1,num2) ex_catstr2("vals_nset_var",num1,"ns",num2)
- /* values of nodeset variable*/
- /* num1 in nodeset num2 */
-#define DIM_NUM_ESET_VAR "num_eset_var" /* # of edgeset variables */
-#define VAR_NAME_ESET_VAR "name_eset_var" /* names of edgeset variables*/
-#define VAR_ES_VAR(num1,num2) ex_catstr2("vals_eset_var",num1,"es",num2)
- /* values of edgeset variable*/
- /* num1 in edgeset num2 */
-#define DIM_NUM_FSET_VAR "num_fset_var" /* # of faceset variables */
-#define VAR_NAME_FSET_VAR "name_fset_var" /* names of faceset variables*/
-#define VAR_FS_VAR(num1,num2) ex_catstr2("vals_fset_var",num1,"fs",num2)
- /* values of faceset variable*/
- /* num1 in faceset num2 */
-#define DIM_NUM_SSET_VAR "num_sset_var" /* # of sideset variables */
-#define VAR_NAME_SSET_VAR "name_sset_var" /* names of sideset variables*/
-#define VAR_SS_VAR(num1,num2) ex_catstr2("vals_sset_var",num1,"ss",num2)
- /* values of sideset variable*/
- /* num1 in sideset num2 */
-#define DIM_NUM_ELSET_VAR "num_elset_var" /* # of element set variables*/
-#define VAR_NAME_ELSET_VAR "name_elset_var"/* names of elemset variables*/
-#define VAR_ELS_VAR(num1,num2) ex_catstr2("vals_elset_var",num1,"es",num2)
- /* values of elemset variable*/
- /* num1 in elemset num2 */
-
-#define DIM_NUM_HIS_VAR "num_his_var" /* obsolete */
-#define VAR_NAME_HIS_VAR "name_his_var" /* obsolete */
-#define VAR_HIS_VAR "vals_his_var" /* obsolete */
-#define DIM_STR "len_string" /* general dimension of */
- /* length MAX_STR_LENGTH */
- /* used for some string lengths */
-#define DIM_STR_NAME "len_name" /* general dimension of */
- /* length MAX_NAME_LENGTH */
- /* used for name lengths */
-#define DIM_LIN "len_line" /* general dimension of */
- /* length MAX_LINE_LENGTH */
- /* used for long strings */
-#define DIM_N4 "four" /* general dimension of */
- /* length 4 */
-#define DIM_TIME "time_step" /* unlimited (expandable) */
- /* dimension for time steps*/
-#define DIM_HTIME "hist_time_step"/* obsolete */
-#define VAR_ELEM_NUM_MAP "elem_num_map" /* element numbering map */
- /* obsolete, replaced by */
- /* VAR_ELEM_MAP(num) */
-#define VAR_FACE_NUM_MAP "face_num_map" /* face numbering map */
- /* obsolete, replaced by */
- /* VAR_FACE_MAP(num) */
-#define VAR_EDGE_NUM_MAP "edge_num_map" /* edge numbering map */
- /* obsolete, replaced by */
- /* VAR_EDGE_MAP(num) */
-#define VAR_NODE_NUM_MAP "node_num_map" /* node numbering map */
- /* obsolete, replaced by */
- /* VAR_NODE_MAP(num) */
-#define DIM_NUM_EM "num_elem_maps" /* # of element maps */
-#define VAR_ELEM_MAP(num) ex_catstr("elem_map",num)
- /* the numth element map */
-#define VAR_EM_PROP(num) ex_catstr("em_prop",num)
- /* list of the numth property*/
- /* for all element maps */
-#define DIM_NUM_EDM "num_edge_maps" /* # of edge maps */
-#define VAR_EDGE_MAP(num) ex_catstr("edge_map",num)
- /* the numth edge map */
-#define VAR_EDM_PROP(num) ex_catstr("edm_prop",num)
- /* list of the numth property*/
- /* for all edge maps */
-#define DIM_NUM_FAM "num_face_maps" /* # of face maps */
-#define VAR_FACE_MAP(num) ex_catstr("face_map",num)
- /* the numth face map */
-#define VAR_FAM_PROP(num) ex_catstr("fam_prop",num)
- /* list of the numth property*/
- /* for all face maps */
-#define DIM_NUM_NM "num_node_maps" /* # of node maps */
-#define VAR_NODE_MAP(num) ex_catstr("node_map",num)
- /* the numth node map */
-#define VAR_NM_PROP(num) ex_catstr("nm_prop",num)
- /* list of the numth property*/
- /* for all node maps */
-
-#define DIM_NUM_CFRAMES "num_cframes"
-#define DIM_NUM_CFRAME9 "num_cframes_9"
-#define VAR_FRAME_COORDS "frame_coordinates"
-#define VAR_FRAME_IDS "frame_ids"
-#define VAR_FRAME_TAGS "frame_tags"
-
-#define VAR_ELBLK_IDS_GLOBAL "el_blk_ids_global"
-#define VAR_ELBLK_CNT_GLOBAL "el_blk_cnt_global"
-#define VAR_NS_IDS_GLOBAL "ns_ids_global"
-#define VAR_NS_NODE_CNT_GLOBAL "ns_node_cnt_global"
-#define VAR_NS_DF_CNT_GLOBAL "ns_df_cnt_global"
-#define VAR_SS_IDS_GLOBAL "ss_ids_global"
-#define VAR_SS_SIDE_CNT_GLOBAL "ss_side_cnt_global"
-#define VAR_SS_DF_CNT_GLOBAL "ss_df_cnt_global"
-#define VAR_FILE_TYPE "nem_ftype"
-#define VAR_COMM_MAP "comm_map"
-#define VAR_NODE_MAP_INT "node_mapi"
-#define VAR_NODE_MAP_INT_IDX "node_mapi_idx"
-#define VAR_NODE_MAP_BOR "node_mapb"
-#define VAR_NODE_MAP_BOR_IDX "node_mapb_idx"
-#define VAR_NODE_MAP_EXT "node_mape"
-#define VAR_NODE_MAP_EXT_IDX "node_mape_idx"
-#define VAR_ELEM_MAP_INT "elem_mapi"
-#define VAR_ELEM_MAP_INT_IDX "elem_mapi_idx"
-#define VAR_ELEM_MAP_BOR "elem_mapb"
-#define VAR_ELEM_MAP_BOR_IDX "elem_mapb_idx"
-#define VAR_INT_N_STAT "int_n_stat"
-#define VAR_BOR_N_STAT "bor_n_stat"
-#define VAR_EXT_N_STAT "ext_n_stat"
-#define VAR_INT_E_STAT "int_e_stat"
-#define VAR_BOR_E_STAT "bor_e_stat"
-#define VAR_N_COMM_IDS "n_comm_ids"
-#define VAR_N_COMM_STAT "n_comm_stat"
-#define VAR_N_COMM_INFO_IDX "n_comm_info_idx"
-#define VAR_E_COMM_IDS "e_comm_ids"
-#define VAR_E_COMM_STAT "e_comm_stat"
-#define VAR_E_COMM_INFO_IDX "e_comm_info_idx"
-#define VAR_N_COMM_NIDS "n_comm_nids"
-#define VAR_N_COMM_PROC "n_comm_proc"
-#define VAR_N_COMM_DATA_IDX "n_comm_data_idx"
-#define VAR_E_COMM_EIDS "e_comm_eids"
-#define VAR_E_COMM_SIDS "e_comm_sids"
-#define VAR_E_COMM_PROC "e_comm_proc"
-#define VAR_E_COMM_DATA_IDX "e_comm_data_idx"
-
-#define DIM_NUM_INT_NODES "num_int_node"
-#define DIM_NUM_BOR_NODES "num_bor_node"
-#define DIM_NUM_EXT_NODES "num_ext_node"
-#define DIM_NUM_INT_ELEMS "num_int_elem"
-#define DIM_NUM_BOR_ELEMS "num_bor_elem"
-#define DIM_NUM_PROCS "num_processors"
-#define DIM_NUM_PROCS_F "num_procs_file"
-#define DIM_NUM_NODES_GLOBAL "num_nodes_global"
-#define DIM_NUM_ELEMS_GLOBAL "num_elems_global"
-#define DIM_NUM_NS_GLOBAL "num_ns_global"
-#define DIM_NUM_SS_GLOBAL "num_ss_global"
-#define DIM_NUM_ELBLK_GLOBAL "num_el_blk_global"
-#define DIM_NUM_N_CMAPS "num_n_cmaps"
-#define DIM_NUM_E_CMAPS "num_e_cmaps"
-#define DIM_NCNT_CMAP "ncnt_cmap"
-#define DIM_ECNT_CMAP "ecnt_cmap"
-
-enum ex_element_type {
- EX_EL_UNK = -1, /**< unknown entity */
- EX_EL_NULL_ELEMENT= 0,
- EX_EL_TRIANGLE = 1, /**< Triangle entity */
- EX_EL_QUAD = 2, /**< Quad entity */
- EX_EL_HEX = 3, /**< Hex entity */
- EX_EL_WEDGE = 4, /**< Wedge entity */
- EX_EL_TETRA = 5, /**< Tetra entity */
- EX_EL_TRUSS = 6, /**< Truss entity */
- EX_EL_BEAM = 7, /**< Beam entity */
- EX_EL_SHELL = 8, /**< Shell entity */
- EX_EL_SPHERE = 9, /**< Sphere entity */
- EX_EL_CIRCLE = 10, /**< Circle entity */
- EX_EL_TRISHELL = 11, /**< Triangular Shell entity */
- EX_EL_PYRAMID = 12 /**< Pyramid entity */
-};
-typedef enum ex_element_type ex_element_type;
-
-enum ex_coordinate_frame_type {
- EX_CF_RECTANGULAR = 1,
- EX_CF_CYLINDRICAL = 2,
- EX_CF_SPHERICAL = 3
-};
-typedef enum ex_coordinate_frame_type ex_coordinate_frame_type;
-
-/* Internal structure declarations */
-
-struct file_item {
- int file_id;
- nc_type netcdf_type_code;
- int int64_status;
- int maximum_name_length;
- unsigned int compression_level:4; /* 0 (disabled) to 9 (maximum) compression level; netcdf-4 only */
- unsigned int user_compute_wordsize:1; /* 0 for 4 byte or 1 for 8 byte reals */
- unsigned int shuffle:1; /* 1 true, 0 false */
- unsigned int file_type:2; /* 0 - classic, 1 -- 64 bit classic, 2 --netcdf4, 3 --netcdf4 classic */
- unsigned int is_parallel:1; /* 1 true, 0 false */
- struct file_item* next;
-};
-
-struct elem_blk_parm
-{
- char elem_type[33];
- int64_t elem_blk_id;
- int64_t num_elem_in_blk;
- int num_nodes_per_elem;
- int num_sides;
- int num_nodes_per_side[6];
- int num_attr;
- int64_t elem_ctr;
- ex_element_type elem_type_val;
-};
-
-struct list_item { /* for use with ex_get_file_item */
- int exo_id;
- int value;
- struct list_item* next;
-};
-
-struct obj_stats {
- int64_t *id_vals;
- int *stat_vals;
- long num;
- int exoid;
- int valid_ids;
- int valid_stat;
- struct obj_stats *next;
-};
-
-void ex_iqsort(int v[], int iv[], int count );
-void ex_iqsort64(int64_t v[], int64_t iv[], int64_t count );
-
-char* ex_catstr(const char*, int);
-char* ex_catstr2(const char*, int, const char*, int);
-char* ex_dim_num_entries_in_object(ex_entity_type, int);
-char* ex_dim_num_objects(ex_entity_type obj_type);
-char* ex_name_var_of_object( ex_entity_type, int, int );
-char* ex_name_of_map( ex_entity_type, int );
-
-int ex_conv_ini (int exoid, int* comp_wordsize, int* io_wordsize, int file_wordsize, int int64_status, int is_parallel);
-void ex_conv_exit (int exoid);
-
-nc_type nc_flt_code (int exoid);
-int ex_comp_ws (int exoid);
-int ex_get_cpu_ws(void);
-int ex_is_parallel(int exoid);
-
-struct list_item** ex_get_counter_list(ex_entity_type obj_type);
-int ex_get_file_item (int, struct list_item**);
-int ex_inc_file_item (int, struct list_item**);
-void ex_rm_file_item (int, struct list_item**);
-
-extern struct obj_stats* exoII_eb;
-extern struct obj_stats* exoII_ed;
-extern struct obj_stats* exoII_fa;
-extern struct obj_stats* exoII_ns;
-extern struct obj_stats* exoII_es;
-extern struct obj_stats* exoII_fs;
-extern struct obj_stats* exoII_ss;
-extern struct obj_stats* exoII_els;
-extern struct obj_stats* exoII_em;
-extern struct obj_stats* exoII_edm;
-extern struct obj_stats* exoII_fam;
-extern struct obj_stats* exoII_nm;
-
-
-struct file_item* ex_find_file_item(int exoid);
-struct obj_stats *ex_get_stat_ptr ( int exoid, struct obj_stats** obj_ptr);
-
-void ex_rm_stat_ptr (int exoid, struct obj_stats** obj_ptr);
-
-void ex_compress_variable(int exoid, int varid, int type);
-int ex_id_lkup (int exoid, ex_entity_type id_type, ex_entity_id num);
-int ex_check_file_type(const char *path, int *type);
-int ex_get_dimension(int exoid, const char *dimtype, const char *label,
- size_t *count, int *dimid, const char *routine);
-
-int ex_get_name_internal(int exoid, int varid, size_t index, char *name, int name_size,
- ex_entity_type type, const char *routine);
-int ex_get_names_internal(int exoid, int varid, size_t count, char**names,
- ex_entity_type type, const char *routine);
-int ex_put_name_internal(int exoid, int varid, size_t index, const char *name,
- ex_entity_type type, const char *subtype, const char *routine);
-int ex_put_names_internal(int exoid, int varid, size_t count, char**names,
- ex_entity_type type, const char *subtype, const char *routine);
-void ex_trim_internal(char *name);
-void ex_update_max_name_length(int exoid, int length);
-int ex_leavedef(int neid, /* NemesisI file ID */
- const char *func_name /* Name of calling function */
- );
-
-int ex_get_file_type(int neid, /* NetCDF/Exodus file ID */
- char *ftype /* Nemesis file type */
- );
-
-int ex_put_nemesis_version(int neid); /* NetCDF/Exodus file ID */
-
-int ne_check_file_version(int neid /* NetCDF/Exodus file ID */
- );
-
-char *ex_catstrn12(char *name, int num1, int num2);
-
-int ne_id_lkup(int neid, /* NetCDF/Exodus file ID */
- const char *var_name, /* Nemesis variable name */
- int64_t *idx, /* index variable for variable, length 2 */
- ex_entity_id ne_var_id /* NetCDF variable ID */
- );
-
- /**
- * For output databases, the maximum length of any entity, variable,
- * property, attribute, or coordinate name to be written (not
- * including the NULL terminator). If a name is longer than this
- * value, a warning message will be output to stderr and the name
- * will be truncated. Must be set (via call to
- * 'ex_set_max_name_length(exoid, int len)' prior to calling ex_create.
- *
- * For input databases, the size of the name arrays that the client
- * code will be passing to API routines that retrieve names (not
- * including the NULL terminator). This defaults to 32 for
- * compatibility with older clients. The value used at the time of
- * creation of the database can be queried by ex_inquire with the
- * EX_INQ_DB_MAX_NAME_LENGTH argument. The current value for this
- * variable can be queried with EX_INQ_CUR_MAX_NAME_LENGTH argument.
- *
- * Note that this is a global setting for all databases. If you are
- * accessing multiple databases, they will all use the same value.
- */
- extern int ex_default_max_name_length;
-
-#endif
diff --git a/cbind/include/exodusII_par.h b/cbind/include/exodusII_par.h
deleted file mode 100644
index 58eb303..0000000
--- a/cbind/include/exodusII_par.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2012 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************
- *
- * exodusII_par.h - Exodus II parallel-aware API include file
- *
- *****************************************************************************/
-
-#ifndef EXODUS_II_PAR_HDR
-#define EXODUS_II_PAR_HDR
-
-#if !defined(PARALLEL_NETCDF)
-
-#include "exodusII.h"
-
-/*
- * need following extern if this include file is used in a C++
- * program, to keep the C++ compiler from mangling the function names.
- */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ex_open_par(path, mode, comp_ws, io_ws, version, comm, info) ex_open_par_int(path, mode, comp_ws, io_ws, version, comm, info, EX_API_VERS_NODOT)
-#define ex_create_par(path, mode, comp_ws, io_ws, comm, info) ex_create_par_int(path, mode, comp_ws, io_ws, comm, info, EX_API_VERS_NODOT)
-
-EXODUS_EXPORT int ex_open_par_int (const char *path,
- int mode,
- int *comp_ws,
- int *io_ws,
- float *version,
- MPI_Comm comm,
- MPI_Info info,
- int my_version);
-
-EXODUS_EXPORT int ex_create_par_int (const char *path, int cmode, int *comp_ws, int *io_ws,
- MPI_Comm comm,
- MPI_Info info,
- int my_version);
-
-#else
-#error "Parallel-aware exodusII_par.h included in non-parallel context"
-#endif
-
-#ifdef __cplusplus
-} /* close brackets on extern "C" declaration */
-#endif
-
-#endif
-
diff --git a/cbind/include/exodusII_test.h b/cbind/include/exodusII_test.h
deleted file mode 100644
index a002203..0000000
--- a/cbind/include/exodusII_test.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __exodusII_test_h
-#define __exodusII_test_h
-
-#include "exodusII.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
- int cCreateEdgeFace( int, char*[] );
- int cReadEdgeFace( int, char*[] );
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-inline int CreateEdgeFace( int argc, char* argv[] ) { return cCreateEdgeFace( argc, argv ); }
-inline int ReadEdgeFace( int argc, char* argv[] ) { return cReadEdgeFace( argc, argv ); }
-
-#endif /* __exodusII_test_h */
diff --git a/cbind/parallel/Imakefile b/cbind/parallel/Imakefile
deleted file mode 100644
index 57bbd3a..0000000
--- a/cbind/parallel/Imakefile
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-
-XCOMM Use include files locates in exodusii/cbind/include
-INCLUDES = IncRef-I../include
-REQUIREDLIBS = -L$(SHLIBDIR) $(EXODUS) $(NETCDF)
-
-#ifndef BuildSharedExodusLibrary
-#define BuildSharedExodusLibrary NO
-#endif
-
-#define DoNormalLib YES
-#define DoSharedLib BuildSharedExodusLibrary
-#define LibName exodus_par
-SOREV = 5
-#define SoRev SOREV
-
-CC = $(CCPAR)
-#define LibraryCcCmd $(CCPAR)
-
-DEFINES = $(PICFLAGS)
-
-SRCS = ex_open_par.c ex_create_par.c
-
-OBJS = ${SRCS:.c=.o}
-
-#include <Library.tmpl>
-
-LibraryTargetSubdirsCopy(libexodus_par.a,$(OBJS),../../)
-
-$(OBJS): ../include/exodusII.h ../include/exodusII_int.h ../include/exodusII_par.h
-
-
-DependTarget()
-LibraryObjectRule()
diff --git a/cbind/parallel/ex_create_par.c b/cbind/parallel/ex_create_par.c
deleted file mode 100644
index 3f7b64b..0000000
--- a/cbind/parallel/ex_create_par.c
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*!
-
-\note The ex_create_int() is an internal function called by
-ex_create(). The user should call ex_create() and not ex_create_int().
-
-The function ex_create() creates a new exodus file and returns an ID
-that can subsequently be used to refer to the file.
-
-All floating point values in an exodus file are stored as either
-4-byte (\c float) or 8-byte (\c double) numbers; no mixing of 4- and
-8-byte numbers in a single file is allowed. An application code can
-compute either 4- or 8-byte values and can designate that the values
-be stored in the exodus file as either 4- or 8-byte numbers;
-conversion between the 4- and 8-byte values is performed automatically
-by the API routines. Thus, there are four possible combinations of
-compute word size and storage (or I/O) word size.
-
-\return In case of an error, ex_create() returns a negative number. Possible
-causes of errors include:
- - Passing a file name that includes a directory that does not
- exist.
- - Specifying a file name of a file that exists and also
- specifying a no clobber option.
- - Attempting to create a file in a directory without permission
- to create files there.
- - Passing an invalid file clobber mode.
-
-
-\param path The file name of the new exodus file. This can be given as either an
- absolute path name (from the root of the file system) or a relative
- path name (from the current directory).
-
-\param cmode Mode. Use one of the following predefined constants:
-\arg \c EX_NOCLOBBER To create the new file only if the given file name does not refer to a
- file that already exists.
-
-\arg \c EX_CLOBBER To create the new file, regardless of whether a file with the same
- name already exists. If a file with the same name does exist, its
- contents will be erased.
-
-\arg \c EX_LARGE_MODEL To create a model that can store individual datasets larger than
- 2 gigabytes. This modifies the internal storage used by exodusII and
- also puts the underlying NetCDF file into the \e 64-bit offset'
- mode. See largemodel for more details on this
- mode. A large model file will also be created if the
- environment variable \c EXODUS_LARGE_MODEL is defined
- in the users environment. A message will be printed to standard output
- if this environment variable is found.
-
-\arg \c EX_NORMAL_MODEL Create a standard model.
-
-\arg \c EX_NETCDF4 To create a model using the HDF5-based NetCDF-4
- output. An HDF5-based NetCDF-4 file will also be created if the
- environment variable \c EXODUS_NETCDF4 is defined in the
- users environment. A message will be printed to standard output if
- this environment variable is found.
-
-\arg \c EX_NOSHARE Do not open the underlying NetCDF file in \e share mode. See the
- NetCDF documentation for more details.
-
-\arg \c EX_SHARE Do open the underlying NetCDF file in \e share mode. See the NetCDF
- documentation for more details.
-
-\param[in,out] comp_ws The word size in bytes (0, 4 or 8) of the floating point variables
- used in the application program. If 0 (zero) is passed, the default
- sizeof(float) will be used and returned in this variable. WARNING: all
- exodus functions requiring floats must be passed floats declared with
- this passed in or returned compute word size (4 or 8).}
-
-\param io_ws The word size in bytes (4 or 8) of the floating point
- data as they are to be stored in the exodus file.
-
-\param run_version (internally generated) used to verify compatability of libary and include files.
-
-The following code segment creates an exodus file called \file{test.exo}:
-
-\code
-#include "exodusII.h"
-int CPU_word_size, IO_word_size, exoid;
-CPU_word_size = sizeof(float); \comment{use float or double}
-IO_word_size = 8; \comment{store variables as doubles}
-
-\comment{create exodus file}
-exoid = ex_create ("test.exo" \comment{filename path}
- EX_CLOBBER, \comment{create mode}
- &CPU_word_size, \comment{CPU float word size in bytes}
- &IO_word_size); \comment{I/O float word size in bytes}
-\endcode
-
-*/
-#include <stdlib.h>
-#include <assert.h>
-#include <mpi.h>
-
-#include "netcdf_par.h"
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-static int warning_output = 0;
-
-int ex_create_par_int (const char *path,
- int cmode,
- int *comp_ws,
- int *io_ws,
- MPI_Comm comm,
- MPI_Info info,
- int run_version)
-{
- int exoid, dims[1];
- int status;
- int dimid, time_dim;
- int old_fill;
- int lio_ws;
- int filesiz;
- float vers;
- char errmsg[MAX_ERR_LENGTH];
- char *mode_name;
- int mode = 0;
-#if defined(NC_NETCDF4)
- static int netcdf4_mode = -1;
- char *option;
-#endif /* NC_NETCDF4 */
-
- int int64_status;
- int pariomode = NC_MPIPOSIX;
-
- unsigned int my_mode = cmode;
- assert(my_mode == cmode);
- exerrval = 0; /* clear error code */
-
- if (run_version != EX_API_VERS_NODOT && warning_output == 0) {
- int run_version_major = run_version / 100;
- int run_version_minor = run_version % 100;
- int lib_version_major = EX_API_VERS_NODOT / 100;
- int lib_version_minor = EX_API_VERS_NODOT % 100;
- fprintf(stderr, "EXODUS: Warning: This code was compiled with exodusII version %d.%02d,\n but was linked with exodusII library version %d.%02d\n This is probably an error in the build process of this code.\n",
- run_version_major, run_version_minor, lib_version_major, lib_version_minor);
- warning_output = 1;
- }
-
- /*
- * See if any integer data is to be stored as int64 (long long). If
- * so, then need to set NC_NETCDF4 and unset NC_CLASSIC_MODEL (or
- * set EX_NOCLASSIC. Output meaningful error message if the library
- * is not NetCDF-4 enabled...
- */
- int64_status = my_mode & (EX_ALL_INT64_DB | EX_ALL_INT64_API);
-
- if ((int64_status & EX_ALL_INT64_DB) != 0) {
-#if defined(NC_NETCDF4)
- /* Library DOES support netcdf4... Set modes required to use
- * netcdf-4 in non-classic mode
- */
- my_mode |= EX_NOCLASSIC;
- my_mode |= EX_NETCDF4;
-#else
- /* Library does NOT support netcdf4 */
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "EXODUS: Error: 64-bit integer storage requested, but the netcdf library does not support the required netcdf-4 extensions.\n");
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
-#endif
- }
-
-#if defined(NC_NETCDF4)
- if (my_mode & EX_NETCDF4) {
- mode |= (NC_NETCDF4);
- } else {
- if (netcdf4_mode == -1) {
- option = getenv("EXODUS_NETCDF4");
- if (option != NULL) {
- fprintf(stderr, "EXODUS: Using netcdf version 4 selected via EXODUS_NETCDF4 environment variable\n");
- netcdf4_mode = NC_NETCDF4;
- } else {
- netcdf4_mode = 0;
- }
- }
- mode |= netcdf4_mode;
- }
- if (! (my_mode & EX_NOCLASSIC)) {
- mode |= NC_CLASSIC_MODEL;
- }
-#endif
-
- /* Check parallel io mode. Valid is NC_MPIPOSIX or NC_MPIIO or NC_PNETCDF
- * Exodus uses different flag values; map to netcdf values
- */
- if (mode & EX_MPIPOSIX)
- pariomode = NC_MPIPOSIX;
- else if (mode & EX_MPIIO)
- pariomode = NC_MPIIO;
- else if (mode & EX_PNETCDF)
- pariomode = NC_PNETCDF;
-
- /*
- * See if "large file" mode was specified in a ex_create my_mode. If
- * so, then pass the NC_64BIT_OFFSET flag down to netcdf.
- * If netcdf4 mode specified, don't use NC_64BIT_OFFSET mode.
- */
- if ( (my_mode & EX_LARGE_MODEL) && (my_mode & EX_NORMAL_MODEL)) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: conflicting mode specification for file %s, mode %d. Using normal",
- path, (int)my_mode);
- ex_err("ex_create",errmsg,exerrval);
- }
- if (my_mode & EX_NORMAL_MODEL)
- filesiz = 0;
-#if defined(NC_NETCDF4)
- else if (mode & NC_NETCDF4)
- filesiz = 1;
-#endif
- else
- filesiz = (int)((my_mode & EX_LARGE_MODEL) || (ex_large_model(-1) == 1));
-
- if (
-#if defined(NC_NETCDF4)
- !(mode & NC_NETCDF4) &&
-#endif
- filesiz == 1) {
- mode |= NC_64BIT_OFFSET;
- }
-
- if (my_mode & EX_SHARE) {
- mode |= NC_SHARE;
- }
-
- /*
- * set error handling mode to no messages, non-fatal errors
- */
- ex_opts(exoptval); /* call required to set ncopts first time through */
-
- if (my_mode & EX_CLOBBER) {
- mode |= NC_CLOBBER;
- mode_name = "CLOBBER";
- } else {
- mode |= NC_NOCLOBBER;
- mode_name = "NOCLOBBER";
- }
-
- if ((status = nc_create_par (path, mode|pariomode, comm, info, &exoid)) != NC_NOERR) {
- exerrval = status;
- if (my_mode & EX_NETCDF4) {
- sprintf(errmsg,
- "Error: file create failed for %s in NETCDF4 and %s mode.\n\tThis library probably does not support netcdf-4 files.",
- path, mode_name);
- } else {
- sprintf(errmsg,
- "Error: file create failed for %s, mode: %s",
- path, mode_name);
- }
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* turn off automatic filling of netCDF variables
- */
-
- if ((status = nc_set_fill (exoid, NC_NOFILL, &old_fill)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to set nofill mode in file id %d",
- exoid);
- ex_err("ex_create", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* initialize floating point size conversion. since creating new file,
- * i/o wordsize attribute from file is zero.
- */
-
- if (ex_conv_ini( exoid, comp_ws, io_ws, 0, int64_status ) != EX_NOERR) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: failed to init conversion routines in file id %d",
- exoid);
- ex_err("ex_create", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* put the EXODUS version number, and i/o floating point word size as
- * netcdf global attributes
- */
-
- /* store Exodus API version # as an attribute */
- vers = EX_API_VERS;
- if ((status=nc_put_att_float(exoid, NC_GLOBAL, ATT_API_VERSION,
- NC_FLOAT, 1, &vers)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II API version attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* store Exodus file version # as an attribute */
- vers = EX_VERS;
- if ((status=nc_put_att_float(exoid, NC_GLOBAL, ATT_VERSION, NC_FLOAT, 1, &vers)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II file version attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* store Exodus file float word size as an attribute */
- lio_ws = (int)(*io_ws);
- if ((status=nc_put_att_int (exoid, NC_GLOBAL, ATT_FLT_WORDSIZE, NC_INT, 1, &lio_ws)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II file float word size attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* store Exodus file size (1=large, 0=normal) as an attribute */
- if ((status = nc_put_att_int (exoid, NC_GLOBAL, ATT_FILESIZE, NC_INT, 1, &filesiz)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II file size attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* define some dimensions and variables
- */
-
- /* create string length dimension */
- if ((status=nc_def_dim (exoid, DIM_STR, (MAX_STR_LENGTH+1), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define string length in file id %d",exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* The name string length dimension is delayed until the ex_put_init function */
-
- /* create line length dimension */
- if ((status = nc_def_dim(exoid, DIM_LIN, (MAX_LINE_LENGTH+1), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define line length in file id %d",exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* create number "4" dimension; must be of type long */
- if ((status = nc_def_dim(exoid, DIM_N4, 4L, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number \"4\" dimension in file id %d",exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_def_dim(exoid, DIM_TIME, NC_UNLIMITED, &time_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define time dimension in file id %d", exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- dims[0] = time_dim;
- if ((status = nc_def_var(exoid, VAR_WHOLE_TIME, nc_flt_code(exoid), 1, dims, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define whole time step variable in file id %d",
- exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, dimid, 2);
-
- {
- int int64_db_status = int64_status & EX_ALL_INT64_DB;
- if ((status=nc_put_att_int(exoid, NC_GLOBAL, ATT_INT64_STATUS, NC_INT, 1, &int64_db_status)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add int64_status attribute in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d", exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (exoid);
-}
diff --git a/cbind/parallel/ex_open_par.c b/cbind/parallel/ex_open_par.c
deleted file mode 100644
index 4320f70..0000000
--- a/cbind/parallel/ex_open_par.c
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exopen - ex_open
-*
-* entry conditions -
-* input parameters:
-* char* path exodus filename path
-* int mode access mode w/r
-*
-* exit conditions -
-* int exoid exodus file id
-* int* comp_ws computer word size
-* int* io_ws storage word size
-* float* version EXODUSII interface version number
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdio.h>
-#include <mpi.h>
-
-#include "netcdf_par.h"
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_open() opens an existing exodus file and returns
-an ID that can subsequently be used to refer to the file, the word
-size of the floating point values stored in the file, and the version
-of the exodus database (returned as a ``float'', regardless of the
-compute or I/O word size). Multiple files may be ``open'' simultaneously.
-
-\return In case of an error, ex_open() returns a negative
-number. Possible causes of errors include:
- - The specified file does not exist.
- - The mode specified is something other than the predefined constant \fparam{EX_READ} or \fparam{EX_WRITE}.
- - Database version is earlier than 2.0.
-
-\param path The file name of the exodus file. This can be given as either an
- absolute path name (from the root of the file system) or a relative
- path name (from the current directory).
-
-\param mode Access mode. Use one of the following predefined constants:
- - \fparam{EX_READ} To open the file just for reading.
- - \fparam{EX_WRITE} To open the file for writing and reading.
-
-\param[in,out] comp_ws The word size in bytes (0, 4 or 8) of the floating point variables
- used in the application program. If 0 (zero) is passed, the default
- size of floating point values for the machine will be used and
- returned in this variable. WARNING: all exodus functions requiring
- reals must be passed reals declared with this passed in or returned
- compute word size (4 or 8).
-
-
-\param[in,out] io_ws The word size in bytes (0, 4 or 8) of the floating
- point data as they are stored in the exodus file. If the word
- size does not match the word size of data stored in the file,
- a fatal error is returned. If this argument is 0, the word size
- of the floating point data already stored in the file is returned.
-
-\param[out] version Returned exodus database version number.
-
-The following opens an exodus file named \file{test.exo} for read
-only, using default settings for compute and I/O word sizes:
-
-\code
-#include "exodusII.h"
-int CPU_word_size,IO_word_size, exoid;
-float version;
-
-CPU_word_size = sizeof(float); \co{float or double}
-IO_word_size = 0; \co{use what is stored in file}
-
-\comment{open exodus files}
-exoid = ex_open ("test.exo", \co{filename path}
- EX_READ, \co{access mode = READ}
- &CPU_word_size, \co{CPU word size}
- &IO_word_size, \co{IO word size}
- &version); \co{ExodusII library version}
-\endcode
- */
-
-static int warning_output = 0;
-
-int ex_open_par_int (const char *path,
- int mode,
- int *comp_ws,
- int *io_ws,
- float *version,
- MPI_Comm comm,
- MPI_Info info,
- int run_version)
-{
- int exoid;
- int status, stat_att, stat_dim;
- nc_type att_type = NC_NAT;
- size_t att_len = 0;
- int old_fill;
- int file_wordsize;
- int dim_str_name;
- int int64_status = 0;
- int pariomode = NC_MPIPOSIX;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* set error handling mode to no messages, non-fatal errors */
- ex_opts(exoptval); /* call required to set ncopts first time through */
-
- if (run_version != EX_API_VERS_NODOT && warning_output == 0) {
- int run_version_major = run_version / 100;
- int run_version_minor = run_version % 100;
- int lib_version_major = EX_API_VERS_NODOT / 100;
- int lib_version_minor = EX_API_VERS_NODOT % 100;
- fprintf(stderr, "EXODUS: Warning: This code was compiled with exodus version %d.%02d,\n but was linked with exodus library version %d.%02d\n This is probably an error in the build process of this code.\n",
- run_version_major, run_version_minor, lib_version_major, lib_version_minor);
- warning_output = 1;
- }
-
-
- if ((mode & EX_READ) && (mode & EX_WRITE)) {
- exerrval = EX_BADFILEMODE;
- sprintf(errmsg,"Error: Cannot specify both EX_READ and EX_WRITE");
- ex_err("ex_open",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check parallel io mode. Valid is NC_MPIPOSIX or NC_MPIIO or NC_PNETCDF
- * Exodus uses different flag values; map to netcdf values
- */
- if (mode & EX_MPIPOSIX)
- pariomode = NC_MPIPOSIX;
- else if (mode & EX_MPIIO)
- pariomode = NC_MPIIO;
- else if (mode & EX_PNETCDF)
- pariomode = NC_PNETCDF;
-
-
- /* The EX_READ mode is the default if EX_WRITE is not specified... */
- if (!(mode & EX_WRITE)) { /* READ ONLY */
- if ((status = nc_open_par (path, NC_NOWRITE|NC_SHARE|pariomode, comm, info, &exoid)) != NC_NOERR)
- {
- /* NOTE: netCDF returns an id of -1 on an error - but no error code! */
- if (status == 0) {
- exerrval = EX_FATAL;
- }
- else {
- /* It is possible that the user is trying to open a netcdf4
- file, but the netcdf4 capabilities aren't available in the
- netcdf linked to this library. Note that we can't just use a
- compile-time define since we could be using a shareable
- netcdf library, so the netcdf4 capabilities aren't known
- until runtime...
-
- Netcdf-4.X does not (yet?) have a function that can be
- queried to determine whether the library being used was
- compiled with --enable-netcdf4, so that isn't very
- helpful..
-
- At this time, query the beginning of the file and see if it
- is an HDF-5 file and if it is assume that the open failure
- is due to the netcdf library not enabling netcdf4 features...
- */
- int type = 0;
- ex_check_file_type(path, &type);
-
- if (type == 5) {
- /* This is an hdf5 (netcdf4) file. Since the nc_open failed,
- the assumption is that the netcdf doesn't have netcdf4
- capabilities enabled. Tell the user...
- */
- fprintf(stderr,
- "EXODUS: Error: Attempting to open the netcdf-4 file:\n\t'%s'\n\twith a netcdf library that does not support netcdf-4\n",
- path);
- }
- exerrval = status;
- }
- sprintf(errmsg,"Error: failed to open %s read only",path);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
- }
- else /* (mode & EX_WRITE) READ/WRITE */
- {
- if ((status = nc_open_par (path, NC_WRITE|NC_SHARE|pariomode, comm, info, &exoid)) != NC_NOERR)
- {
- /* NOTE: netCDF returns an id of -1 on an error - but no error code! */
- if (status == 0)
- exerrval = EX_FATAL;
- else
- exerrval = status;
- sprintf(errmsg,"Error: failed to open %s write only",path);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* turn off automatic filling of netCDF variables */
- if ((status = nc_set_fill (exoid, NC_NOFILL, &old_fill)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to set nofill mode in file id %d",
- exoid);
- ex_err("ex_open", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- stat_att = nc_inq_att(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, &att_type, &att_len);
- stat_dim = nc_inq_dimid(exoid, DIM_STR_NAME, &dim_str_name);
- if(stat_att != NC_NOERR || stat_dim != NC_NOERR) {
- nc_redef(exoid);
- if (stat_att != NC_NOERR) {
- int max_so_far = 32;
- nc_put_att_int(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, NC_INT, 1, &max_so_far);
- }
-
- /* If the DIM_STR_NAME variable does not exist on the database, we need to add it now. */
- if(stat_dim != NC_NOERR) {
- /* Not found; set to default value of 32+1. */
- int max_name = ex_default_max_name_length < 32 ? 32 : ex_default_max_name_length;
- nc_def_dim(exoid, DIM_STR_NAME, max_name+1, &dim_str_name);
- }
- nc_enddef (exoid);
- }
- }
-
- /* determine version of EXODUS II file, and the word size of
- * floating point and integer values stored in the file
- */
-
- if ((status = nc_get_att_float(exoid, NC_GLOBAL, ATT_VERSION, version)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to get database version for file id: %d",
- exoid);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* check ExodusII file version - old version 1.x files are not supported */
- if (*version < 2.0) {
- exerrval = EX_FATAL;
- sprintf(errmsg,"Error: Unsupported file version %.2f in file id: %d",
- *version, exoid);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (nc_get_att_int (exoid, NC_GLOBAL, ATT_FLT_WORDSIZE, &file_wordsize) != NC_NOERR)
- { /* try old (prior to db version 2.02) attribute name */
- if (nc_get_att_int (exoid,NC_GLOBAL,ATT_FLT_WORDSIZE_BLANK,&file_wordsize) != NC_NOERR)
- {
- exerrval = EX_FATAL;
- sprintf(errmsg,"Error: failed to get file wordsize from file id: %d",
- exoid);
- ex_err("ex_open",errmsg,exerrval);
- return(exerrval);
- }
- }
-
- /* See if int64 status attribute exists and if so, what data is stored as int64
- * Older files don't have the attribute, so it is not an error if it is missing
- */
- if (nc_get_att_int (exoid, NC_GLOBAL, ATT_INT64_STATUS, &int64_status) != NC_NOERR) {
- int64_status = 0; /* Just in case it gets munged by a failed get_att_int call */
- }
-
- /* Merge in API int64 status flags as specified by caller of function... */
- int64_status |= (mode & EX_ALL_INT64_API);
-
- /* initialize floating point and integer size conversion. */
- if (ex_conv_ini( exoid, comp_ws, io_ws, file_wordsize, int64_status ) != EX_NOERR ) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: failed to initialize conversion routines in file id %d",
- exoid);
- ex_err("ex_open", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- return (exoid);
-}
diff --git a/cbind/src/Imakefile b/cbind/src/Imakefile
deleted file mode 100644
index 8a77a47..0000000
--- a/cbind/src/Imakefile
+++ /dev/null
@@ -1,324 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-
-XCOMM Use include files locates in exodusii/cbind/include
-INCLUDES = IncRef-I../include
-REQUIREDLIBS = -L$(SHLIBDIR) $(NETCDF)
-
-#if !UseNetcdf4
-NET_DEF = -DNOT_NETCDF4
-#endif
-
-#ifndef BuildSharedExodusLibrary
-#define BuildSharedExodusLibrary NO
-#endif
-
-#define DoNormalLib YES
-#define DoSharedLib BuildSharedExodusLibrary
-#define LibName exodus
-SOREV = 5
-#define SoRev SOREV
-
-DEFINES = $(PICFLAGS) $(NET_DEF)
-
-#if defined(BuildParallelAwareExodus)
-PARSRCS = ex_create_par.c ex_open_par.c
-PAROBJS = ${PARSRCS:.c=.o}
-$(PAROBJS): ../include/exodusII.h ../include/exodusII_int.h ../include/exodusII_par.h
-
-CC = $(CCPAR)
-#define LibraryCcCmd $(CCPAR)
-#endif
-
-SRCS = ex_close.c \
- ex_conv.c \
- ex_copy.c \
- ex_create.c \
- ex_cvt_nodes_to_sides.c \
- ex_err.c \
- ex_get_all_times.c \
- ex_get_attr.c \
- ex_get_attr_names.c \
- ex_get_attr_param.c \
- ex_get_block.c \
- ex_get_block_param.c \
- ex_get_cmap_params.c \
- ex_get_concat_node_sets.c \
- ex_get_concat_sets.c \
- ex_get_concat_side_set_node_count.c \
- ex_get_concat_side_sets.c \
- ex_get_conn.c \
- ex_get_coord.c \
- ex_get_coordinate_frames.c \
- ex_get_coord_names.c \
- ex_get_eb_info_global.c \
- ex_get_elem_attr.c \
- ex_get_elem_attr_names.c \
- ex_get_elem_blk_ids.c \
- ex_get_elem_block.c \
- ex_get_elem_cmap.c \
- ex_get_elem_conn.c \
- ex_get_elem_map.c \
- ex_get_elem_num_map.c \
- ex_get_elem_type.c \
- ex_get_elem_var.c \
- ex_get_elem_var_tab.c \
- ex_get_elem_var_time.c \
- ex_get_entity_count_per_polyhedra.c \
- ex_get_glob_vars.c \
- ex_get_glob_var_time.c \
- ex_get_id_map.c \
- ex_get_ids.c \
- ex_get_info.c \
- ex_get_init.c \
- ex_get_init_ext.c \
- ex_get_init_global.c \
- ex_get_init_info.c \
- ex_get_loadbal_param.c \
- ex_get_map.c \
- ex_get_map_param.c \
- ex_get_name.c \
- ex_get_names.c \
- ex_get_n_attr.c \
- ex_get_n_conn.c \
- ex_get_n_coord.c \
- ex_get_n_elem_attr.c \
- ex_get_n_elem_conn.c \
- ex_get_n_elem_num_map.c \
- ex_get_n_elem_var.c \
- ex_get_n_nodal_var.c \
- ex_get_n_node_num_map.c \
- ex_get_n_node_set.c \
- ex_get_n_node_set_df.c \
- ex_get_nodal_var.c \
- ex_get_nodal_var_time.c \
- ex_get_node_cmap.c \
- ex_get_node_map.c \
- ex_get_node_num_map.c \
- ex_get_node_set.c \
- ex_get_node_set_dist_fact.c \
- ex_get_node_set_ids.c \
- ex_get_node_set_param.c \
- ex_get_n_one_attr.c \
- ex_get_nset_var.c \
- ex_get_nset_var_tab.c \
- ex_get_n_side_set.c \
- ex_get_n_side_set_df.c \
- ex_get_ns_param_global.c \
- ex_get_num_map.c \
- ex_get_n_var.c \
- ex_get_object_truth_vector.c \
- ex_get_one_attr.c \
- ex_get_one_elem_attr.c \
- ex_get_partial_attr.c \
- ex_get_partial_conn.c \
- ex_get_partial_coord.c \
- ex_get_partial_elem_attr.c \
- ex_get_partial_elem_conn.c \
- ex_get_partial_elem_map.c \
- ex_get_partial_elem_num_map.c \
- ex_get_partial_elem_var.c \
- ex_get_partial_id_map.c \
- ex_get_partial_nodal_var.c \
- ex_get_partial_node_num_map.c \
- ex_get_partial_node_set.c \
- ex_get_partial_node_set_df.c \
- ex_get_partial_num_map.c \
- ex_get_partial_one_attr.c \
- ex_get_partial_set_dist_fact.c \
- ex_get_partial_side_set.c \
- ex_get_partial_side_set_df.c \
- ex_get_partial_var.c \
- ex_get_processor_elem_maps.c \
- ex_get_processor_node_maps.c \
- ex_get_prop_array.c \
- ex_get_prop.c \
- ex_get_prop_names.c \
- ex_get_qa.c \
- ex_get_set.c \
- ex_get_set_dist_fact.c \
- ex_get_set_param.c \
- ex_get_sets.c \
- ex_get_side_set.c \
- ex_get_side_set_dist_fact.c \
- ex_get_side_set_ids.c \
- ex_get_side_set_node_count.c \
- ex_get_side_set_node_list.c \
- ex_get_side_set_node_list_len.c \
- ex_get_side_set_param.c \
- ex_get_sset_var.c \
- ex_get_sset_var_tab.c \
- ex_get_ss_param_global.c \
- ex_get_time.c \
- ex_get_truth_table.c \
- ex_get_var.c \
- ex_get_variable_name.c \
- ex_get_variable_names.c \
- ex_get_variable_param.c \
- ex_get_var_name.c \
- ex_get_var_names.c \
- ex_get_var_param.c \
- ex_get_var_tab.c \
- ex_get_var_time.c \
- ex_inquire.c \
- ex_ne_util.c \
- ex_open.c \
- ex_opts.c \
- ex_put_all_var_param.c \
- ex_put_all_var_param_ext.c \
- ex_put_attr.c \
- ex_put_attr_names.c \
- ex_put_attr_param.c \
- ex_put_block.c \
- ex_put_block_param.c \
- ex_put_cmap_params.c \
- ex_put_cmap_params_cc.c \
- ex_put_concat_all_blocks.c \
- ex_put_concat_elem_block.c \
- ex_put_concat_node_sets.c \
- ex_put_concat_sets.c \
- ex_put_concat_side_sets.c \
- ex_put_concat_var_param.c \
- ex_put_conn.c \
- ex_put_coord.c \
- ex_put_coordinate_frames.c \
- ex_put_coord_names.c \
- ex_put_eb_info_global.c \
- ex_put_elem_attr.c \
- ex_put_elem_attr_names.c \
- ex_put_elem_block.c \
- ex_put_elem_cmap.c \
- ex_put_elem_conn.c \
- ex_put_elem_map.c \
- ex_put_elem_num_map.c \
- ex_put_elem_var.c \
- ex_put_elem_var_slab.c \
- ex_put_elem_var_tab.c \
- ex_put_entity_count_per_polyhedra.c \
- ex_put_glob_vars.c \
- ex_put_id_map.c \
- ex_put_info.c \
- ex_put_init.c \
- ex_put_init_ext.c \
- ex_put_init_global.c \
- ex_put_init_info.c \
- ex_put_loadbal_param.c \
- ex_put_loadbal_param_cc.c \
- ex_put_map.c \
- ex_put_map_param.c \
- ex_put_name.c \
- ex_put_names.c \
- ex_put_n_coord.c \
- ex_put_n_elem_attr.c \
- ex_put_n_elem_conn.c \
- ex_put_n_elem_num_map.c \
- ex_put_n_nodal_var.c \
- ex_put_n_node_num_map.c \
- ex_put_n_node_set.c \
- ex_put_n_node_set_df.c \
- ex_put_nodal_var.c \
- ex_put_nodal_var_slab.c \
- ex_put_node_cmap.c \
- ex_put_node_map.c \
- ex_put_node_num_map.c \
- ex_put_node_set.c \
- ex_put_node_set_dist_fact.c \
- ex_put_node_set_param.c \
- ex_put_n_one_attr.c \
- ex_put_nset_var.c \
- ex_put_nset_var_tab.c \
- ex_put_n_side_set.c \
- ex_put_n_side_set_df.c \
- ex_put_ns_param_global.c \
- ex_put_num_map.c \
- ex_put_n_var.c \
- ex_put_one_attr.c \
- ex_put_one_elem_attr.c \
- ex_put_partial_attr.c \
- ex_put_partial_coord.c \
- ex_put_partial_elem_attr.c \
- ex_put_partial_elem_conn.c \
- ex_put_partial_elem_map.c \
- ex_put_partial_elem_num_map.c \
- ex_put_partial_id_map.c \
- ex_put_partial_nodal_var.c \
- ex_put_partial_node_num_map.c \
- ex_put_partial_node_set.c \
- ex_put_partial_node_set_df.c \
- ex_put_partial_num_map.c \
- ex_put_partial_one_attr.c \
- ex_put_partial_set.c \
- ex_put_partial_set_dist_fact.c \
- ex_put_partial_side_set.c \
- ex_put_partial_side_set_df.c \
- ex_put_partial_var.c \
- ex_put_processor_elem_maps.c \
- ex_put_processor_node_maps.c \
- ex_put_prop_array.c \
- ex_put_prop.c \
- ex_put_prop_names.c \
- ex_put_qa.c \
- ex_put_set.c \
- ex_put_set_dist_fact.c \
- ex_put_set_param.c \
- ex_put_sets.c \
- ex_put_side_set.c \
- ex_put_side_set_dist_fact.c \
- ex_put_side_set_param.c \
- ex_put_sset_var.c \
- ex_put_sset_var_tab.c \
- ex_put_ss_param_global.c \
- ex_put_time.c \
- ex_put_truth_table.c \
- ex_put_var.c \
- ex_put_variable_name.c \
- ex_put_variable_names.c \
- ex_put_variable_param.c \
- ex_put_var_name.c \
- ex_put_var_names.c \
- ex_put_var_param.c \
- ex_put_var_tab.c \
- ex_update.c \
- ex_utils.c
-
-OBJS = ${SRCS:.c=.o}
-
-#include <Library.tmpl>
-
-LibraryTargetSubdirsCopy(libexodus.a,$(OBJS) $(PAROBJS),../../)
-
-
-$(OBJS): ../include/exodusII.h ../include/exodusII_int.h
-DependTarget()
-LibraryObjectRule()
diff --git a/cbind/src/Makefile.standalone b/cbind/src/Makefile.standalone
deleted file mode 100644
index 4fe8228..0000000
--- a/cbind/src/Makefile.standalone
+++ /dev/null
@@ -1,267 +0,0 @@
-SRCS = ex_close.c \
- ex_conv.c \
- ex_copy.c \
- ex_create.c \
- ex_cvt_nodes_to_sides.c \
- ex_err.c \
- ex_get_all_times.c \
- ex_get_attr.c \
- ex_get_attr_names.c \
- ex_get_attr_param.c \
- ex_get_block.c \
- ex_get_block_param.c \
- ex_get_cmap_params.c \
- ex_get_concat_node_sets.c \
- ex_get_concat_sets.c \
- ex_get_concat_side_set_node_count.c \
- ex_get_concat_side_sets.c \
- ex_get_conn.c \
- ex_get_coord.c \
- ex_get_coordinate_frames.c \
- ex_get_coord_names.c \
- ex_get_eb_info_global.c \
- ex_get_elem_attr.c \
- ex_get_elem_attr_names.c \
- ex_get_elem_blk_ids.c \
- ex_get_elem_block.c \
- ex_get_elem_cmap.c \
- ex_get_elem_conn.c \
- ex_get_elem_map.c \
- ex_get_elem_num_map.c \
- ex_get_elem_type.c \
- ex_get_elem_var.c \
- ex_get_elem_var_tab.c \
- ex_get_elem_var_time.c \
- ex_get_entity_count_per_polyhedra.c \
- ex_get_glob_vars.c \
- ex_get_glob_var_time.c \
- ex_get_id_map.c \
- ex_get_ids.c \
- ex_get_info.c \
- ex_get_init.c \
- ex_get_init_ext.c \
- ex_get_init_global.c \
- ex_get_init_info.c \
- ex_get_loadbal_param.c \
- ex_get_map.c \
- ex_get_map_param.c \
- ex_get_name.c \
- ex_get_names.c \
- ex_get_n_attr.c \
- ex_get_n_conn.c \
- ex_get_n_coord.c \
- ex_get_n_elem_attr.c \
- ex_get_n_elem_conn.c \
- ex_get_n_elem_num_map.c \
- ex_get_n_elem_var.c \
- ex_get_n_nodal_var.c \
- ex_get_n_node_num_map.c \
- ex_get_n_node_set.c \
- ex_get_n_node_set_df.c \
- ex_get_nodal_var.c \
- ex_get_nodal_var_time.c \
- ex_get_node_cmap.c \
- ex_get_node_map.c \
- ex_get_node_num_map.c \
- ex_get_node_set.c \
- ex_get_node_set_dist_fact.c \
- ex_get_node_set_ids.c \
- ex_get_node_set_param.c \
- ex_get_n_one_attr.c \
- ex_get_nset_var.c \
- ex_get_nset_var_tab.c \
- ex_get_n_side_set.c \
- ex_get_n_side_set_df.c \
- ex_get_ns_param_global.c \
- ex_get_num_map.c \
- ex_get_n_var.c \
- ex_get_object_truth_vector.c \
- ex_get_one_attr.c \
- ex_get_one_elem_attr.c \
- ex_get_partial_attr.c \
- ex_get_partial_conn.c \
- ex_get_partial_coord.c \
- ex_get_partial_elem_attr.c \
- ex_get_partial_elem_conn.c \
- ex_get_partial_elem_map.c \
- ex_get_partial_elem_num_map.c \
- ex_get_partial_elem_var.c \
- ex_get_partial_id_map.c \
- ex_get_partial_nodal_var.c \
- ex_get_partial_node_num_map.c \
- ex_get_partial_node_set.c \
- ex_get_partial_node_set_df.c \
- ex_get_partial_num_map.c \
- ex_get_partial_one_attr.c \
- ex_get_partial_set_dist_fact.c \
- ex_get_partial_side_set.c \
- ex_get_partial_side_set_df.c \
- ex_get_partial_var.c \
- ex_get_processor_elem_maps.c \
- ex_get_processor_node_maps.c \
- ex_get_prop_array.c \
- ex_get_prop.c \
- ex_get_prop_names.c \
- ex_get_qa.c \
- ex_get_set.c \
- ex_get_set_dist_fact.c \
- ex_get_set_param.c \
- ex_get_sets.c \
- ex_get_side_set.c \
- ex_get_side_set_dist_fact.c \
- ex_get_side_set_ids.c \
- ex_get_side_set_node_count.c \
- ex_get_side_set_node_list.c \
- ex_get_side_set_node_list_len.c \
- ex_get_side_set_param.c \
- ex_get_sset_var.c \
- ex_get_sset_var_tab.c \
- ex_get_ss_param_global.c \
- ex_get_time.c \
- ex_get_truth_table.c \
- ex_get_var.c \
- ex_get_variable_name.c \
- ex_get_variable_names.c \
- ex_get_variable_param.c \
- ex_get_var_name.c \
- ex_get_var_names.c \
- ex_get_var_param.c \
- ex_get_var_tab.c \
- ex_get_var_time.c \
- ex_inquire.c \
- ex_ne_util.c \
- ex_open.c \
- ex_opts.c \
- ex_put_all_var_param.c \
- ex_put_all_var_param_ext.c \
- ex_put_attr.c \
- ex_put_attr_names.c \
- ex_put_attr_param.c \
- ex_put_block.c \
- ex_put_block_param.c \
- ex_put_cmap_params.c \
- ex_put_cmap_params_cc.c \
- ex_put_concat_all_blocks.c \
- ex_put_concat_elem_block.c \
- ex_put_concat_node_sets.c \
- ex_put_concat_sets.c \
- ex_put_concat_side_sets.c \
- ex_put_concat_var_param.c \
- ex_put_conn.c \
- ex_put_coord.c \
- ex_put_coordinate_frames.c \
- ex_put_coord_names.c \
- ex_put_eb_info_global.c \
- ex_put_elem_attr.c \
- ex_put_elem_attr_names.c \
- ex_put_elem_block.c \
- ex_put_elem_cmap.c \
- ex_put_elem_conn.c \
- ex_put_elem_map.c \
- ex_put_elem_num_map.c \
- ex_put_elem_var.c \
- ex_put_elem_var_slab.c \
- ex_put_elem_var_tab.c \
- ex_put_entity_count_per_polyhedra.c \
- ex_put_glob_vars.c \
- ex_put_id_map.c \
- ex_put_info.c \
- ex_put_init.c \
- ex_put_init_ext.c \
- ex_put_init_global.c \
- ex_put_init_info.c \
- ex_put_loadbal_param.c \
- ex_put_loadbal_param_cc.c \
- ex_put_map.c \
- ex_put_map_param.c \
- ex_put_name.c \
- ex_put_names.c \
- ex_put_n_coord.c \
- ex_put_n_elem_attr.c \
- ex_put_n_elem_conn.c \
- ex_put_n_elem_num_map.c \
- ex_put_n_nodal_var.c \
- ex_put_n_node_num_map.c \
- ex_put_n_node_set.c \
- ex_put_n_node_set_df.c \
- ex_put_nodal_var.c \
- ex_put_nodal_var_slab.c \
- ex_put_node_cmap.c \
- ex_put_node_map.c \
- ex_put_node_num_map.c \
- ex_put_node_set.c \
- ex_put_node_set_dist_fact.c \
- ex_put_node_set_param.c \
- ex_put_n_one_attr.c \
- ex_put_nset_var.c \
- ex_put_nset_var_tab.c \
- ex_put_n_side_set.c \
- ex_put_n_side_set_df.c \
- ex_put_ns_param_global.c \
- ex_put_num_map.c \
- ex_put_n_var.c \
- ex_put_one_attr.c \
- ex_put_one_elem_attr.c \
- ex_put_partial_attr.c \
- ex_put_partial_coord.c \
- ex_put_partial_elem_attr.c \
- ex_put_partial_elem_conn.c \
- ex_put_partial_elem_map.c \
- ex_put_partial_elem_num_map.c \
- ex_put_partial_id_map.c \
- ex_put_partial_nodal_var.c \
- ex_put_partial_node_num_map.c \
- ex_put_partial_node_set.c \
- ex_put_partial_node_set_df.c \
- ex_put_partial_num_map.c \
- ex_put_partial_one_attr.c \
- ex_put_partial_set.c \
- ex_put_partial_set_dist_fact.c \
- ex_put_partial_side_set.c \
- ex_put_partial_side_set_df.c \
- ex_put_partial_var.c \
- ex_put_processor_elem_maps.c \
- ex_put_processor_node_maps.c \
- ex_put_prop_array.c \
- ex_put_prop.c \
- ex_put_prop_names.c \
- ex_put_qa.c \
- ex_put_set.c \
- ex_put_set_dist_fact.c \
- ex_put_set_param.c \
- ex_put_sets.c \
- ex_put_side_set.c \
- ex_put_side_set_dist_fact.c \
- ex_put_side_set_param.c \
- ex_put_sset_var.c \
- ex_put_sset_var_tab.c \
- ex_put_ss_param_global.c \
- ex_put_time.c \
- ex_put_truth_table.c \
- ex_put_var.c \
- ex_put_variable_name.c \
- ex_put_variable_names.c \
- ex_put_variable_param.c \
- ex_put_var_name.c \
- ex_put_var_names.c \
- ex_put_var_param.c \
- ex_put_var_tab.c \
- ex_update.c \
- ex_utils.c
-
-
-OBJS = ${SRCS:.c=.o}
-
-all:: libexodus.a
-libexodus.a: $(OBJS)
- $(AR) $@ $?
- $(RANLIB) $@
- cp libexodus.a ../../
-
-clean::
- rm -f *.CKP *.ln *.BAK *.bak *.o *.M *.mod core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"*
-
-.SUFFIXES: .c
-.c.o:
- $(CC) -c $(CFLAGS) $*.c
-
diff --git a/cbind/src/ex_close.c b/cbind/src/ex_close.c
deleted file mode 100644
index 306b433..0000000
--- a/cbind/src/ex_close.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exclos - ex_close
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-extern char *ret_string; /* cf ex_utils.c */
-
-/*!
-
-The function ex_close() updates and then closes an open exodus file.
-
-\return In case of an error, ex_close() returns a negative number; a
- warning will return a positive number. Possible causes of errors
- include:
- - data file not properly opened with call to ex_create() or ex_open()
-
- \param exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-
-The following code segment closes an open exodus file:
-
-\code
-int error,exoid;
-error = ex_close (exoid);
-\endcode
-
- */
-int ex_close (int exoid)
-{
- char errmsg[MAX_ERR_LENGTH];
- int status;
-
- exerrval = 0; /* clear error code */
-
- if ((status = nc_sync(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to update file id %d",exoid);
- ex_err("ex_close",errmsg,exerrval);
- return(EX_FATAL);
- }
- if ((status = nc_close (exoid)) == NC_NOERR) {
- ex_conv_exit(exoid);
-
- ex_rm_file_item(exoid, ex_get_counter_list(EX_ELEM_BLOCK));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_FACE_BLOCK));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_EDGE_BLOCK));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_NODE_SET));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_EDGE_SET));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_FACE_SET));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_SIDE_SET));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_ELEM_SET));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_NODE_MAP));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_EDGE_MAP));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_FACE_MAP));
- ex_rm_file_item(exoid, ex_get_counter_list(EX_ELEM_MAP));
-
- ex_rm_stat_ptr (exoid, &exoII_ed);
- ex_rm_stat_ptr (exoid, &exoII_fa);
- ex_rm_stat_ptr (exoid, &exoII_eb);
- ex_rm_stat_ptr (exoid, &exoII_ns);
- ex_rm_stat_ptr (exoid, &exoII_es);
- ex_rm_stat_ptr (exoid, &exoII_fs);
- ex_rm_stat_ptr (exoid, &exoII_ss);
- ex_rm_stat_ptr (exoid, &exoII_els);
- ex_rm_stat_ptr (exoid, &exoII_nm);
- ex_rm_stat_ptr (exoid, &exoII_edm);
- ex_rm_stat_ptr (exoid, &exoII_fam);
- ex_rm_stat_ptr (exoid, &exoII_em);
- }
- else {
- exerrval = status;
- sprintf(errmsg, "Error: failed to close file id %d",exoid);
- ex_err("ex_close",errmsg, status);
- return(EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_conv.c b/cbind/src/ex_conv.c
deleted file mode 100644
index de25ba4..0000000
--- a/cbind/src/ex_conv.c
+++ /dev/null
@@ -1,437 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exutils - exodus utilities
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-
-/*! \file
- * this file contains code needed to support the various floating point word
- * size combinations for computation and i/o that applications might want to
- * use. See the netcdf documentation for more details on the floating point
- * conversion capabilities.
- *
- * netCDF supports two floating point word sizes for its files:
- * - NC_FLOAT - 32 bit IEEE
- * - NC_DOUBLE - 64 bit IEEE
- *
- */
-
-#define NC_FLOAT_WORDSIZE 4
-#define NC_DOUBLE_WORDSIZE 8
-
-static struct file_item* file_list = NULL;
-
-struct file_item* ex_find_file_item(int exoid)
-{
- struct file_item *ptr = file_list;
- while (ptr) { \
- if( ptr->file_id == exoid ) break; \
- ptr = ptr->next; \
- } \
- return ptr;
-}
-
-int ex_conv_ini( int exoid,
- int* comp_wordsize,
- int* io_wordsize,
- int file_wordsize,
- int int64_status,
- int is_parallel)
-{
- char errmsg[MAX_ERR_LENGTH];
- struct file_item* new_file;
- int filetype = 0;
-
- /*! ex_conv_ini() initializes the floating point conversion process.
- *
- * \param exoid an integer uniquely identifying the file of interest.
- *
- * \param comp_wordsize compute floating point word size in the user's code.
- * a zero value indicates that the user is requesting the
- * default float size for the machine. The appropriate
- * value is chosen and returned in comp_wordsize, and used
- * in subsequent conversions. a valid but inappropriate
- * for this parameter cannot be detected.
- *
- * \param io_wordsize the desired floating point word size for a netCDF file.
- * for an existing file, if this parameter doesn't match
- * the word size of data already stored in the file, a
- * fatal error is generated. a value of 0 for an existing
- * file indicates that the word size of the file was not
- * known a priori, so use whatever is in the file. a value
- * of 0 for a new file means to use the default size, an
- * NC_FLOAT (4 bytes). when a value of 0 is specified the
- * actual value used is returned in io_wordsize.
- *
- * \param file_wordsize floating point word size in an existing netCDF file.
- * a value of 0 should be passed in for a new netCDF file.
- *
- * \param int64_status the flags specifying how integer values should be stored
- * on the database and how they should be passes through the
- * api functions. See #FileVars for more information.
- *
- * word size parameters are specified in bytes. valid values are 0, 4, and 8:
- */
-
- /* check to make sure machine word sizes aren't weird */
- if ((sizeof(float) != 4 && sizeof(float) != 8) ||
- (sizeof(double) != 4 && sizeof(double) != 8 ) )
- {
- sprintf(errmsg,"Error: unsupported compute word size for file id: %d",
- exoid);
- ex_err("ex_conv_ini",errmsg,EX_FATAL);
- return(EX_FATAL);
- }
-
- /* check to see if requested word sizes are valid */
- if (!*io_wordsize ) {
- if (!file_wordsize )
- *io_wordsize = NC_FLOAT_WORDSIZE;
- else
- *io_wordsize = file_wordsize;
- }
-
- else if (*io_wordsize != 4 && *io_wordsize != 8 ) {
- sprintf(errmsg,"Error: unsupported I/O word size for file id: %d",exoid);
- ex_err("ex_conv_ini",errmsg,EX_FATAL);
- return(EX_FATAL);
- }
-
- else if (file_wordsize && *io_wordsize != file_wordsize ) {
- *io_wordsize = file_wordsize;
- sprintf(errmsg,
- "Error: invalid I/O word size specified for existing file id: %d",
- exoid);
- ex_err("ex_conv_ini",errmsg,EX_MSG);
- ex_err("ex_conv_ini",
- " Requested I/O word size overridden.",
- EX_MSG);
- }
-
- if (!*comp_wordsize ) {
- *comp_wordsize = sizeof(float);
- } else if (*comp_wordsize != 4 && *comp_wordsize != 8 ) {
- ex_err("ex_conv_ini","Error: invalid compute wordsize specified",EX_FATAL);
- return(EX_FATAL);
- }
-
- /* Check that the int64_status contains only valid bits... */
- {
- int valid_int64 = EX_ALL_INT64_API | EX_ALL_INT64_DB;
- if ((int64_status & valid_int64) != int64_status) {
- sprintf(errmsg,
- "Warning: invalid int64_status flag (%d) specified for existing file id: %d. Ignoring invalids",
- int64_status, exoid);
- ex_err("ex_conv_ini",errmsg,EX_MSG);
- }
- int64_status &= valid_int64;
- }
-
- /* Verify filetype
- * 0 -- classic format (NC_FORMAT_CLASSIC -1)
- * 1 -- 64 bit classic (NC_FORMAT_64BIT -1)
- * 2 -- netcdf4 (NC_FORMAT_NETCDF4 -1)
- * 3 -- netcdf4 classic (NC_FORMAT_NETCDF4_CLASSIC -1)
- */
-
- nc_inq_format(exoid, &filetype);
-
- new_file = malloc(sizeof(struct file_item));
-
- new_file->file_id = exoid;
- new_file->user_compute_wordsize = *comp_wordsize == 4 ? 0 : 1;
- new_file->int64_status = int64_status;
- new_file->maximum_name_length = ex_default_max_name_length;
- new_file->compression_level = 0;
- new_file->shuffle = 0;
- new_file->file_type = filetype-1;
- new_file->is_parallel = is_parallel;
-
- new_file->next = file_list;
- file_list = new_file;
-
- if (*io_wordsize == NC_FLOAT_WORDSIZE)
- new_file->netcdf_type_code = NC_FLOAT;
- else
- new_file->netcdf_type_code = NC_DOUBLE;
-
- return(EX_NOERR);
-}
-
-/*............................................................................*/
-/*............................................................................*/
-
-void ex_conv_exit( int exoid )
-{
- /*! ex_conv_exit() takes the structure identified by "exoid" out of the linked
- * list which describes the files that ex_conv_array() knows how to convert.
- *
- * \note it is absolutely necessary for ex_conv_exit() to be called after
- * ncclose(), if the parameter used as "exoid" is the id returned from
- * an ncopen() or nccreate() call, as netCDF reuses file ids!
- * the best place to do this is ex_close(), which is where I did it.
- *
- * \param exoid integer which uniquely identifies the file of interest.
- */
-
- char errmsg[MAX_ERR_LENGTH];
- struct file_item* file = file_list;
- struct file_item* prev = NULL;
-
- exerrval = 0; /* clear error code */
- while( file ) {
- if (file->file_id == exoid ) break;
-
- prev = file;
- file = file->next;
- }
-
- if (!file ) {
- sprintf(errmsg,"Warning: failure to clear file id %d - not in list.",exoid);
- ex_err("ex_conv_exit",errmsg,EX_MSG);
- exerrval = EX_BADFILEID;
- return;
- }
-
- if (prev )
- prev->next = file->next;
- else
- file_list = file->next;
-
- free( file );
-}
-
-/*............................................................................*/
-/*............................................................................*/
-
-nc_type nc_flt_code( int exoid )
-{
- /* nc_flt_code() returns either NC_FLOAT or NC_DOUBLE, based on the parameters
- * with which ex_conv_ini() was called. nc_flt_code() is used as the nc_type
- * parameter on ncvardef() calls that define floating point variables.
- *
- * "exoid" is some integer which uniquely identifies the file of interest.
- */
- struct file_item* file = ex_find_file_item(exoid);
-
- exerrval = 0; /* clear error code */
-
- if (!file ) {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = EX_BADFILEID;
- sprintf(errmsg,"Error: unknown file id %d for nc_flt_code().",exoid);
- ex_err("nc_flt_code",errmsg,exerrval);
- return (nc_type) -1;
- }
- return file->netcdf_type_code;
-}
-
-int ex_int64_status(int exoid)
-{
- /* ex_int64_status() returns an int that can be tested
- against the defines listed below to determine which, if any,
- 'types' in the database are to be stored as int64 types and which, if any,
- types are passed/returned as int64 types in the API
-
- Defines:
- EX_MAPS_INT64_DB All maps (id, order, ...) store int64_t values
- EX_IDS_INT64_DB All entity ids (sets, blocks, maps) are int64_t values
- EX_BULK_INT64_DB
- EX_ALL_INT64_DB (EX_MAPS_INT64_DB|EX_IDS_INT64_DB|EX_BULK_INT64_DB)
-
- EX_MAPS_INT64_API All maps (id, order, ...) passed as int64_t values
- EX_IDS_INT64_API All entity ids (sets, blocks, maps) are passed as int64_t values
- EX_BULK_INT64_API
- EX_ALL_INT64_API (EX_MAPS_INT64_API|EX_IDS_INT64_API|EX_BULK_INT64_API)
- */
- struct file_item* file = ex_find_file_item(exoid);
-
- exerrval = 0; /* clear error code */
-
- if (!file ) {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = EX_BADFILEID;
- sprintf(errmsg,"Error: unknown file id %d for ex_int64_status().",exoid);
- ex_err("ex_int64_status",errmsg,exerrval);
- return 0;
- }
- return file->int64_status;
-}
-
-int ex_set_int64_status(int exoid, int mode)
-{
- /* ex_set_int64_status() sets the value of the INT64_API flags
- which specify how integer types are passed/returned as int64 types in the API
-
- Mode can be one of:
- 0 All are passed as int32_t values.
- EX_MAPS_INT64_API All maps (id, order, ...) passed as int64_t values
- EX_IDS_INT64_API All entity ids (sets, blocks, maps) are passed as int64_t values
- EX_BULK_INT64_API
- EX_ALL_INT64_API (EX_MAPS_INT64_API|EX_IDS_INT64_API|EX_BULK_INT64_API)
- */
-
- int api_mode = 0;
- int db_mode = 0;
-
- struct file_item* file = ex_find_file_item(exoid);
-
- exerrval = 0; /* clear error code */
-
- if (!file ) {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = EX_BADFILEID;
- sprintf(errmsg,"Error: unknown file id %d for ex_int64_status().",exoid);
- ex_err("ex_int64_status",errmsg,exerrval);
- return 0;
- }
-
- /* Strip of all non-INT64_API values */
- api_mode = mode & EX_ALL_INT64_API;
- db_mode = file->int64_status & EX_ALL_INT64_DB;
-
- file->int64_status = api_mode | db_mode;
- return file->int64_status;
-}
-
-int ex_set_option(int exoid, ex_option_type option, int option_value)
-{
- struct file_item* file = ex_find_file_item(exoid);
- if (!file ) {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = EX_BADFILEID;
- sprintf(errmsg,"Error: unknown file id %d for ex_set_option().",exoid);
- ex_err("ex_set_option",errmsg,exerrval);
- return EX_FATAL;
- }
-
- exerrval = 0; /* clear error code */
-
- switch (option) {
- case EX_OPT_MAX_NAME_LENGTH:
- file->maximum_name_length = option_value;
- break;
- case EX_OPT_COMPRESSION_TYPE: /* Currently not used. GZip by default */
- break;
- case EX_OPT_COMPRESSION_LEVEL: /* 0 (disabled/fastest) ... 9 (best/slowest) */
- /* Check whether file type supports compression... */
- if (file->file_type == 2 || file->file_type == 3) {
- int value = option_value;
- if (value > 9) value = 9;
- if (value < 0) value = 0;
- file->compression_level = value;
- }
- else {
- file->compression_level = 0;
- }
- break;
- case EX_OPT_COMPRESSION_SHUFFLE: /* 0 (disabled); 1 (enabled) */
- file->shuffle = option_value != 0 ? 1 : 0;
- break;
- case EX_OPT_INTEGER_SIZE_API: /* See *_INT64_* values above */
- ex_set_int64_status(exoid, option_value);
- break;
- case EX_OPT_INTEGER_SIZE_DB: /* (query only) */
- break;
- default:
- {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = EX_FATAL;
- sprintf(errmsg,"Error: invalid option %d for ex_set_option().",(int)option);
- ex_err("ex_set_option",errmsg,exerrval);
- return EX_FATAL;
- }
- }
- return EX_NOERR;
-}
-
-int ex_comp_ws( int exoid )
-{
-/*!
- * ex_comp_ws() returns 4 (i.e. sizeof(float)) or 8 (i.e. sizeof(double)),
- * depending on the value of floating point word size used to initialize
- * the conversion facility for this file id (exoid).
- * \param exoid integer which uniquely identifies the file of interest.
-*/
- struct file_item* file = ex_find_file_item(exoid);
-
- exerrval = 0; /* clear error code */
-
- if (!file ) {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = EX_BADFILEID;
- sprintf(errmsg,"Error: unknown file id %d",exoid);
- ex_err("ex_comp_ws",errmsg,exerrval);
- return(EX_FATAL);
- }
- /* Stored as 0 for 4-byte; 1 for 8-byte */
- return (file->user_compute_wordsize+1)*4;
- }
-
-int ex_is_parallel(int exoid)
-{
- /*! ex_is_parallel() returns 1 (true) or 0 (false) depending on whether
- * the file was opened in parallel or serial/file-per-processor mode.
- * Note that in this case parallel assumes the output of a single file,
- * not a parallel run using file-per-processor.
- */
- struct file_item* file = ex_find_file_item(exoid);
-
- exerrval = 0; /* clear error code */
-
- if (!file ) {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = EX_BADFILEID;
- sprintf(errmsg,"Error: unknown file id %d",exoid);
- ex_err("ex_is_parallel",errmsg,exerrval);
- return(EX_FATAL);
- }
- /* Stored as 1 for parallel, 0 for serial or file-per-processor */
- return file->is_parallel;
-}
diff --git a/cbind/src/ex_copy.c b/cbind/src/ex_copy.c
deleted file mode 100644
index 9a4198b..0000000
--- a/cbind/src/ex_copy.c
+++ /dev/null
@@ -1,827 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <assert.h>
-#include <stdlib.h>
-#include <string.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*! \cond INTERNAL */
-struct ncdim { /* dimension */
- char name[MAX_VAR_NAME_LENGTH];
- size_t size;
-};
-
-struct ncvar { /* variable */
- char name[MAX_VAR_NAME_LENGTH];
- nc_type type;
- int ndims;
- int dims[NC_MAX_VAR_DIMS];
- int natts;
-};
-
-struct ncatt { /* attribute */
- int var;
- char name[MAX_VAR_NAME_LENGTH];
- nc_type type;
- size_t len;
- void *val;
-};
-
-static size_t type_size(nc_type type);
-static int cpy_att (int, int, int, int);
-static int cpy_var_def(int, int, int, char*);
-static int cpy_var_val(int, int, char*);
-static int cpy_coord_def(int in_id,int out_id,int rec_dim_id,
- char *var_nm, int in_large, int out_large);
-static int cpy_coord_val(int in_id,int out_id,char *var_nm,
- int in_large, int out_large);
-static void update_internal_structs( int, ex_inquiry, struct list_item** );
-/*! \endcond */
-
-/*!
- \undoc
-
- * efficiently copies all non-transient information (attributes,
- * dimensions, and variables from an opened EXODUS file to another
- * opened EXODUS file. Will not overwrite a dimension or variable
- * already defined in the new file.
- * \param in_exoid exodus file id for input file
- * \param out_exoid exodus file id for output file
- */
-
-int ex_copy (int in_exoid, int out_exoid)
-{
- int status;
- int ndims; /* number of dimensions */
- int nvars; /* number of variables */
- int ngatts; /* number of global attributes */
- int recdimid; /* id of unlimited dimension */
- int dimid; /* dimension id */
- int dim_out_id; /* dimension id */
- int varid; /* variable id */
- int var_out_id; /* variable id */
- struct ncvar var; /* variable */
- struct ncatt att; /* attribute */
- nc_type att_type = NC_NAT;
- size_t att_len = 0;
- size_t i;
- size_t numrec;
- size_t dim_sz;
- char dim_nm[NC_MAX_NAME];
- int in_large, out_large;
-
- exerrval = 0; /* clear error code */
-
- /*
- * Get exodus_large_model setting on both input and output
- * databases so know how to handle coordinates.
- */
- in_large = ex_large_model(in_exoid);
- out_large = ex_large_model(out_exoid);
-
- /*
- * get number of dimensions, number of variables, number of global
- * atts, and dimension id of unlimited dimension, if any
- */
-
- nc_inq(in_exoid, &ndims, &nvars, &ngatts, &recdimid);
- nc_inq_dimlen(in_exoid, recdimid, &numrec);
-
- /* put output file into define mode */
- nc_redef(out_exoid);
-
- /* copy global attributes */
- for (i = 0; i < (size_t)ngatts; i++) {
-
- nc_inq_attname(in_exoid, NC_GLOBAL, i, att.name);
-
- /* if attribute exists in output file, don't overwrite it; compute
- * word size, I/O word size etc. are global attributes stored when
- * file is created with ex_create; we don't want to overwrite those
- */
- if ((status = nc_inq_att(out_exoid, NC_GLOBAL, att.name, &att.type, &att.len)) != NC_NOERR) {
-
- /* The "last_written_time" attribute is a special attribute
- used by the Sierra IO system to determine whether a
- timestep has been fully written to the database in order to
- try to detect a database crash that happens in the middle
- of a database output step. Don't want to copy that attribute.
- */
- if (strcmp(att.name,"last_written_time") != 0) {
- /* attribute doesn't exist in new file so OK to create it */
- nc_copy_att(in_exoid,NC_GLOBAL,att.name,out_exoid,NC_GLOBAL);
- }
- }
- }
-
- /* copy dimensions */
-
- /* Get the dimension sizes and names */
-
- for(dimid = 0; dimid < ndims; dimid++){
-
- nc_inq_dim(in_exoid,dimid,dim_nm,&dim_sz);
-
- /* If the dimension isn't one we specifically don't want
- * to copy (ie, number of QA or INFO records) and it
- * hasn't been defined, copy it */
-
- if ( ( strcmp(dim_nm,DIM_NUM_QA) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_INFO) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_NOD_VAR) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_EDG_VAR) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_FAC_VAR) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_ELE_VAR) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_NSET_VAR) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_ESET_VAR) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_FSET_VAR) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_SSET_VAR) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_ELSET_VAR) != 0) &&
- ( strcmp(dim_nm,DIM_NUM_GLO_VAR) != 0) ) {
-
- /* See if the dimension has already been defined */
- status = nc_inq_dimid(out_exoid, dim_nm, &dim_out_id);
-
- if(status != NC_NOERR) {
- if(dimid != recdimid) {
- nc_def_dim(out_exoid, dim_nm, dim_sz, &dim_out_id);
- } else {
- nc_def_dim(out_exoid, dim_nm, NC_UNLIMITED, &dim_out_id);
- } /* end else */
- } /* end if */
- } /* end if */
- } /* end loop over dim */
-
- /* DIM_STR_NAME is a newly added dimension required by current API.
- * If it doesn't exist on the source database, we need to add it to
- * the target...
- */
- status = nc_inq_dimid(in_exoid, DIM_STR_NAME, &dim_out_id);
- if (status != NC_NOERR) {
- /* Not found; set to default value of 32+1. */
- nc_def_dim(out_exoid, DIM_STR_NAME, 33, &dim_out_id);
- }
-
- status = nc_inq_att(in_exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, &att_type, &att_len);
- if (status != NC_NOERR) {
- int max_so_far = 32;
- nc_put_att_int(out_exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, NC_INT, 1, &max_so_far);
- }
-
- /* copy variable definitions and variable attributes */
- for (varid = 0; varid < nvars; varid++) {
-
- nc_inq_var(in_exoid, varid, var.name, &var.type, &var.ndims,
- var.dims, &var.natts);
-
- /* we don't want to copy some variables because there is not a
- * simple way to add to them;
- * QA records, info records and all results variables (nodal
- * element, and global results) are examples
- */
-
- if ( ( strcmp(var.name,VAR_QA_TITLE) != 0) &&
- ( strcmp(var.name,VAR_INFO) != 0) &&
- ( strcmp(var.name,VAR_EBLK_TAB) != 0) &&
- ( strcmp(var.name,VAR_FBLK_TAB) != 0) &&
- ( strcmp(var.name,VAR_ELEM_TAB) != 0) &&
- ( strcmp(var.name,VAR_ELSET_TAB) != 0) &&
- ( strcmp(var.name,VAR_SSET_TAB) != 0) &&
- ( strcmp(var.name,VAR_FSET_TAB) != 0) &&
- ( strcmp(var.name,VAR_ESET_TAB) != 0) &&
- ( strcmp(var.name,VAR_NSET_TAB) != 0) &&
- ( strcmp(var.name,VAR_NAME_GLO_VAR) != 0) &&
- ( strcmp(var.name,VAR_GLO_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_NOD_VAR) != 0) &&
- ( strcmp(var.name,VAR_NOD_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_EDG_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_FAC_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_ELE_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_NSET_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_ESET_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_FSET_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_SSET_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_ELSET_VAR) != 0)&&
- ( strncmp(var.name,"vals_elset_var", 14) != 0) &&
- ( strncmp(var.name,"vals_sset_var", 13) != 0) &&
- ( strncmp(var.name,"vals_fset_var", 13) != 0) &&
- ( strncmp(var.name,"vals_eset_var", 13) != 0) &&
- ( strncmp(var.name,"vals_nset_var", 13) != 0) &&
- ( strncmp(var.name,"vals_nod_var", 12) != 0) &&
- ( strncmp(var.name,"vals_edge_var", 13) != 0) &&
- ( strncmp(var.name,"vals_face_var", 13) != 0) &&
- ( strncmp(var.name,"vals_elem_var", 13) != 0) ) {
-
- if (strncmp(var.name,VAR_COORD,5) == 0) {
- var_out_id = cpy_coord_def (in_exoid, out_exoid, recdimid, var.name,
- in_large, out_large);
- } else {
- var_out_id = cpy_var_def (in_exoid, out_exoid, recdimid, var.name);
- }
-
- /* copy the variable's attributes */
- (void) cpy_att (in_exoid, out_exoid, varid, var_out_id);
-
- }
- }
-
- /* take the output file out of define mode */
- nc_enddef (out_exoid);
-
- /* output variable data */
-
- for (varid = 0; varid < nvars; varid++) {
- nc_inq_var(in_exoid, varid, var.name, &var.type, &var.ndims,
- var.dims, &var.natts);
-
- /* we don't want to copy some variable values;
- * QA records and info records shouldn't be copied because there
- * isn't an easy way to add to them;
- * the time value array ("time_whole") and any results variables
- * (nodal, elemental, or global) shouldn't be copied
- */
-
- if ( ( strcmp(var.name,VAR_QA_TITLE) != 0) &&
- ( strcmp(var.name,VAR_INFO) != 0) &&
- ( strcmp(var.name,VAR_EBLK_TAB) != 0) &&
- ( strcmp(var.name,VAR_FBLK_TAB) != 0) &&
- ( strcmp(var.name,VAR_ELEM_TAB) != 0) &&
- ( strcmp(var.name,VAR_ELSET_TAB) != 0) &&
- ( strcmp(var.name,VAR_SSET_TAB) != 0) &&
- ( strcmp(var.name,VAR_FSET_TAB) != 0) &&
- ( strcmp(var.name,VAR_ESET_TAB) != 0) &&
- ( strcmp(var.name,VAR_NSET_TAB) != 0) &&
- ( strcmp(var.name,VAR_NAME_GLO_VAR) != 0) &&
- ( strcmp(var.name,VAR_GLO_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_NOD_VAR) != 0) &&
- ( strcmp(var.name,VAR_NOD_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_EDG_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_FAC_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_ELE_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_NSET_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_ESET_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_FSET_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_SSET_VAR) != 0) &&
- ( strcmp(var.name,VAR_NAME_ELSET_VAR) != 0) &&
- ( strncmp(var.name,"vals_elset_var", 14) != 0)&&
- ( strncmp(var.name,"vals_sset_var", 13) != 0)&&
- ( strncmp(var.name,"vals_fset_var", 13) != 0)&&
- ( strncmp(var.name,"vals_eset_var", 13) != 0)&&
- ( strncmp(var.name,"vals_nset_var", 13) != 0)&&
- ( strncmp(var.name,"vals_nod_var", 12) != 0) &&
- ( strncmp(var.name,"vals_edge_var",13) != 0) &&
- ( strncmp(var.name,"vals_face_var",13) != 0) &&
- ( strncmp(var.name,"vals_elem_var",13) != 0) &&
- ( strcmp(var.name,VAR_WHOLE_TIME) != 0) ) {
-
- if (strncmp(var.name,VAR_COORD,5) == 0) {
- (void) cpy_coord_val (in_exoid, out_exoid, var.name,
- in_large, out_large);
- } else {
- (void) cpy_var_val (in_exoid, out_exoid, var.name);
- }
-
- }
- }
-
- /* ensure internal data structures are updated */
-
- /* if number of blocks > 0 */
- update_internal_structs( out_exoid, EX_INQ_EDGE_BLK, ex_get_counter_list(EX_EDGE_BLOCK));
- update_internal_structs( out_exoid, EX_INQ_FACE_BLK, ex_get_counter_list(EX_FACE_BLOCK));
- update_internal_structs( out_exoid, EX_INQ_ELEM_BLK, ex_get_counter_list(EX_ELEM_BLOCK));
-
- /* if number of sets > 0 */
- update_internal_structs( out_exoid, EX_INQ_NODE_SETS, ex_get_counter_list(EX_NODE_SET));
- update_internal_structs( out_exoid, EX_INQ_EDGE_SETS, ex_get_counter_list(EX_EDGE_SET));
- update_internal_structs( out_exoid, EX_INQ_FACE_SETS, ex_get_counter_list(EX_FACE_SET));
- update_internal_structs( out_exoid, EX_INQ_SIDE_SETS, ex_get_counter_list(EX_SIDE_SET));
- update_internal_structs( out_exoid, EX_INQ_ELEM_SETS, ex_get_counter_list(EX_ELEM_SET));
-
- /* if number of maps > 0 */
- update_internal_structs( out_exoid, EX_INQ_NODE_MAP, ex_get_counter_list(EX_NODE_MAP));
- update_internal_structs( out_exoid, EX_INQ_EDGE_MAP, ex_get_counter_list(EX_EDGE_MAP));
- update_internal_structs( out_exoid, EX_INQ_FACE_MAP, ex_get_counter_list(EX_FACE_MAP));
- update_internal_structs( out_exoid, EX_INQ_ELEM_MAP, ex_get_counter_list(EX_ELEM_MAP));
-
- return(EX_NOERR);
-}
-
-/*! \cond INTERNAL */
-int cpy_att(int in_id,int out_id,int var_in_id,int var_out_id)
-/*
- int in_id: input netCDF input-file ID
- int out_id: input netCDF output-file ID
- int var_in_id: input netCDF input-variable ID
- int var_out_id: input netCDF output-variable ID
- */
-{
- /* Routine to copy all the attributes from the input netCDF
- file to the output netCDF file. If var_in_id == NC_GLOBAL,
- then the global attributes are copied. Otherwise the variable's
- attributes are copied. */
-
- int idx;
- int nbr_att;
-
- if(var_in_id == NC_GLOBAL) {
- nc_inq_natts(in_id,&nbr_att);
- } else {
- nc_inq_varnatts(in_id, var_in_id, &nbr_att);
- }
-
- /* Get the attributes names, types, lengths, and values */
- for (idx=0; idx<nbr_att; idx++) {
- char att_nm[MAX_VAR_NAME_LENGTH];
-
- nc_inq_attname(in_id, var_in_id, idx, att_nm);
- nc_copy_att(in_id, var_in_id, att_nm, out_id, var_out_id);
- }
-
- return(EX_NOERR);
-}
-
-/*! \internal */
-int cpy_coord_def(int in_id,int out_id,int rec_dim_id,char *var_nm,
- int in_large, int out_large)
-/*
- int in_id: input netCDF input-file ID
- int out_id: input netCDF output-file ID
- int rec_dim_id: input input-file record dimension ID
- char *var_nm: input variable name
- int in_large: large file setting for input file
- int out_large: large file setting for output file
- int cpy_var_def(): output output-file variable ID
- */
-{
- const char *routine = NULL;
- int status;
- size_t spatial_dim;
- int nbr_dim;
- int temp;
-
- int dim_out_id[2];
- int var_out_id = -1;
-
- /* Handle easiest situation first: in_large matches out_large */
- if (in_large == out_large) {
- return cpy_var_def(in_id, out_id, rec_dim_id, var_nm);
- }
-
- /* At this point, know that in_large != out_large, so some change to
- the coord variable definition is needed. Also will need the
- spatial dimension, so get that now.*/
- ex_get_dimension(in_id, DIM_NUM_DIM, "dimension", &spatial_dim, &temp, routine);
-
- if (in_large == 0 && out_large == 1) {
- /* output file will have coordx, coordy, coordz (if 3d). See if
- they are already defined in output file. Assume either all or
- none are defined. */
-
- {
- int var_out_idx, var_out_idy, var_out_idz;
- int status1 = nc_inq_varid(out_id, VAR_COORD_X, &var_out_idx);
- int status2 = nc_inq_varid(out_id, VAR_COORD_Y, &var_out_idy);
- int status3 = nc_inq_varid(out_id, VAR_COORD_Y, &var_out_idz);
-
- if (status1 == NC_NOERR && status2 == NC_NOERR &&
- (spatial_dim == 2 || status3 == NC_NOERR)) {
- return NC_NOERR; /* already defined in output file */
- }
- }
-
- /* Get dimid of the num_nodes dimension in output file... */
- nc_inq_dimid(out_id, DIM_NUM_NODES, &dim_out_id[0]);
-
- /* Define the variables in the output file */
-
- /* Define according to the EXODUS file's IO_word_size */
- nbr_dim = 1;
- nc_def_var(out_id, VAR_COORD_X, nc_flt_code(out_id), nbr_dim, dim_out_id, &var_out_id);
- ex_compress_variable(out_id, var_out_id, 2);
- if (spatial_dim > 1) {
- nc_def_var(out_id, VAR_COORD_Y, nc_flt_code(out_id), nbr_dim, dim_out_id, &var_out_id);
- ex_compress_variable(out_id, var_out_id, 2);
- }
- if (spatial_dim > 2) {
- nc_def_var(out_id, VAR_COORD_Z, nc_flt_code(out_id), nbr_dim, dim_out_id, &var_out_id);
- ex_compress_variable(out_id, var_out_id, 2);
- }
- }
-
- if (in_large == 1 && out_large == 0) {
- /* input file has coordx, coordy, coordz (if 3d); output will only
- have "coord". See if is already defined in output file. */
- status = nc_inq_varid(out_id, VAR_COORD, &var_out_id);
- if (status == NC_NOERR)
- return NC_NOERR; /* already defined in output file */
-
- /* Get dimid of the spatial dimension and num_nodes dimensions in output file... */
- nc_inq_dimid(out_id, DIM_NUM_DIM, &dim_out_id[0]);
- nc_inq_dimid(out_id, DIM_NUM_NODES, &dim_out_id[1]);
-
- /* Define the variable in the output file */
-
- /* Define according to the EXODUS file's IO_word_size */
- nbr_dim = 2;
- nc_def_var(out_id, VAR_COORD, nc_flt_code(out_id), nbr_dim, dim_out_id, &var_out_id);
- }
- return var_out_id;
-}
-
-/*! \internal */
-int cpy_var_def(int in_id,int out_id,int rec_dim_id,char *var_nm)
-/*
- int in_id: input netCDF input-file ID
- int out_id: input netCDF output-file ID
- int rec_dim_id: input input-file record dimension ID
- char *var_nm: input variable name
- int cpy_var_def(): output output-file variable ID
- */
-{
- /* Routine to copy the variable metadata from an input netCDF file
- * to an output netCDF file.
- */
-
- int status;
- int *dim_in_id;
- int *dim_out_id;
- int idx;
- int nbr_dim;
- int var_in_id;
- int var_out_id;
-
- nc_type var_type;
-
- /* See if the requested variable is already in the output file. */
- status = nc_inq_varid(out_id, var_nm, &var_out_id);
- if(status == NC_NOERR)
- return var_out_id;
-
- /* See if the requested variable is in the input file. */
- nc_inq_varid(in_id, var_nm, &var_in_id);
-
- /* Get the type of the variable and the number of dimensions. */
- nc_inq_vartype (in_id, var_in_id, &var_type);
- nc_inq_varndims(in_id, var_in_id, &nbr_dim);
-
- /* Recall:
- 1. The dimensions must be defined before the variable.
- 2. The variable must be defined before the attributes. */
-
- /* Allocate space to hold the dimension IDs */
- dim_in_id=malloc(nbr_dim*sizeof(int));
- dim_out_id=malloc(nbr_dim*sizeof(int));
-
- /* Get the dimension IDs */
- nc_inq_vardimid(in_id, var_in_id, dim_in_id);
-
- /* Get the dimension sizes and names */
- for(idx=0;idx<nbr_dim;idx++){
- char dim_nm[NC_MAX_NAME];
- size_t dim_sz;
-
- nc_inq_dim(in_id, dim_in_id[idx], dim_nm, &dim_sz);
-
- /* See if the dimension has already been defined */
- status = nc_inq_dimid(out_id, dim_nm, &dim_out_id[idx]);
-
- /* If the dimension hasn't been defined, copy it */
- if (status != NC_NOERR) {
- if (dim_in_id[idx] != rec_dim_id) {
- nc_def_dim(out_id, dim_nm, dim_sz, &dim_out_id[idx]);
- } else {
- nc_def_dim(out_id, dim_nm, NC_UNLIMITED, &dim_out_id[idx]);
- }
- }
- }
-
- /* Define the variable in the output file */
-
- /* If variable is float or double, define it according to the EXODUS
- file's IO_word_size */
-
- if ((var_type == NC_FLOAT) || (var_type == NC_DOUBLE)) {
- nc_def_var(out_id, var_nm, nc_flt_code(out_id), nbr_dim, dim_out_id, &var_out_id);
- ex_compress_variable(out_id, var_out_id, 2);
- } else {
- nc_def_var(out_id, var_nm, var_type, nbr_dim, dim_out_id, &var_out_id);
- ex_compress_variable(out_id, var_out_id, 1);
- }
-
- /* Free the space holding the dimension IDs */
- (void)free(dim_in_id);
- (void)free(dim_out_id);
-
- return var_out_id;
-} /* end cpy_var_def() */
-
-/*! \internal */
-int
-cpy_var_val(int in_id,int out_id,char *var_nm)
-/*
- int in_id: input netCDF input-file ID
- int out_id: input netCDF output-file ID
- char *var_nm: input variable name
- */
-{
- /* Routine to copy the variable data from an input netCDF file
- * to an output netCDF file.
- */
-
- int *dim_id;
- int idx;
- int nbr_dim;
- int var_in_id;
- int var_out_id;
- size_t *dim_cnt;
- size_t *dim_sz;
- size_t *dim_srt;
- size_t var_sz=1L;
- nc_type var_type_in, var_type_out;
-
- void *void_ptr;
-
- /* Get the var_id for the requested variable from both files. */
- nc_inq_varid(in_id, var_nm, &var_in_id);
- nc_inq_varid(out_id,var_nm, &var_out_id);
-
- /* Get the number of dimensions for the variable. */
- nc_inq_vartype( out_id, var_out_id, &var_type_out);
- nc_inq_varndims(out_id, var_out_id, &nbr_dim);
-
- nc_inq_vartype( in_id, var_in_id, &var_type_in);
- nc_inq_varndims(in_id, var_in_id, &nbr_dim);
-
- /* Allocate space to hold the dimension IDs */
- dim_cnt = malloc(nbr_dim*sizeof(size_t));
-
- dim_id=malloc(nbr_dim*sizeof(int));
-
- dim_sz=malloc(nbr_dim*sizeof(size_t));
-
- dim_srt=malloc(nbr_dim*sizeof(size_t));
-
- /* Get the dimension IDs from the input file */
- nc_inq_vardimid(in_id, var_in_id, dim_id);
-
- /* Get the dimension sizes and names from the input file */
- for(idx=0;idx<nbr_dim;idx++){
- /* NB: For the unlimited dimension, ncdiminq() returns the maximum
- value used so far in writing data for that dimension.
- Thus if you read the dimension sizes from the output file, then
- the ncdiminq() returns dim_sz=0 for the unlimited dimension
- until a variable has been written with that dimension. This is
- the reason for always reading the input file for the dimension
- sizes. */
-
- nc_inq_dimlen(in_id,dim_id[idx],dim_cnt+idx);
-
- /* Initialize the indicial offset and stride arrays */
- dim_srt[idx]=0L;
- var_sz*=dim_cnt[idx];
- } /* end loop over dim */
-
- /* Allocate enough space to hold the variable */
- void_ptr=malloc(var_sz * type_size(var_type_in));
-
- /* Get the variable */
-
- /* if variable is float or double, convert if necessary */
-
- if(nbr_dim==0){ /* variable is a scalar */
-
- if (var_type_in == NC_INT && var_type_out == NC_INT) {
- nc_get_var1_int(in_id, var_in_id, 0L, void_ptr);
- nc_put_var1_int(out_id, var_out_id, 0L, void_ptr);
- }
-
- else if (var_type_in == NC_INT64 && var_type_out == NC_INT64) {
- nc_get_var1_longlong(in_id, var_in_id, 0L, void_ptr);
- nc_put_var1_longlong(out_id, var_out_id, 0L, void_ptr);
- }
-
- else if (var_type_in == NC_FLOAT) {
- nc_get_var1_float(in_id, var_in_id, 0L, void_ptr);
- nc_put_var1_float(out_id, var_out_id, 0L, void_ptr);
- }
-
- else if (var_type_in == NC_DOUBLE) {
- nc_get_var1_double(in_id, var_in_id, 0L, void_ptr);
- nc_put_var1_double(out_id, var_out_id, 0L, void_ptr);
- }
-
- else if (var_type_in == NC_CHAR) {
- nc_get_var1_text(in_id, var_in_id, 0L, void_ptr);
- nc_put_var1_text(out_id, var_out_id, 0L, void_ptr);
- }
-
- else {
- assert(1==0);
- }
- } else { /* variable is a vector */
-
- if (var_type_in == NC_INT && var_type_out == NC_INT) {
- nc_get_var_int(in_id, var_in_id, void_ptr);
- nc_put_var_int(out_id, var_out_id, void_ptr);
- }
-
- else if (var_type_in == NC_INT64 && var_type_out == NC_INT64) {
- nc_get_var_longlong(in_id, var_in_id, void_ptr);
- nc_put_var_longlong(out_id, var_out_id, void_ptr);
- }
-
- else if (var_type_in == NC_FLOAT) {
- nc_get_var_float(in_id, var_in_id, void_ptr);
- nc_put_var_float(out_id, var_out_id, void_ptr);
- }
-
- else if (var_type_in == NC_DOUBLE) {
- nc_get_var_double(in_id, var_in_id, void_ptr);
- nc_put_var_double(out_id, var_out_id, void_ptr);
- }
-
- else if (var_type_in == NC_CHAR) {
- nc_get_var_text(in_id, var_in_id, void_ptr);
- nc_put_var_text(out_id, var_out_id, void_ptr);
- }
-
- else {
- assert(1==0);
- }
- } /* end if variable is an array */
-
- /* Free the space that held the dimension IDs */
- (void)free(dim_cnt);
- (void)free(dim_id);
- (void)free(dim_sz);
- (void)free(dim_srt);
-
- /* Free the space that held the variable */
- (void)free(void_ptr);
-
- return(EX_NOERR);
-
-} /* end cpy_var_val() */
-
-/*! \internal */
-int
-cpy_coord_val(int in_id,int out_id,char *var_nm,
- int in_large, int out_large)
-/*
- int in_id: input netCDF input-file ID
- int out_id: input netCDF output-file ID
- char *var_nm: input variable name
- */
-{
- /* Routine to copy the coordinate data from an input netCDF file
- * to an output netCDF file.
- */
-
- const char *routine = NULL;
- int temp;
- size_t i;
- size_t spatial_dim, num_nodes;
- size_t start[2], count[2];
- nc_type var_type_in, var_type_out;
-
- void *void_ptr = NULL;
-
- /* Handle easiest situation first: in_large matches out_large */
- if (in_large == out_large)
- return cpy_var_val(in_id, out_id, var_nm);
-
- /* At this point, know that in_large != out_large, so will need to
- either copy a vector to multiple scalars or vice-versa. Also
- will need a couple dimensions, so get them now.*/
- ex_get_dimension(in_id, DIM_NUM_DIM, "dimension", &spatial_dim, &temp, routine);
- ex_get_dimension(in_id, DIM_NUM_NODES, "nodes", &num_nodes, &temp, routine);
-
- if (in_large == 0 && out_large == 1) {
- /* output file will have coordx, coordy, coordz (if 3d). */
- /* Get the var_id for the requested variable from both files. */
- int var_in_id, var_out_id[3];
- nc_inq_varid(in_id, VAR_COORD, &var_in_id);
-
- nc_inq_varid(out_id, VAR_COORD_X, &var_out_id[0]);
- nc_inq_varid(out_id, VAR_COORD_Y, &var_out_id[1]);
- nc_inq_varid(out_id, VAR_COORD_Z, &var_out_id[2]);
-
- nc_inq_vartype( in_id, var_in_id, &var_type_in);
- nc_inq_vartype(out_id, var_out_id[0], &var_type_out);
-
- void_ptr=malloc(num_nodes * type_size(var_type_in));
-
- /* Copy each component of the variable... */
- for (i=0; i < spatial_dim; i++) {
- start[0] = i; start[1] = 0;
- count[0] = 1; count[1] = num_nodes;
- if (var_type_in == NC_FLOAT) {
- nc_get_vara_float(in_id, var_in_id, start, count, void_ptr);
- nc_put_var_float(out_id, var_out_id[i], void_ptr);
- } else {
- assert(var_type_in == NC_DOUBLE);
- nc_get_vara_double(in_id, var_in_id, start, count, void_ptr);
- nc_put_var_double(out_id, var_out_id[i], void_ptr);
- }
- }
- }
-
- if (in_large == 1 && out_large == 0) {
- /* input file will have coordx, coordy, coordz (if 3d); output has only "coord" */
- int var_in_id[3], var_out_id;
- nc_inq_varid(in_id, VAR_COORD_X, &var_in_id[0]);
- nc_inq_varid(in_id, VAR_COORD_Y, &var_in_id[1]);
- nc_inq_varid(in_id, VAR_COORD_Z, &var_in_id[2]);
- nc_inq_varid(out_id, VAR_COORD, &var_out_id);
-
- nc_inq_vartype(in_id, var_in_id[0], &var_type_in);
- nc_inq_vartype(out_id, var_out_id, &var_type_out);
-
- void_ptr=malloc(num_nodes * type_size(var_type_in));
-
- /* Copy each component of the variable... */
- for (i=0; i < spatial_dim; i++) {
- start[0] = i; start[1] = 0;
- count[0] = 1; count[1] = num_nodes;
-
- if (var_type_in == NC_FLOAT) {
- nc_get_var_float( in_id, var_in_id[i], void_ptr);
- nc_put_vara_float(out_id, var_out_id, start, count, void_ptr);
-
- } else {
- nc_get_var_double( in_id, var_in_id[i], void_ptr);
- nc_put_vara_double(out_id, var_out_id, start, count, void_ptr);
- }
- }
- }
-
- /* Free the space that held the variable */
- (void)free(void_ptr);
- return(EX_NOERR);
-} /* end cpy_coord_val() */
-
-
-/*! \internal */
-void update_internal_structs( int out_exoid, ex_inquiry inqcode, struct list_item** ctr_list )
-{
- int i;
- int number = ex_inquire_int (out_exoid, inqcode);
-
- if (number > 0) {
- for (i=0; i<number; i++)
- ex_inc_file_item (out_exoid, ctr_list);
- }
-}
-
-size_t type_size(nc_type type)
-{
- if (type == NC_CHAR)
- return sizeof(char);
- else if (type == NC_INT)
- return sizeof(int);
- else if (type == NC_INT64)
- return sizeof(int64_t);
- else if (type == NC_FLOAT)
- return sizeof(float);
- else if (type == NC_DOUBLE)
- return sizeof(double);
- else
- return 0;
-}
-
-/* \endcond */
diff --git a/cbind/src/ex_create.c b/cbind/src/ex_create.c
deleted file mode 100644
index d8f0bcd..0000000
--- a/cbind/src/ex_create.c
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*!
-
-\note The ex_create_int() is an internal function called by
-ex_create(). The user should call ex_create() and not ex_create_int().
-
-The function ex_create() creates a new exodus file and returns an ID
-that can subsequently be used to refer to the file.
-
-All floating point values in an exodus file are stored as either
-4-byte (\c float) or 8-byte (\c double) numbers; no mixing of 4- and
-8-byte numbers in a single file is allowed. An application code can
-compute either 4- or 8-byte values and can designate that the values
-be stored in the exodus file as either 4- or 8-byte numbers;
-conversion between the 4- and 8-byte values is performed automatically
-by the API routines. Thus, there are four possible combinations of
-compute word size and storage (or I/O) word size.
-
-\return In case of an error, ex_create() returns a negative number. Possible
-causes of errors include:
- - Passing a file name that includes a directory that does not
- exist.
- - Specifying a file name of a file that exists and also
- specifying a no clobber option.
- - Attempting to create a file in a directory without permission
- to create files there.
- - Passing an invalid file clobber mode.
-
-
-\param path The file name of the new exodus file. This can be given as either an
- absolute path name (from the root of the file system) or a relative
- path name (from the current directory).
-
-\param cmode Mode. Use one of the following predefined constants:
-\arg \c EX_NOCLOBBER To create the new file only if the given file name does not refer to a
- file that already exists.
-
-\arg \c EX_CLOBBER To create the new file, regardless of whether a file with the same
- name already exists. If a file with the same name does exist, its
- contents will be erased.
-
-\arg \c EX_LARGE_MODEL To create a model that can store individual datasets larger than
- 2 gigabytes. This modifies the internal storage used by exodusII and
- also puts the underlying NetCDF file into the \e 64-bit offset'
- mode. See largemodel for more details on this
- mode. A large model file will also be created if the
- environment variable \c EXODUS_LARGE_MODEL is defined
- in the users environment. A message will be printed to standard output
- if this environment variable is found.
-
-\arg \c EX_NORMAL_MODEL Create a standard model.
-
-\arg \c EX_NETCDF4 To create a model using the HDF5-based NetCDF-4
- output. An HDF5-based NetCDF-4 file will also be created if the
- environment variable \c EXODUS_NETCDF4 is defined in the
- users environment. A message will be printed to standard output if
- this environment variable is found.
-
-\arg \c EX_NOSHARE Do not open the underlying NetCDF file in \e share mode. See the
- NetCDF documentation for more details.
-
-\arg \c EX_SHARE Do open the underlying NetCDF file in \e share mode. See the NetCDF
- documentation for more details.
-
-\param[in,out] comp_ws The word size in bytes (0, 4 or 8) of the floating point variables
- used in the application program. If 0 (zero) is passed, the default
- sizeof(float) will be used and returned in this variable. WARNING: all
- exodus functions requiring floats must be passed floats declared with
- this passed in or returned compute word size (4 or 8).}
-
-\param io_ws The word size in bytes (4 or 8) of the floating point
- data as they are to be stored in the exodus file.
-
-\param run_version (internally generated) used to verify compatability of libary and include files.
-
-The following code segment creates an exodus file called \file{test.exo}:
-
-\code
-#include "exodusII.h"
-int CPU_word_size, IO_word_size, exoid;
-CPU_word_size = sizeof(float); \comment{use float or double}
-IO_word_size = 8; \comment{store variables as doubles}
-
-\comment{create exodus file}
-exoid = ex_create ("test.exo" \comment{filename path}
- EX_CLOBBER, \comment{create mode}
- &CPU_word_size, \comment{CPU float word size in bytes}
- &IO_word_size); \comment{I/O float word size in bytes}
-\endcode
-
-*/
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h>
-#include <assert.h>
-
-static int warning_output = 0;
-
-int ex_create_int (const char *path,
- int cmode,
- int *comp_ws,
- int *io_ws,
- int run_version)
-{
- int exoid, dims[1];
- int status;
- int dimid, time_dim;
- int old_fill;
- int lio_ws;
- int filesiz;
- float vers;
- char errmsg[MAX_ERR_LENGTH];
- char *mode_name;
- int mode = 0;
-#if defined(NC_NETCDF4)
- static int netcdf4_mode = -1;
- char *option;
-#endif /* NC_NETCDF4 */
-
- int int64_status;
- unsigned int my_mode = cmode;
- assert(my_mode == cmode);
- exerrval = 0; /* clear error code */
-
- if (run_version != EX_API_VERS_NODOT && warning_output == 0) {
- int run_version_major = run_version / 100;
- int run_version_minor = run_version % 100;
- int lib_version_major = EX_API_VERS_NODOT / 100;
- int lib_version_minor = EX_API_VERS_NODOT % 100;
- fprintf(stderr, "EXODUS: Warning: This code was compiled with exodusII version %d.%02d,\n but was linked with exodusII library version %d.%02d\n This is probably an error in the build process of this code.\n",
- run_version_major, run_version_minor, lib_version_major, lib_version_minor);
- warning_output = 1;
- }
-
- /*
- * See if any integer data is to be stored as int64 (long long). If
- * so, then need to set NC_NETCDF4 and unset NC_CLASSIC_MODEL (or
- * set EX_NOCLASSIC. Output meaningful error message if the library
- * is not NetCDF-4 enabled...
- */
- int64_status = my_mode & (EX_ALL_INT64_DB | EX_ALL_INT64_API);
-
- if ((int64_status & EX_ALL_INT64_DB) != 0) {
-#if defined(NC_NETCDF4)
- /* Library DOES support netcdf4... Set modes required to use
- * netcdf-4 in non-classic mode
- */
- my_mode |= EX_NOCLASSIC;
- my_mode |= EX_NETCDF4;
-#else
- /* Library does NOT support netcdf4 */
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "EXODUS: Error: 64-bit integer storage requested, but the netcdf library does not support the required netcdf-4 extensions.\n");
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
-#endif
- }
-
-#if defined(NC_NETCDF4)
- if (my_mode & EX_NETCDF4) {
- mode |= (NC_NETCDF4);
- } else {
- if (netcdf4_mode == -1) {
- option = getenv("EXODUS_NETCDF4");
- if (option != NULL) {
- fprintf(stderr, "EXODUS: Using netcdf version 4 selected via EXODUS_NETCDF4 environment variable\n");
- netcdf4_mode = NC_NETCDF4;
- } else {
- netcdf4_mode = 0;
- }
- }
- mode |= netcdf4_mode;
- }
- if (! (my_mode & EX_NOCLASSIC)) {
- mode |= NC_CLASSIC_MODEL;
- }
-#endif
-
- /*
- * See if "large file" mode was specified in a ex_create my_mode. If
- * so, then pass the NC_64BIT_OFFSET flag down to netcdf.
- * If netcdf4 mode specified, don't use NC_64BIT_OFFSET mode.
- */
- if ( (my_mode & EX_LARGE_MODEL) && (my_mode & EX_NORMAL_MODEL)) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: conflicting mode specification for file %s, mode %d. Using normal",
- path, (int)my_mode);
- ex_err("ex_create",errmsg,exerrval);
- }
- if (my_mode & EX_NORMAL_MODEL)
- filesiz = 0;
-#if defined(NC_NETCDF4)
- else if (mode & NC_NETCDF4)
- filesiz = 1;
-#endif
- else
- filesiz = (int)((my_mode & EX_LARGE_MODEL) || (ex_large_model(-1) == 1));
-
- if (
-#if defined(NC_NETCDF4)
- !(mode & NC_NETCDF4) &&
-#endif
- filesiz == 1) {
- mode |= NC_64BIT_OFFSET;
- }
-
- if (my_mode & EX_SHARE) {
- mode |= NC_SHARE;
- }
-
- /*
- * set error handling mode to no messages, non-fatal errors
- */
- ex_opts(exoptval); /* call required to set ncopts first time through */
-
- if (my_mode & EX_CLOBBER) {
- mode |= NC_CLOBBER;
- mode_name = "CLOBBER";
- } else {
- mode |= NC_NOCLOBBER;
- mode_name = "NOCLOBBER";
- }
-
- if ((status = nc_create (path, mode, &exoid)) != NC_NOERR) {
- exerrval = status;
- if (my_mode & EX_NETCDF4) {
- sprintf(errmsg,
- "Error: file create failed for %s in NETCDF4 and %s mode.\n\tThis library probably does not support netcdf-4 files.",
- path, mode_name);
- } else {
- sprintf(errmsg,
- "Error: file create failed for %s, mode: %s",
- path, mode_name);
- }
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* turn off automatic filling of netCDF variables
- */
-
- if ((status = nc_set_fill (exoid, NC_NOFILL, &old_fill)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to set nofill mode in file id %d",
- exoid);
- ex_err("ex_create", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* initialize floating point size conversion. since creating new file,
- * i/o wordsize attribute from file is zero.
- */
-
- if (ex_conv_ini(exoid, comp_ws, io_ws, 0, int64_status, 0) != EX_NOERR) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: failed to init conversion routines in file id %d",
- exoid);
- ex_err("ex_create", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* put the EXODUS version number, and i/o floating point word size as
- * netcdf global attributes
- */
-
- /* store Exodus API version # as an attribute */
- vers = EX_API_VERS;
- if ((status=nc_put_att_float(exoid, NC_GLOBAL, ATT_API_VERSION,
- NC_FLOAT, 1, &vers)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II API version attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* store Exodus file version # as an attribute */
- vers = EX_VERS;
- if ((status=nc_put_att_float(exoid, NC_GLOBAL, ATT_VERSION, NC_FLOAT, 1, &vers)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II file version attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* store Exodus file float word size as an attribute */
- lio_ws = (int)(*io_ws);
- if ((status=nc_put_att_int (exoid, NC_GLOBAL, ATT_FLT_WORDSIZE, NC_INT, 1, &lio_ws)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II file float word size attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* store Exodus file size (1=large, 0=normal) as an attribute */
- if ((status = nc_put_att_int (exoid, NC_GLOBAL, ATT_FILESIZE, NC_INT, 1, &filesiz)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II file size attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* define some dimensions and variables
- */
-
- /* create string length dimension */
- if ((status=nc_def_dim (exoid, DIM_STR, (MAX_STR_LENGTH+1), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define string length in file id %d",exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* The name string length dimension is delayed until the ex_put_init function */
-
- /* create line length dimension */
- if ((status = nc_def_dim(exoid, DIM_LIN, (MAX_LINE_LENGTH+1), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define line length in file id %d",exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* create number "4" dimension; must be of type long */
- if ((status = nc_def_dim(exoid, DIM_N4, 4L, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number \"4\" dimension in file id %d",exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_def_dim(exoid, DIM_TIME, NC_UNLIMITED, &time_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define time dimension in file id %d", exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- dims[0] = time_dim;
- if ((status = nc_def_var(exoid, VAR_WHOLE_TIME, nc_flt_code(exoid), 1, dims, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define whole time step variable in file id %d",
- exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, dimid, 2);
-
- {
- int int64_db_status = int64_status & EX_ALL_INT64_DB;
- if ((status=nc_put_att_int(exoid, NC_GLOBAL, ATT_INT64_STATUS, NC_INT, 1, &int64_db_status)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add int64_status attribute in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d", exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (exoid);
-}
diff --git a/cbind/src/ex_create_par.c b/cbind/src/ex_create_par.c
deleted file mode 100644
index b82def0..0000000
--- a/cbind/src/ex_create_par.c
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*!
-
-\note The ex_create_int() is an internal function called by
-ex_create(). The user should call ex_create() and not ex_create_int().
-
-The function ex_create() creates a new exodus file and returns an ID
-that can subsequently be used to refer to the file.
-
-All floating point values in an exodus file are stored as either
-4-byte (\c float) or 8-byte (\c double) numbers; no mixing of 4- and
-8-byte numbers in a single file is allowed. An application code can
-compute either 4- or 8-byte values and can designate that the values
-be stored in the exodus file as either 4- or 8-byte numbers;
-conversion between the 4- and 8-byte values is performed automatically
-by the API routines. Thus, there are four possible combinations of
-compute word size and storage (or I/O) word size.
-
-\return In case of an error, ex_create() returns a negative number. Possible
-causes of errors include:
- - Passing a file name that includes a directory that does not
- exist.
- - Specifying a file name of a file that exists and also
- specifying a no clobber option.
- - Attempting to create a file in a directory without permission
- to create files there.
- - Passing an invalid file clobber mode.
-
-
-\param path The file name of the new exodus file. This can be given as either an
- absolute path name (from the root of the file system) or a relative
- path name (from the current directory).
-
-\param cmode Mode. Use one of the following predefined constants:
-\arg \c EX_NOCLOBBER To create the new file only if the given file name does not refer to a
- file that already exists.
-
-\arg \c EX_CLOBBER To create the new file, regardless of whether a file with the same
- name already exists. If a file with the same name does exist, its
- contents will be erased.
-
-\arg \c EX_LARGE_MODEL To create a model that can store individual datasets larger than
- 2 gigabytes. This modifies the internal storage used by exodusII and
- also puts the underlying NetCDF file into the \e 64-bit offset'
- mode. See largemodel for more details on this
- mode. A large model file will also be created if the
- environment variable \c EXODUS_LARGE_MODEL is defined
- in the users environment. A message will be printed to standard output
- if this environment variable is found.
-
-\arg \c EX_NORMAL_MODEL Create a standard model.
-
-\arg \c EX_NETCDF4 To create a model using the HDF5-based NetCDF-4
- output. An HDF5-based NetCDF-4 file will also be created if the
- environment variable \c EXODUS_NETCDF4 is defined in the
- users environment. A message will be printed to standard output if
- this environment variable is found.
-
-\arg \c EX_NOSHARE Do not open the underlying NetCDF file in \e share mode. See the
- NetCDF documentation for more details.
-
-\arg \c EX_SHARE Do open the underlying NetCDF file in \e share mode. See the NetCDF
- documentation for more details.
-
-\param[in,out] comp_ws The word size in bytes (0, 4 or 8) of the floating point variables
- used in the application program. If 0 (zero) is passed, the default
- sizeof(float) will be used and returned in this variable. WARNING: all
- exodus functions requiring floats must be passed floats declared with
- this passed in or returned compute word size (4 or 8).}
-
-\param io_ws The word size in bytes (4 or 8) of the floating point
- data as they are to be stored in the exodus file.
-
-\param run_version (internally generated) used to verify compatability of libary and include files.
-
-The following code segment creates an exodus file called \file{test.exo}:
-
-\code
-#include "exodusII.h"
-int CPU_word_size, IO_word_size, exoid;
-CPU_word_size = sizeof(float); \comment{use float or double}
-IO_word_size = 8; \comment{store variables as doubles}
-
-\comment{create exodus file}
-exoid = ex_create ("test.exo" \comment{filename path}
- EX_CLOBBER, \comment{create mode}
- &CPU_word_size, \comment{CPU float word size in bytes}
- &IO_word_size); \comment{I/O float word size in bytes}
-\endcode
-
-*/
-#include <stdlib.h>
-#include <assert.h>
-#include <mpi.h>
-
-#include "netcdf_par.h"
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-static int warning_output = 0;
-
-int ex_create_par_int (const char *path,
- int cmode,
- int *comp_ws,
- int *io_ws,
- MPI_Comm comm,
- MPI_Info info,
- int run_version)
-{
- int exoid, dims[1];
- int status;
- int dimid, time_dim;
- int old_fill;
- int lio_ws;
- int filesiz;
- float vers;
- char errmsg[MAX_ERR_LENGTH];
- char *mode_name;
- int mode = 0;
-
- int int64_status;
- int pariomode = 0;
-
- unsigned int my_mode = cmode;
- assert(my_mode == cmode);
- exerrval = 0; /* clear error code */
-
-#if !defined(NC_NETCDF4)
- /* Library does NOT support netcdf4 */
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "EXODUS: Error: Parallel output requires the netcdf-4 library format, but this netcdf library does not support that.\n");
- ex_err("ex_create_par",errmsg,exerrval);
- return (EX_FATAL);
-#endif
-
- if (run_version != EX_API_VERS_NODOT && warning_output == 0) {
- int run_version_major = run_version / 100;
- int run_version_minor = run_version % 100;
- int lib_version_major = EX_API_VERS_NODOT / 100;
- int lib_version_minor = EX_API_VERS_NODOT % 100;
- fprintf(stderr, "EXODUS: Warning: This code was compiled with exodusII version %d.%02d,\n but was linked with exodusII library version %d.%02d\n This is probably an error in the build process of this code.\n",
- run_version_major, run_version_minor, lib_version_major, lib_version_minor);
- warning_output = 1;
- }
-
- /*
- * See if any integer data is to be stored as int64 (long long). If
- * so, then need to set NC_NETCDF4 and unset NC_CLASSIC_MODEL (or
- * set EX_NOCLASSIC. Output meaningful error message if the library
- * is not NetCDF-4 enabled...
- */
- int64_status = my_mode & (EX_ALL_INT64_DB | EX_ALL_INT64_API);
-
- if ((int64_status & EX_ALL_INT64_DB) != 0) {
- /* Library DOES support netcdf4... Set modes required to use
- * netcdf-4 in non-classic mode
- */
- my_mode |= EX_NOCLASSIC;
- my_mode |= EX_NETCDF4;
- }
-
- /* Check parallel io mode. Valid is NC_MPIPOSIX or NC_MPIIO or NC_PNETCDF
- * Exodus uses different flag values; map to netcdf values
- */
- if (my_mode & EX_MPIPOSIX) {
- pariomode = NC_MPIPOSIX;
- my_mode |= EX_NETCDF4;
- }
- else if (my_mode & EX_MPIIO) {
- pariomode = NC_MPIIO;
- my_mode |= EX_NETCDF4;
- }
- else if (my_mode & EX_PNETCDF) {
- pariomode = NC_PNETCDF;
- mode |= NC_64BIT_OFFSET;
- }
-
- if (my_mode & EX_NETCDF4) {
- mode |= NC_NETCDF4;
- }
-
- if (! (my_mode & EX_NOCLASSIC)) {
- mode |= NC_CLASSIC_MODEL;
- }
-
- /*
- * See if "large file" mode was specified in a ex_create my_mode. If
- * so, then pass the NC_64BIT_OFFSET flag down to netcdf.
- * If netcdf4 mode specified, don't use NC_64BIT_OFFSET mode.
- */
- if ( (my_mode & EX_LARGE_MODEL) && (my_mode & EX_NORMAL_MODEL)) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: conflicting mode specification for file %s, mode %d. Using normal",
- path, (int)my_mode);
- ex_err("ex_create",errmsg,exerrval);
- }
- filesiz = 1;
-
- if (my_mode & EX_SHARE) {
- mode |= NC_SHARE;
- }
-
- /*
- * set error handling mode to no messages, non-fatal errors
- */
- ex_opts(exoptval); /* call required to set ncopts first time through */
-
- if (my_mode & EX_CLOBBER) {
- mode |= NC_CLOBBER;
- mode_name = "CLOBBER";
- } else {
- mode |= NC_NOCLOBBER;
- mode_name = "NOCLOBBER";
- }
-
- if ((status = nc_create_par (path, mode|pariomode, comm, info, &exoid)) != NC_NOERR) {
- exerrval = status;
- if (my_mode & EX_NETCDF4) {
- sprintf(errmsg,
- "Error: file create failed for %s in NETCDF4 and %s mode.\n\tThis library probably does not support netcdf-4 files.",
- path, mode_name);
- } else {
- sprintf(errmsg,
- "Error: file create failed for %s, mode: %s",
- path, mode_name);
- }
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* turn off automatic filling of netCDF variables */
-
- if ((status = nc_set_fill (exoid, NC_NOFILL, &old_fill)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to set nofill mode in file id %d",
- exoid);
- ex_err("ex_create", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* initialize floating point size conversion. since creating new file,
- * i/o wordsize attribute from file is zero.
- */
-
- if (ex_conv_ini(exoid, comp_ws, io_ws, 0, int64_status,1) != EX_NOERR) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: failed to init conversion routines in file id %d",
- exoid);
- ex_err("ex_create", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* put the EXODUS version number, and i/o floating point word size as
- * netcdf global attributes
- */
-
- /* store Exodus API version # as an attribute */
- vers = EX_API_VERS;
- if ((status=nc_put_att_float(exoid, NC_GLOBAL, ATT_API_VERSION,
- NC_FLOAT, 1, &vers)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II API version attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* store Exodus file version # as an attribute */
- vers = EX_VERS;
- if ((status=nc_put_att_float(exoid, NC_GLOBAL, ATT_VERSION, NC_FLOAT, 1, &vers)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II file version attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* store Exodus file float word size as an attribute */
- lio_ws = (int)(*io_ws);
- if ((status=nc_put_att_int (exoid, NC_GLOBAL, ATT_FLT_WORDSIZE, NC_INT, 1, &lio_ws)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II file float word size attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* store Exodus file size (1=large, 0=normal) as an attribute */
- if ((status = nc_put_att_int (exoid, NC_GLOBAL, ATT_FILESIZE, NC_INT, 1, &filesiz)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store Exodus II file size attribute in file id %d",
- exoid);
- ex_err("ex_create",errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* define some dimensions and variables
- */
-
- /* create string length dimension */
- if ((status=nc_def_dim (exoid, DIM_STR, (MAX_STR_LENGTH+1), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define string length in file id %d",exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* The name string length dimension is delayed until the ex_put_init function */
-
- /* create line length dimension */
- if ((status = nc_def_dim(exoid, DIM_LIN, (MAX_LINE_LENGTH+1), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define line length in file id %d",exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* create number "4" dimension; must be of type long */
- if ((status = nc_def_dim(exoid, DIM_N4, 4L, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number \"4\" dimension in file id %d",exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_def_dim(exoid, DIM_TIME, NC_UNLIMITED, &time_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define time dimension in file id %d", exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- dims[0] = time_dim;
- if ((status = nc_def_var(exoid, VAR_WHOLE_TIME, nc_flt_code(exoid), 1, dims, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define whole time step variable in file id %d",
- exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, dimid, 2);
-
- {
- int int64_db_status = int64_status & EX_ALL_INT64_DB;
- if ((status=nc_put_att_int(exoid, NC_GLOBAL, ATT_INT64_STATUS, NC_INT, 1, &int64_db_status)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add int64_status attribute in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d", exoid);
- ex_err("ex_create",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (exoid);
-}
diff --git a/cbind/src/ex_cvt_nodes_to_sides.c b/cbind/src/ex_cvt_nodes_to_sides.c
deleted file mode 100644
index e478d49..0000000
--- a/cbind/src/ex_cvt_nodes_to_sides.c
+++ /dev/null
@@ -1,1041 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-static void *safe_free(void *array)
-{
- if (array != 0) free(array);
- return 0;
-}
-
-static int64_t get_node(void_int *connect, size_t index, size_t int_size)
-{
- if (int_size == sizeof(int64_t)) {
- return ((int64_t*)connect)[index];
- } else {
- return ((int*)connect)[index];
- }
-}
-
-static void put_side(void_int *side_list, size_t index, size_t value, size_t int_size)
-{
- if (int_size == sizeof(int64_t)) {
- ((int64_t*)side_list)[index] = value;
- } else {
- ((int*)side_list)[index] = value;
- }
-}
-
-/*!
-
-The function ex_cvt_nodes_to_sides() is used to convert a side set
-node list to a side set side list. This routine is provided for
-application programs that utilize side sets defined by nodes (as was
-done previous to release 2.0) rather than local faces or edges. The
-application program must allocate memory for the returned array of
-sides. The length of this array is the same as the length of the
-concatenated side sets element list, which can be determined with a
-call to ex_inquire() or ex_inquire_int().
-
-\return In case of an error, ex_cvt_nodes_to_sides() returns a
-negative number; a warning will return a positive number. Possible
-causes of errors include:
- - a warning value is returned if no side sets are stored in the file.
- - because the faces of a wedge require a different number of
- nodes to describe them (quadrilateral vs. triangular faces), the
- function will abort with a fatal return code if a wedge is
- encountered in the side set element list.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create()
- or ex_open().
-
-\param[in] num_elem_per_set Array containing the number of sides for each set. The number
- of sides is equal to the number of elements for each set.
-
-\param[in] num_nodes_per_set Array containing the number of nodes for each set.
-
-\param[in] side_sets_elem_index Array containing indices into the \c side_sets_elem_list which are
- the locations of the first element for each set. These indices are
- 0-based. Unused.
-
-\param[in] side_sets_node_index Array containing indices into the \c side_sets_node_list
- which are the locations of the first node for each set. These
- indices are 0-based. Unused.
-
-\param[in] side_sets_elem_list Array containing the elements for all side sets. Internal element IDs
- are used in this list (see Section LocalElementIds).
-
-\param[in] side_sets_node_list Array containing the nodes for all side sets. Internal node
- IDs are used in this list (see Section LocalNodeIds).
-
-\param[out] side_sets_side_list Returned array containing the sides for all side sets.
-
-
-The following code segment will convert side sets described
-by nodes to side sets described by local side numbers:
-
-\code
-int error, exoid, ids[2], num_side_per_set[2],
- num_nodes_per_set[2], elem_ind[2], node_ind[2],
- elem_list[4], node_list[8], el_lst_len, *side_list;
-
-ids[0] = 30 ; ids[1] = 31;
-num_side_per_set[0] = 2; num_side_per_set[1] = 2;
-num_nodes_per_set[0] = 4; num_nodes_per_set[1] = 4;
-
-elem_ind[0] = 0; elem_ind[1] = 2;
-node_ind[0] = 0; node_ind[1] = 4;
-
-\comment{side set #1}
-elem_list[0] = 2; elem_list[1] = 2;
-node_list[0] = 8; node_list[1] = 5;
-node_list[2] = 6; node_list[3] = 7;
-
-\comment{side set #2}
-elem_list[2] = 1; elem_list[3] = 2;
-node_list[4] = 2; node_list[5] = 3;
-node_list[6] = 7; node_list[7] = 8;
-
-el_lst_len = ex_inquire_int(exoid, EX_INQ_SS_ELEM_LEN);
-
-\comment{side set element list is same length as side list}
-side_list = (int *) calloc (el_lst_len, sizeof(int));
-
-ex_cvt_nodes_to_sides(exoid, num_side_per_set, num_nodes_per_set,
- elem_ind, node_ind, elem_list,
- node_list, side_list);
-\endcode
-
- <b>Algorithm:</b>
-
-\verbatim
- Read elem_block_ids --> elem_blk_id[array]
-
- Read element block parameters --> elem_blk_parms[array]
-
- Determine total number of elements in side set by summing num_elem_per_set
-
- Build side set element to side set node list index --> ss_elem_node_ndx[array]
-
- For each element in the side_set_elem_list {
- If Jth element is not in current element block (e.g. J>elem_ctr) {
- get element block parameters (num_elem_in_blk, ...)
- elem_ctr += num_elem_in_blk
-
- free old connectity array space
- allocate connectivity array: size=num_elem_in_blk*num_nodes_per_elem
- get connectivity array
- }
-
- If Jth element is in current element block (e.g. J<=elem_ctr) {
- For each node in element (linear search of up to num_nodes_per_elem) {
- If side set element node[1] == element node[i] {
- Case element type = Hex {
- If side set element node[2] == element node[Hex_table[i,1]]
- Jth side = Hex_table[i,2]
-
- break
- }
- Case element type = Wedge {
- If side set element node[2] == element node[Wedge_table[i,1]]
- Jth side = Wedge_table[i,2]
-
- break
- }
- }
- }
- }
- }
-\endverbatim
-
- */
-
-int ex_cvt_nodes_to_sides(int exoid,
- void_int *num_elem_per_set,
- void_int *num_nodes_per_set,
- void_int *side_sets_elem_index, /* unused */
- void_int *side_sets_node_index, /* unused */
- void_int *side_sets_elem_list,
- void_int *side_sets_node_list,
- void_int *side_sets_side_list)
-{
- size_t m;
- size_t i, j, k, n;
- int num_side_sets, num_elem_blks;
- int64_t tot_num_elem = 0, tot_num_ss_elem = 0, elem_num = 0, ndim;
- void_int *elem_blk_ids = NULL;
- void_int *connect = NULL;
- void_int *ss_elem_ndx = NULL;
- void_int *ss_elem_node_ndx = NULL;
- void_int *ss_parm_ndx = NULL;
- size_t elem_ctr, node_ctr, elem_num_pos;
- int num_nodes_per_elem, num_node_per_side;
-
- int *same_elem_type = NULL;
- int el_type = 0;
-
- int int_size;
- int ids_size;
-
- struct elem_blk_parm *elem_blk_parms = NULL;
-
- int err_stat = EX_NOERR;
-
- /* node to side translation tables -
- These tables are used to look up the side number based on the
- first and second node in the side/face list. The side node order
- is found in the original Exodus document, SAND87-2997. The element
- node order is found in the ExodusII document, SAND92-2137. These
- tables were generated by following the right-hand rule for determining
- the outward normal. Note: Only the more complex 3-D shapes require
- these tables, the simple shapes are trivial - the first node found
- is also the side number.
- */
-
- /* 1 2 3 4 node 1 */
- static int shell_table[2][8] = {
- {2,4, 3,1, 4,2, 1,3}, /* node 2 */
- {1,2, 1,2, 1,2, 1,2} /* side # */
- };
-
- /* 1 2 3 4 node 1 */
- static int shell_edge_table[2][8] = {
- {2,4, 3,1, 4,2, 1,3}, /* node 2 */
- {3,6, 4,3, 5,4, 6,5} /* side # */
- };
-
- /* 1 2 3 node 1 */
- static int trishell_table[2][6] = {
- {2,3, 3,1, 1,2}, /* node 2 */
- {1,2, 1,2, 1,2} /* side # */
- };
-
- /* 1 2 3 4 node 1 */
- static int tetra_table[2][12] = {
- {2,3,4, 1,3,4, 4,1,2, 1,2,3}, /* node 2 */
- {1,4,3, 4,2,1, 2,3,4, 1,2,3} /* side # */
- };
-
-#if 0
- static int wedge_table[2][18] = {
- /* 1 2 3 4 5 6 node 1 */
- {2,4,3, 5,1,3, 6,1,2, 1,6,5, 6,2,4, 4,3,5}, /* node 2 */
- {1,3,4, 1,4,2, 2,3,4, 1,3,5, 5,2,1, 5,3,2} /* side # */
- };
-#endif
-
- static int hex_table[2][24] = {
- /* 1 2 3 4 5 6 7 8 node 1 */
- {4,2,5, 1,3,6, 7,4,2, 3,1,8, 6,8,1, 5,2,7, 8,6,3, 7,5,4},/* node 2 */
- {5,1,4, 5,2,1, 2,3,5, 5,4,3, 6,4,1, 1,2,6, 6,2,3, 3,6,4} /* side # */
- };
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any side sets are specified */
- /* inquire how many side sets have been stored */
-
- num_side_sets = ex_inquire_int(exoid, EX_INQ_SIDE_SETS);
- if (num_side_sets < 0) {
- sprintf(errmsg,
- "Error: failed to get number of side sets in file id %d",exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (num_side_sets == 0)
- {
- sprintf(errmsg,
- "Warning: no side sets defined in file id %d",exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,EX_WARN);
- return(EX_WARN);
- }
-
- num_elem_blks = ex_inquire_int(exoid, EX_INQ_ELEM_BLK);
- if (num_elem_blks < 0) {
- sprintf(errmsg,
- "Error: failed to get number of element blocks in file id %d",exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- tot_num_elem = ex_inquire_int(exoid, EX_INQ_ELEM);
- if (tot_num_elem < 0) {
- sprintf(errmsg,
- "Error: failed to get total number of elements in file id %d",exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* get the dimensionality of the coordinates; this is necessary to
- distinguish between 2d TRIs and 3d TRIs */
- ndim = ex_inquire_int(exoid, EX_INQ_DIM);
-
- int_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_BULK_INT64_API)
- int_size = sizeof(int64_t);
-
- /* First count up # of elements in the side sets*/
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- for (i=0;i<num_side_sets;i++)
- tot_num_ss_elem += ((int64_t*)num_elem_per_set)[i];
- } else {
- for (i=0;i<num_side_sets;i++)
- tot_num_ss_elem += ((int*)num_elem_per_set)[i];
- }
-
- /* Allocate space for the ss element index array */
- if (!(ss_elem_ndx=malloc(tot_num_ss_elem*int_size)))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set elem sort array for file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- if (int_size == sizeof(int64_t)) {
- /* Sort side set element list into index array - non-destructive */
- int64_t *elems = (int64_t*)ss_elem_ndx;
- for (i=0;i<tot_num_ss_elem;i++) {
- elems[i] = i; /* init index array to current position */
- }
- ex_iqsort64(side_sets_elem_list, elems, tot_num_ss_elem);
- } else {
- /* Sort side set element list into index array - non-destructive */
- int *elems = (int*)ss_elem_ndx;
- for (i=0;i<tot_num_ss_elem;i++) {
- elems[i] = i; /* init index array to current position */
- }
- ex_iqsort(side_sets_elem_list, elems,tot_num_ss_elem);
- }
-
- /* Allocate space for the element block ids */
- ids_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- ids_size = sizeof(int64_t);
- }
-
- if (!(elem_blk_ids=malloc(num_elem_blks*ids_size)))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element block ids for file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- if (ex_get_elem_blk_ids(exoid, elem_blk_ids))
- {
- sprintf(errmsg,
- "Error: failed to get element block ids in file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,EX_MSG);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- /* Allocate space for the element block params */
- if (!(elem_blk_parms=malloc(num_elem_blks*sizeof(struct elem_blk_parm))))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element block params for file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- elem_ctr = 0;
- for (i=0; i<num_elem_blks; i++)
- {
- ex_block block;
- block.type = EX_ELEM_BLOCK;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- block.id = ((int64_t*)elem_blk_ids)[i];
- } else {
- block.id = ((int*)elem_blk_ids)[i];
- }
-
- /* read in an element block parameter */
- if ((ex_get_block_param (exoid, &block)) == -1) {
- sprintf(errmsg,
- "Error: failed to get element block %"PRId64" parameters in file id %d",
- block.id, exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,EX_MSG);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- elem_blk_parms[i].num_elem_in_blk = block.num_entry;
- elem_blk_parms[i].num_nodes_per_elem = block.num_nodes_per_entry;
- elem_blk_parms[i].num_attr = block.num_attribute;
- elem_blk_parms[i].elem_blk_id = block.id;
-
- for (m=0; m < strlen(block.topology); m++) {
- elem_blk_parms[i].elem_type[m] = toupper(block.topology[m]);
- }
- elem_blk_parms[i].elem_type[m] = '\0';
-
- if (strncmp(elem_blk_parms[i].elem_type,"CIRCLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_CIRCLE;
- /* set side set node stride */
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SPHERE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SPHERE;
- /* set side set node stride */
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"QUAD",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_QUAD;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 4)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else if (elem_blk_parms[i].num_nodes_per_elem == 5)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TRIANGLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRIANGLE;
- /* determine side set node stride */
- if (ndim == 2) /* 2d TRIs */
- {
- if (elem_blk_parms[i].num_nodes_per_elem == 3)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if (ndim == 3) /* 3d TRIs */
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRISHELL;
- elem_blk_parms[i].num_nodes_per_side[0] =
- elem_blk_parms[i].num_nodes_per_elem;
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SHELL",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SHELL;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 2)
- {
- /* 2d SHELL; same as BEAM or TRUSS or BAR */
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].elem_type_val = EX_EL_BEAM;
- }
- else if (elem_blk_parms[i].num_nodes_per_elem == 4)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"HEX",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_HEX;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 8)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else if (elem_blk_parms[i].num_nodes_per_elem == 9)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else if (elem_blk_parms[i].num_nodes_per_elem == 12) /* HEXSHELL */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else if (elem_blk_parms[i].num_nodes_per_elem == 27)
- elem_blk_parms[i].num_nodes_per_side[0] = 9;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TETRA",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TETRA;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 4)
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- else if (elem_blk_parms[i].num_nodes_per_elem == 8)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"WEDGE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_WEDGE;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 6)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- sprintf(errmsg,
- "Warning: WEDGE%d is assumed to have %d nodes per face",
- elem_blk_parms[i].num_nodes_per_elem,
- elem_blk_parms[i].num_nodes_per_side[0]);
- ex_err("ex_cvt_nodes_to_sides",errmsg,EX_MSG);
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"PYRAMID",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_PYRAMID;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 5)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- sprintf(errmsg,
- "Warning: PYRAMID%d is assumed to have %d nodes per face",
- elem_blk_parms[i].num_nodes_per_elem,
- elem_blk_parms[i].num_nodes_per_side[0]);
- ex_err("ex_cvt_nodes_to_sides",errmsg,EX_MSG);
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"BEAM",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_BEAM;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 2)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if ( (strncmp(elem_blk_parms[i].elem_type,"TRUSS",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"BAR",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"EDGE",3) == 0) )
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRUSS;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 2)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"NULL",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_NULL_ELEMENT;
- /* set side set node stride */
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- }
- else
- { /* unsupported element type; no problem if no sides specified for
- this element block */
- elem_blk_parms[i].elem_type_val = EX_EL_UNK;
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- }
- elem_blk_parms[i].elem_blk_id = block.id; /* save id */
- elem_ctr += elem_blk_parms[i].num_elem_in_blk;
- elem_blk_parms[i].elem_ctr = elem_ctr; /* save elem number max */
- }
-
-
- /* Allocate space for the ss element to element block parameter index array */
- if (!(ss_parm_ndx=malloc(tot_num_ss_elem*int_size)))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set elem parms index for file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
-
- /* Allocate space for the ss element to node list index array */
- if (!(ss_elem_node_ndx=malloc((tot_num_ss_elem+1)*int_size)))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set elem to node index for file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- /* determine if each side set has uniform element types; this will
- be used to help determine the stride through the node list
- */
-
- /* Allocate space for same element type flag array*/
- if (!(same_elem_type=malloc(num_side_sets*sizeof(int))))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element type flag array for file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
-
- same_elem_type[0] = TRUE;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- elem_ctr = ((int64_t*)num_elem_per_set)[0];
- for (i=0,k=0;i<tot_num_ss_elem;i++) {
- int64_t elem = ((int64_t*)side_sets_elem_list)[i];
- for (j=0; j<num_elem_blks; j++) {
- if (elem <= elem_blk_parms[j].elem_ctr) break;
- }
-
- if (i==0) {
- el_type = elem_blk_parms[j].elem_type_val;
- }
-
- /* determine which side set this element is in; assign to kth side set */
- if (i >= elem_ctr) {
- elem_ctr += ((int64_t*)num_elem_per_set)[++k];
-
- el_type = elem_blk_parms[j].elem_type_val;
- same_elem_type[k] = TRUE;
- }
-
- if (el_type != elem_blk_parms[j].elem_type_val) same_elem_type[k] = FALSE;
- }
-
- /* Build side set element to node list index and side set element
- parameter index.
- */
- node_ctr = 0;
- elem_ctr = ((int64_t*)num_elem_per_set)[0];
- for (i=0,k=0;i<tot_num_ss_elem;i++) {
- int64_t elem = ((int64_t*)side_sets_elem_list)[i];
-
- for (j=0; j<num_elem_blks; j++) {
- if (elem <= elem_blk_parms[j].elem_ctr) {
- ((int64_t*)ss_parm_ndx)[i] = j; /* assign parameter block index */
- break;
- }
- }
- ((int64_t*)ss_elem_node_ndx)[i] = node_ctr; /* assign node list index */
-
- /* determine which side set this element is in; assign to kth side set */
- if (i >= elem_ctr) {
- /* skip over NULL side sets */
- while ( ((int64_t*)num_elem_per_set)[++k] == 0);
- elem_ctr += ((int64_t*)num_elem_per_set)[k];
- }
-
- /* determine number of nodes per side */
- if (((((int64_t*)num_nodes_per_set)[k] % ((int64_t*)num_elem_per_set)[k]) == 0) &&
- (same_elem_type[k])) { /* all side set elements are same type */
- node_ctr += ((int64_t*)num_nodes_per_set)[k] /((int64_t*)num_elem_per_set)[k];
- } else {
- node_ctr += elem_blk_parms[j].num_nodes_per_side[0];
- }
- }
- ((int64_t*)ss_elem_node_ndx)[i] = node_ctr; /* assign node list index */
- } else {
- elem_ctr = ((int*)num_elem_per_set)[0];
- for (i=0,k=0;i<tot_num_ss_elem;i++) {
- int elem = ((int*)side_sets_elem_list)[i];
-
- for (j=0; j<num_elem_blks; j++) {
- if (elem <= elem_blk_parms[j].elem_ctr) break;
- }
-
- if (i==0) {
- el_type = elem_blk_parms[j].elem_type_val;
- }
-
- /* determine which side set this element is in; assign to kth side set */
- if (i >= elem_ctr) {
- elem_ctr += ((int*)num_elem_per_set)[++k];
-
- el_type = elem_blk_parms[j].elem_type_val;
- same_elem_type[k] = TRUE;
- }
-
- if (el_type != elem_blk_parms[j].elem_type_val) same_elem_type[k] = FALSE;
- }
-
- /* Build side set element to node list index and side set element
- parameter index.
- */
- node_ctr = 0;
- elem_ctr = ((int*)num_elem_per_set)[0];
- for (i=0,k=0;i<tot_num_ss_elem;i++) {
- int elem = ((int*)side_sets_elem_list)[i];
-
- for (j=0; j<num_elem_blks; j++) {
- if (elem <= elem_blk_parms[j].elem_ctr)
- {
- ((int*)ss_parm_ndx)[i] = j; /* assign parameter block index */
- break;
- }
- }
- ((int*)ss_elem_node_ndx)[i] = node_ctr; /* assign node list index */
-
- /* determine which side set this element is in; assign to kth side set */
- if (i >= elem_ctr) {
- /* skip over NULL side sets */
- while ( ((int*)num_elem_per_set)[++k] == 0);
- elem_ctr += ((int*)num_elem_per_set)[k];
- }
-
- /* determine number of nodes per side */
- if (((((int*)num_nodes_per_set)[k] % ((int*)num_elem_per_set)[k]) == 0) &&
- (same_elem_type[k])) { /* all side set elements are same type */
- node_ctr += ((int*)num_nodes_per_set)[k] /((int*)num_elem_per_set)[k];
- } else {
- node_ctr += elem_blk_parms[j].num_nodes_per_side[0];
- }
- }
- ((int*)ss_elem_node_ndx)[i] = node_ctr; /* assign node list index */
- }
-
- /* All setup, ready to go ... */
-
- elem_ctr=0;
-
- for (j=0; j < tot_num_ss_elem; j++)
- {
- int64_t elem;
- int64_t idx;
- int64_t ss_node0, ss_node1;
- int64_t p_ndx;
- if (int_size == sizeof(int64_t)) {
- idx = ((int64_t*)ss_elem_ndx)[j];
- elem = ((int64_t*)side_sets_elem_list)[idx];
- ss_node0 = ((int64_t*)side_sets_node_list)[((int64_t*)ss_elem_node_ndx)[idx]];
- ss_node1 = ((int64_t*)side_sets_node_list)[((int64_t*)ss_elem_node_ndx)[idx]+1];
- p_ndx = ((int64_t*)ss_parm_ndx)[idx];
- } else {
- idx = ((int*)ss_elem_ndx)[j];
- elem = ((int*)side_sets_elem_list)[idx];
- ss_node0 = ((int*)side_sets_node_list)[((int*)ss_elem_node_ndx)[idx]];
- ss_node1 = ((int*)side_sets_node_list)[((int*)ss_elem_node_ndx)[idx]+1];
- p_ndx = ((int*)ss_parm_ndx)[idx];
- }
- elem_num = elem-1;
-
- if (elem > elem_ctr)
- {
- /* release connectivity array space and get next one */
- if (elem_ctr > 0)
- safe_free(connect);
-
- /* Allocate space for the connectivity array for new element block */
- if (!(connect= malloc(elem_blk_parms[p_ndx].num_elem_in_blk*
- elem_blk_parms[p_ndx].num_nodes_per_elem*
- int_size)))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for connectivity array for file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- /* get connectivity array */
- if (ex_get_elem_conn(
- exoid,
- elem_blk_parms[p_ndx].elem_blk_id,
- connect) == -1)
- {
- sprintf(errmsg,
- "Error: failed to get connectivity array for elem blk %"PRId64" for file id %d",
- elem_blk_parms[p_ndx].elem_blk_id,
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- elem_ctr = elem_blk_parms[p_ndx].elem_ctr;
- }
- /* For the first node of each side in side set, using a linear search
- (of up to num_nodes_per_elem) of the connectivity array,
- locate the node position in the element. The first node position
- and the second node position are used with a element type specific
- table to determine the side. */
-
- /* calculate the relative element number position in it's block*/
- elem_num_pos = elem_num -
- (elem_blk_parms[p_ndx].elem_ctr -
- elem_blk_parms[p_ndx].num_elem_in_blk);
- /* calculate the beginning of the node list for this element by
- using the ss_elem_node_ndx index into the side_sets_node_index
- and adding the element number position * number of nodes per elem */
-
- num_nodes_per_elem = elem_blk_parms[p_ndx].num_nodes_per_elem;
-
- for (n=0; n<num_nodes_per_elem; n++) {
- /* find node in connectivity array that matches first node in side set */
- if ( ((int_size == sizeof(int64_t)) &&
- (ss_node0 == ((int64_t*)connect)[num_nodes_per_elem*(elem_num_pos)+n])) ||
- ((int_size == sizeof(int)) &&
- (ss_node0 == ((int*)connect)[num_nodes_per_elem*(elem_num_pos)+n])) ) {
- switch (elem_blk_parms[p_ndx].elem_type_val)
- {
- case EX_EL_CIRCLE:
- case EX_EL_SPHERE:
- {
- /* simple case: 1st node number is same as side # */
- put_side(side_sets_side_list,idx, n+1, int_size);
- break;
- }
- case EX_EL_QUAD:
- case EX_EL_TRIANGLE:
- case EX_EL_TRUSS:
- case EX_EL_BEAM:
- {
- /* simple case: 1st node number is same as side # */
- put_side(side_sets_side_list,idx,n+1, int_size);
- break;
- }
- case EX_EL_TRISHELL:
- {
- /* use table to find which node to compare to next */
- if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (trishell_table[0][2*n]-1),int_size))
- {
- /* Assume only front or back, no edges... */
- put_side(side_sets_side_list,idx, trishell_table[1][2*n],int_size);
- }
- else if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (trishell_table[0][2*n+1]-1),int_size))
- {
- /* Assume only front or back, no edges... */
- put_side(side_sets_side_list,idx,trishell_table[1][2*n+1],int_size);
- }
- else if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (trishell_table[0][2*n+2]-1),int_size))
- {
- /* Assume only front or back, no edges... */
- put_side(side_sets_side_list,idx,trishell_table[1][2*n+2],int_size);
- }
- else
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: failed to find TRIANGULAR SHELL element %"PRId64", node %"PRId64" in connectivity array %"PRId64" for file id %d",
- elem_num+1,
- ss_node1,
- elem_blk_parms[p_ndx].elem_blk_id,
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- break;
-
- }
- case EX_EL_SHELL:
- {
- /* use table to find which node to compare to next */
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API)
- num_node_per_side = ((int64_t*)ss_elem_node_ndx)[idx+1] - ((int64_t*)ss_elem_node_ndx)[idx];
- else
- num_node_per_side = ((int*)ss_elem_node_ndx)[idx+1] - ((int*)ss_elem_node_ndx)[idx];
-
-
- if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (shell_table[0][2*n]-1),int_size))
- {
- if (num_node_per_side >= 4)
- /* 4- or 8-node side (front or back face) */
- put_side(side_sets_side_list,idx,shell_table[1][2*n],int_size);
- else
- /* 2- or 3-node side (edge of shell) */
- put_side(side_sets_side_list,idx,shell_edge_table[1][2*n],int_size);
- }
- else if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (shell_table[0][2*n+1]-1),int_size))
- {
- if (num_node_per_side >= 4)
- /* 4- or 8-node side (front or back face) */
- put_side(side_sets_side_list,idx,shell_table[1][2*n+1],int_size);
- else
- /* 2- or 3-node side (edge of shell) */
- put_side(side_sets_side_list,idx,shell_edge_table[1][2*n+1],int_size);
- }
- else if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (shell_table[0][2*n+2]-1),int_size))
- {
- if (num_node_per_side >= 4)
- /* 4- or 8-node side (front or back face) */
- put_side(side_sets_side_list,idx,shell_table[1][2*n+2],int_size);
- else
- /* 2- or 3-node side (edge of shell) */
- put_side(side_sets_side_list,idx,shell_edge_table[1][2*n+2],int_size);
- }
- else
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: failed to find SHELL element %"PRId64", node %"PRId64" in connectivity array %"PRId64" for file id %d",
- elem_num+1,
- ss_node1,
- elem_blk_parms[p_ndx].elem_blk_id,
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- break;
-
- }
- case EX_EL_HEX:
- {
- /* use table to find which node to compare to next */
-
- if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (hex_table[0][3*n]-1),int_size))
- put_side(side_sets_side_list,idx,hex_table[1][3*n],int_size);
- else if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (hex_table[0][3*n+1]-1),int_size))
- put_side(side_sets_side_list,idx,hex_table[1][3*n+1],int_size);
- else if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (hex_table[0][3*n+2]-1),int_size))
- put_side(side_sets_side_list,idx,hex_table[1][3*n+2],int_size);
- else
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: failed to find HEX element %"PRId64", node %"PRId64" in connectivity array %"PRId64" for file id %d",
- elem_num+1,
- ss_node1,
- elem_blk_parms[p_ndx].elem_blk_id,
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- break;
- }
- case EX_EL_TETRA:
- {
- /* use table to find which node to compare to next */
-
- if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (tetra_table[0][3*n]-1),int_size))
- put_side(side_sets_side_list,idx,tetra_table[1][3*n],int_size);
- else if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (tetra_table[0][3*n+1]-1),int_size))
- put_side(side_sets_side_list,idx,tetra_table[1][3*n+1],int_size);
- else if (ss_node1 == get_node(connect,num_nodes_per_elem*(elem_num_pos)+
- (tetra_table[0][3*n+2]-1),int_size))
- put_side(side_sets_side_list,idx,tetra_table[1][3*n+2],int_size);
- else
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: failed to find TETRA element %"PRId64", node %"PRId64" in connectivity array %"PRId64" for file id %d",
- elem_num+1,
- ss_node1,
- elem_blk_parms[p_ndx].elem_blk_id,
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- break;
- }
- case EX_EL_PYRAMID:
- {
- /* NOTE: PYRAMID elements in side set node lists are currently not supported */
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "ERROR: unsupported PYRAMID element found in side set node list in file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- case EX_EL_WEDGE:
- {
- /* NOTE: WEDGE elements in side set node lists are currently not supported */
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "ERROR: unsupported WEDGE element found in side set node list in file id %d",
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- default:
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: %s is an unsupported element type",
- elem_blk_parms[p_ndx].elem_type);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- }
- break; /* done with this element */
- }
- }
- if (n >= num_nodes_per_elem) /* did we find the node? */
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: failed to find element %"PRId64", node %"PRId64" in element block %"PRId64" for file id %d",
- elem_num+1, ss_node0,
- elem_blk_parms[p_ndx].elem_blk_id,
- exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- }
-
- /* All done: release connectivity array space, element block ids array,
- element block parameters array, and side set element index array */
- cleanup:
- safe_free(connect);
- safe_free(ss_elem_node_ndx);
- safe_free(ss_parm_ndx);
- safe_free(elem_blk_parms);
- safe_free(elem_blk_ids);
- safe_free(ss_elem_ndx);
-
- return (err_stat);
-}
-
diff --git a/cbind/src/ex_err.c b/cbind/src/ex_err.c
deleted file mode 100644
index 353295a..0000000
--- a/cbind/src/ex_err.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\fn{void ex_err(const char *module_name, const char *message, int err_num)}
-
-The function ex_err() logs an error to \c stderr. It is intended
-to provide explanatory messages for error codes returned from other
-exodus routines.
-
-The passed in error codes and corresponding messages are listed in
-???. The programmer may supplement the error message printed
-for standard errors by providing an error message. If the error code
-is provided with no error message, the predefined message will be
-used. The error code \c EX_MSG is available to log application
-specific messages.
-
-\param[in] module_name This is a string containing the name of the calling function.
-\param[in] message This is a string containing a message explaining the error
- or problem. If \c EX_VERBOSE (see ex_opts()) is true,
- this message will be printed to \c stderr. Otherwise,
- nothing will be printed. Maximum length is \c MAX_ERR_LENGTH.
-
-\param[in] err_num This is an integer code identifying the error. exodus C functions
- place an error code value in \c exerrval, an external int. Negative
- values are considered fatal errors while positive values are
- warnings. There is a set of predefined values defined in
- \file{exodusII.h}. The predefined constant \c EX_PRTLASTMSG will
- cause the last error message to be output, regardless of the setting
- of the error reporting level (see ex_opts()).
-
-The following is an example of the use of this function:
-
-\code
-#include "exodusII.h"
-int exoid, CPU_word_size, IO_word_size, errval;
-float version;
-char errmsg[MAX_ERR_LENGTH];
-
-CPU_word_size = sizeof(float);
-IO_word_size = 0;
-
-\comment{open exodus file}
-if (exoid = ex_open ("test.exo", EX_READ, &CPU_word_size,
- &IO_word_size, &version)) {
- errval = 999;
- sprintf(errmsg,"Error: cannot open file test.exo");
- ex_err("prog_name", errmsg, errval);
-}
-\endcode
-
-*/
-
-int exerrval = 0; /* clear initial global error code value */
-
-static char last_pname[MAX_ERR_LENGTH];
-static char last_errmsg[MAX_ERR_LENGTH];
-static int last_err_num;
-
-void ex_err(const char *module_name,
- const char *message,
- int err_num)
-{
- if (err_num == 0) /* zero is no error, ignore and return */
- return;
-
- else if (err_num == EX_PRTLASTMSG)
- {
- fprintf(stderr, "[%s] %s\n",last_pname,last_errmsg);
- fprintf(stderr, " exerrval = %d\n",last_err_num);
- return;
- }
-
- else if (exoptval & EX_VERBOSE) /* check see if we really want to hear this */
- {
- fprintf(stderr, "Exodus Library Warning/Error: [%s]\n\t%s\n",module_name,message);
- switch (err_num) {
- case NC_SYSERR:
- fprintf (stderr,"\t[%d] System error -- Usually disk full or filesystem issue\n", err_num);
- break;
- case NC_ESTS:
- fprintf (stderr,"\t[%d] In FORTRAN interface, string too small\n", err_num);
- break;
- case NC_EMAXNAME:
- fprintf (stderr,"\t[%d] length of name exceeds NC_MAX_NAME\n", err_num);
- break;
- case NC_EMAXDIMS:
- fprintf (stderr,"\t[%d] netcdf constraint NC_MAX_DIMS exceeded\n", err_num);
- break;
- case NC_EMAXVARS:
- fprintf (stderr,"\t[%d] netcdf constraint NC_MAX_VARS exceeded\n", err_num);
- break;
- case NC_EBADID:
- fprintf (stderr,"\t[%d] Not a netcdf id\n", err_num);
- break;
- case NC_ENFILE:
- fprintf (stderr,"\t[%d] Too many exodus (netcdf) files open\n", err_num);
- break;
- case NC_EEXIST:
- fprintf (stderr,"\t[%d] exodus (netcdf) file exists && NC_NOCLOBBER\n", err_num);
- break;
- case NC_EINVAL:
- fprintf (stderr,"\t[%d] Invalid Argument\n", err_num);
- break;
- case NC_EPERM:
- fprintf (stderr,"\t[%d] Write to read only\n", err_num);
- break;
- case NC_ENOTINDEFINE:
- fprintf (stderr,"\t[%d] Operation not allowed in data mode\n", err_num);
- break;
- case NC_EINDEFINE:
- fprintf (stderr,"\t[%d] Operation not allowed in define mode\n", err_num);
- break;
- case NC_EINVALCOORDS:
- fprintf (stderr,"\t[%d] Index exceeds dimension bound\n", err_num);
- break;
- case NC_ENAMEINUSE:
- fprintf (stderr,"\t[%d] String match to name in use\n", err_num);
- break;
- case NC_ENOTATT:
- fprintf (stderr,"\t[%d] Attribute not found\n", err_num);
- break;
- case NC_EMAXATTS:
- fprintf (stderr,"\t[%d] NC_MAX_ATTRS exceeded\n", err_num);
- break;
- case NC_EBADTYPE:
- fprintf (stderr,"\t[%d] Not a netcdf data type\n", err_num);
- break;
- case NC_EBADDIM:
- fprintf (stderr,"\t[%d] Invalid dimension id or name\n", err_num);
- break;
- case NC_EUNLIMPOS:
- fprintf (stderr,"\t[%d] NC_UNLIMITED in the wrong index\n", err_num);
- break;
- case NC_ENOTVAR:
- fprintf (stderr,"\t[%d] Variable not found\n", err_num);
- break;
- case NC_EGLOBAL:
- fprintf (stderr,"\t[%d] Action prohibited on NC_GLOBAL varid\n", err_num);
- break;
- case NC_ENOTNC:
- fprintf (stderr,"\t[%d] Not an exodus (netcdf) file\n", err_num);
- break;
- case NC_EUNLIMIT:
- fprintf (stderr,"\t[%d] NC_UNLIMITED size already in use\n", err_num);
- break;
- case NC_ENORECVARS:
- fprintf (stderr,"\t[%d] nc_rec op when there are no record vars\n", err_num);
- break;
- case NC_ECHAR:
- fprintf (stderr,"\t[%d] Attempt to convert between text & numbers\n", err_num);
- break;
- case NC_EEDGE:
- fprintf (stderr,"\t[%d] Start+count exceeds dimension bound\n", err_num);
- break;
- case NC_ESTRIDE:
- fprintf (stderr,"\t[%d] Illegal stride\n", err_num);
- break;
- case NC_EBADNAME:
- fprintf (stderr,"\t[%d] Attribute or variable name contains illegal characters\n", err_num);
- break;
- case NC_ERANGE:
- fprintf (stderr,"\t[%d] Math result not representable\n", err_num);
- break;
- case NC_ENOMEM:
- fprintf (stderr,"\t[%d] Memory allocation (malloc) failure\n", err_num);
- break;
- case NC_EVARSIZE:
- fprintf (stderr,"\t[%d] One or more variable sizes violate format constraints\n", err_num);
- break;
- case NC_EDIMSIZE:
- fprintf (stderr,"\t[%d] Invalid dimension size\n", err_num);
- break;
- case NC_ETRUNC:
- fprintf (stderr,"\t[%d] File likely truncated or possibly corrupted\n", err_num);
- break;
- case NC_EAXISTYPE:
- fprintf (stderr,"\t[%d] Unknown axis type.\n", err_num);
- break;
- case EX_MSG:
- break;
- default:
- if (exoptval & EX_VERBOSE)
- fprintf(stderr, " exerrval = %d\n",err_num);
- }
- }
- /* save the error message for replays */
- strcpy(last_errmsg, message);
- strcpy(last_pname, module_name);
- last_err_num = err_num;
-
- fflush(stderr);
-
- /* with netCDF 3.4, (fatal) system error codes are > 0;
- so all EXODUS fatal error codes are > 0 */
- if ((err_num > 0) && (exoptval & EX_ABORT))
- exit (err_num);
-}
-
-void ex_get_err( const char** msg, const char** func, int* err_num )
- {
- (*msg) = last_errmsg;
- (*func) = last_pname;
- (*err_num) = last_err_num;
- }
-
diff --git a/cbind/src/ex_get_all_times.c b/cbind/src/ex_get_all_times.c
deleted file mode 100644
index 3b84cb0..0000000
--- a/cbind/src/ex_get_all_times.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <string.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_get_all_times() reads the time values for all time
-steps. Memory must be allocated for the time values array before this
-function is invoked. The storage requirements (equal to the number of
-time steps) can be determined by using the ex_inquire() or
-ex_inquire_int() routines.
-
-Because time values are floating point values, the application code
-must declare the array passed to be the appropriate type (\c float or
-\c double) to match the compute word size passed in ex_create() or
-ex_open().
-
-\return In case of an error, ex_get_all_times() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - no time steps have been stored in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] time_values Returned array of times. These are the time values at all time steps.
-
-The following code segment will read the time values for all time
-steps stored in the data file:
-
-\code
-#include "exodusII.h"
-int error, exoid, num_time_steps;
-float *time_values;
-
-\comment{determine how many time steps are stored}
-num_time_steps = ex_inquire_int(exoid, EX_INQ_TIME);
-
-\comment{read time values at all time steps}
-time_values = (float *) calloc(num_time_steps, sizeof(float));
-
-error = ex_get_all_times(exoid, time_values);
-\endcode
-
-*/
-
-int ex_get_all_times (int exoid,
- void *time_values)
-{
- int varid;
- int status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0;
-
- if ((status = nc_inq_varid(exoid, VAR_WHOLE_TIME, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to locate time variable %s in file id %d",
- VAR_WHOLE_TIME, exoid);
- ex_err("ex_get_all_times",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /*read time values */
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_var_float(exoid, varid, time_values);
- } else {
- status = nc_get_var_double(exoid, varid, time_values);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get time values from file id %d",
- exoid);
- ex_err("ex_get_all_times",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_attr.c b/cbind/src/ex_get_attr.c
deleted file mode 100644
index e8f869c..0000000
--- a/cbind/src/ex_get_attr.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgatt - ex_get_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type (edge/face/element block)
-* int obj_id object id (edge id, face id, elem id)
-*
-* exit conditions -
-* float* attrib array of attributes
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \undoc reads the attributes for an edge, face, or element block
- */
-
-int ex_get_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- void* attrib )
-
-{
- int status;
- int attrid, obj_id_ndx;
- char errmsg[MAX_ERR_LENGTH];
- const char* vattrbname;
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of obj_id in vobjids array */
- if (obj_type == EX_NODAL)
- obj_id_ndx = 0;
- else {
- obj_id_ndx = ex_id_lkup(exoid,obj_type,obj_id);
-
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes found for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this object */
- } else {
- sprintf(errmsg,
- "Warning: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(obj_type),obj_id, exoid);
- ex_err("ex_get_attr",errmsg,exerrval);
- return (EX_WARN);
- }
- }
- }
-
- switch (obj_type) {
- case EX_SIDE_SET:
- vattrbname = VAR_SSATTRIB(obj_id_ndx);
- break;
- case EX_NODE_SET:
- vattrbname = VAR_NSATTRIB(obj_id_ndx);
- break;
- case EX_EDGE_SET:
- vattrbname = VAR_ESATTRIB(obj_id_ndx);
- break;
- case EX_FACE_SET:
- vattrbname = VAR_FSATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_SET:
- vattrbname = VAR_ELSATTRIB(obj_id_ndx);
- break;
- case EX_NODAL:
- vattrbname = VAR_NATTRIB;
- break;
- case EX_EDGE_BLOCK:
- vattrbname = VAR_EATTRIB(obj_id_ndx);
- break;
- case EX_FACE_BLOCK:
- vattrbname = VAR_FATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_BLOCK:
- vattrbname = VAR_ATTRIB(obj_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- obj_type,exoid);
- ex_err("ex_get_attr",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- /* inquire id's of previously defined dimensions */
- if ((status = nc_inq_varid(exoid, vattrbname, &attrid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type), obj_id,exoid);
- ex_err("ex_get_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* read in the attributes */
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_var_float(exoid, attrid, attrib);
- } else {
- status = nc_get_var_double(exoid, attrid, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_attr_names.c b/cbind/src/ex_get_attr_names.c
deleted file mode 100644
index 171a5a1..0000000
--- a/cbind/src/ex_get_attr_names.c
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgeat - ex_get_attr_names
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type (edge/face/elem block)
-* int obj_id object id (edge/face/elem block id)
-*
-* exit conditions -
-* char* names[] ptr array of attribute names
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*! \undoc */
-/*
- * reads the attribute names for an element block
- */
-int ex_get_attr_names( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- char **names)
-{
- int status;
- int varid, numattrdim, obj_id_ndx;
- size_t num_attr, i;
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumobjatt;
- const char* vattrbname;
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of obj_id in vobjids array */
- if (obj_type != EX_NODAL) {
- obj_id_ndx = ex_id_lkup(exoid,obj_type,obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes found for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_get_attr_names",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this object */
- } else {
- sprintf(errmsg,
- "Warning: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_get_attr_names",errmsg,exerrval);
- return (EX_WARN);
- }
- }
- }
-
- switch (obj_type) {
- case EX_NODE_SET:
- dnumobjatt = DIM_NUM_ATT_IN_NS(obj_id_ndx);
- vattrbname = VAR_NAME_NSATTRIB(obj_id_ndx);
- break;
- case EX_SIDE_SET:
- dnumobjatt = DIM_NUM_ATT_IN_SS(obj_id_ndx);
- vattrbname = VAR_NAME_SSATTRIB(obj_id_ndx);
- break;
- case EX_EDGE_SET:
- dnumobjatt = DIM_NUM_ATT_IN_ES(obj_id_ndx);
- vattrbname = VAR_NAME_ESATTRIB(obj_id_ndx);
- break;
- case EX_FACE_SET:
- dnumobjatt = DIM_NUM_ATT_IN_FS(obj_id_ndx);
- vattrbname = VAR_NAME_FSATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_SET:
- dnumobjatt = DIM_NUM_ATT_IN_ELS(obj_id_ndx);
- vattrbname = VAR_NAME_ELSATTRIB(obj_id_ndx);
- break;
- case EX_NODAL:
- dnumobjatt = DIM_NUM_ATT_IN_NBLK;
- vattrbname = VAR_NAME_NATTRIB;
- break;
- case EX_EDGE_BLOCK:
- dnumobjatt = DIM_NUM_ATT_IN_EBLK(obj_id_ndx);
- vattrbname = VAR_NAME_EATTRIB(obj_id_ndx);
- break;
- case EX_FACE_BLOCK:
- dnumobjatt = DIM_NUM_ATT_IN_FBLK(obj_id_ndx);
- vattrbname = VAR_NAME_FATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_BLOCK:
- dnumobjatt = DIM_NUM_ATT_IN_BLK(obj_id_ndx);
- vattrbname = VAR_NAME_ATTRIB(obj_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- obj_type,exoid);
- ex_err("ex_get_attr_names",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
- /* inquire id's of previously defined dimensions */
-
- if ((status = nc_inq_dimid(exoid, dnumobjatt, &numattrdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no attributes found for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_attr_names",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this object */
- }
-
- if ((status = nc_inq_dimlen(exoid, numattrdim, &num_attr)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_attr_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* It is OK if we don't find the attribute names since they were
- added at version 4.26; earlier databases won't have the names.
- */
- status = nc_inq_varid(exoid, vattrbname, &varid);
-
- /* read in the attributes */
-
- if (status == NC_NOERR) {
- /* read the names */
- status = ex_get_names_internal(exoid, varid, num_attr, names, obj_type, "ex_get_attr_names");
- if (status != NC_NOERR) {
- return (EX_FATAL);
- }
- } else {
- /* Names variable does not exist on the database; probably since this is an
- * older version of the database. Return an empty array...
- */
- for (i=0; i<num_attr; i++) {
- names[i][0] = '\0';
- }
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_attr_param.c b/cbind/src/ex_get_attr_param.c
deleted file mode 100644
index ffc3ac8..0000000
--- a/cbind/src/ex_get_attr_param.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expmp - ex_get_attr_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type block/set type (node, edge, face, elem)
-* int obj_id block/set id (ignored for NODAL)
-* int num_attrs number of attributes
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \undoc retrieves the number of attributes.
- */
-
-int ex_get_attr_param (int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int* num_attrs)
-{
- int status;
- int dimid;
-
- char errmsg[MAX_ERR_LENGTH];
- const char *dnumobjatt;
-
- int obj_id_ndx;
- size_t lnum_attr_per_entry;
-
- /* Determine index of obj_id in vobjids array */
- if (obj_type == EX_NODAL)
- obj_id_ndx = 0;
- else {
- obj_id_ndx = ex_id_lkup(exoid,obj_type,obj_id);
-
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- *num_attrs = 0;
- return (EX_NOERR);
- } else {
- sprintf(errmsg,
- "Warning: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_attr_param",errmsg,exerrval);
- return (EX_WARN);
- }
- }
- }
-
- switch (obj_type) {
- case EX_SIDE_SET:
- dnumobjatt = DIM_NUM_ATT_IN_SS(obj_id_ndx);
- break;
- case EX_NODE_SET:
- dnumobjatt = DIM_NUM_ATT_IN_NS(obj_id_ndx);
- break;
- case EX_EDGE_SET:
- dnumobjatt = DIM_NUM_ATT_IN_ES(obj_id_ndx);
- break;
- case EX_FACE_SET:
- dnumobjatt = DIM_NUM_ATT_IN_FS(obj_id_ndx);
- break;
- case EX_ELEM_SET:
- dnumobjatt = DIM_NUM_ATT_IN_ELS(obj_id_ndx);
- break;
- case EX_NODAL:
- dnumobjatt = DIM_NUM_ATT_IN_NBLK;
- break;
- case EX_EDGE_BLOCK:
- dnumobjatt = DIM_NUM_ATT_IN_EBLK(obj_id_ndx);
- break;
- case EX_FACE_BLOCK:
- dnumobjatt = DIM_NUM_ATT_IN_FBLK(obj_id_ndx);
- break;
- case EX_ELEM_BLOCK:
- dnumobjatt = DIM_NUM_ATT_IN_BLK(obj_id_ndx);
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Bad block type (%d) specified for file id %d",
- obj_type, exoid );
- ex_err("ex_get_attr_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- exerrval = 0; /* clear error code */
-
- if ((status = nc_inq_dimid(exoid, dnumobjatt, &dimid)) != NC_NOERR) {
- /* dimension is undefined */
- *num_attrs = 0;
- } else {
- if ((status = nc_inq_dimlen(exoid, dimid, &lnum_attr_per_entry)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of attributes in %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id, exoid);
- ex_err("ex_get_attr_param",errmsg, exerrval);
- return(EX_FATAL);
- }
- *num_attrs = lnum_attr_per_entry;
- }
- return (EX_NOERR);
-}
-
diff --git a/cbind/src/ex_get_block.c b/cbind/src/ex_get_block.c
deleted file mode 100644
index f25e33c..0000000
--- a/cbind/src/ex_get_block.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*!
-*
-* \undoc exgblk - read block parameters
-*
-* entry conditions -
-* input parameters:
-* int idexo exodus file id
-* int blk_type block type (edge,face,element)
-* int blk_id block id
-*
-* exit conditions -
-* char* elem_type element type name
-* int* num_entries_this_blk number of elements in this element block
-* int* num_nodes_per_entry number of nodes per element block
-* int* num_attr_per_entry number of attributes
-*
-* revision history -
-*
-*
-*/
-
-#include <string.h>
-#include <stdio.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the parameters used to describe an edge, face, or element block
- */
-
-int ex_get_block( int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- char* elem_type,
- void_int* num_entries_this_blk,
- void_int* num_nodes_per_entry,
- void_int* num_edges_per_entry,
- void_int* num_faces_per_entry,
- void_int* num_attr_per_entry )
-{
- int err;
- ex_block block;
- block.id = blk_id;
- block.type = blk_type;
-
- err = ex_get_block_param(exoid, &block);
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- int64_t* n_entries_this_blk = num_entries_this_blk;
- int64_t* n_nodes_per_entry = num_nodes_per_entry;
- int64_t* n_edges_per_entry = num_edges_per_entry;
- int64_t* n_faces_per_entry = num_faces_per_entry;
- int64_t* n_attr_per_entry = num_attr_per_entry;
-
- if (n_entries_this_blk) *n_entries_this_blk = block.num_entry;
- if (n_nodes_per_entry) *n_nodes_per_entry = block.num_nodes_per_entry;
- if (n_edges_per_entry) *n_edges_per_entry = block.num_edges_per_entry;
- if (n_faces_per_entry) *n_faces_per_entry = block.num_faces_per_entry;
- if (n_attr_per_entry) *n_attr_per_entry = block.num_attribute;
- } else {
- int* n_entries_this_blk = num_entries_this_blk;
- int* n_nodes_per_entry = num_nodes_per_entry;
- int* n_edges_per_entry = num_edges_per_entry;
- int* n_faces_per_entry = num_faces_per_entry;
- int* n_attr_per_entry = num_attr_per_entry;
-
- if (n_entries_this_blk) *n_entries_this_blk = block.num_entry;
- if (n_nodes_per_entry) *n_nodes_per_entry = block.num_nodes_per_entry;
- if (n_edges_per_entry) *n_edges_per_entry = block.num_edges_per_entry;
- if (n_faces_per_entry) *n_faces_per_entry = block.num_faces_per_entry;
- if (n_attr_per_entry) *n_attr_per_entry = block.num_attribute;
- }
-
- if (elem_type)
- strcpy(elem_type, block.topology);
-
- return err;
-}
-
diff --git a/cbind/src/ex_get_block_param.c b/cbind/src/ex_get_block_param.c
deleted file mode 100644
index 2e59fcf..0000000
--- a/cbind/src/ex_get_block_param.c
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*!
-*
-* \undoc exgblk - read block parameters
-*
-* entry conditions -
-* input parameters:
-* int idexo exodus file id
-* int blk_type block type (edge,face,element)
-* int blk_id block id
-*
-* exit conditions -
-* char* elem_type element type name
-* int* num_entries_this_blk number of elements in this element block
-* int* num_nodes_per_entry number of nodes per element block
-* int* num_attr_per_entry number of attributes
-*
-* revision history -
-*
-*
-*/
-
-#include <string.h>
-#include <stdio.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the parameters used to describe an edge, face, or element block
- */
-
-int ex_get_block_param( int exoid,
- ex_block *block )
-{
- int dimid, connid, blk_id_ndx;
- size_t len, i;
- char errmsg[MAX_ERR_LENGTH];
- int status;
- const char* dnument;
- const char* dnumnod;
- const char* dnumedg;
- const char* dnumfac;
- const char* dnumatt;
- const char* ablknam;
- const char* vblkcon;
-
- exerrval = 0;
-
- /* First, locate index of element block id in VAR_ID_EL_BLK array */
- blk_id_ndx = ex_id_lkup(exoid,block->type,block->id);
- if (exerrval != 0) {
- strcpy(block->topology, "NULL"); /* NULL element type name */
- block->num_entry = 0; /* no elements */
- block->num_nodes_per_entry = 0; /* no nodes */
- block->num_edges_per_entry = 0;
- block->num_faces_per_entry = 0;
- block->num_attribute = 0; /* no attributes */
- if (exerrval == EX_NULLENTITY) { /* NULL element block? */
- return (EX_NOERR);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(block->type), block->id,exoid);
- ex_err("ex_get_block_param",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- switch (block->type) {
- case EX_EDGE_BLOCK:
- dnument = DIM_NUM_ED_IN_EBLK(blk_id_ndx);
- dnumnod = DIM_NUM_NOD_PER_ED(blk_id_ndx);
- dnumedg = 0;
- dnumfac = 0;
- dnumatt = DIM_NUM_ATT_IN_EBLK(blk_id_ndx);
- vblkcon = VAR_EBCONN(blk_id_ndx);
- ablknam = ATT_NAME_ELB;
- break;
- case EX_FACE_BLOCK:
- dnument = DIM_NUM_FA_IN_FBLK(blk_id_ndx);
- dnumnod = DIM_NUM_NOD_PER_FA(blk_id_ndx);
- dnumedg = 0; /* it is possible this might be non-NULL some day */
- dnumfac = 0;
- dnumatt = DIM_NUM_ATT_IN_FBLK(blk_id_ndx);
- vblkcon = VAR_FBCONN(blk_id_ndx);
- ablknam = ATT_NAME_ELB;
- break;
- case EX_ELEM_BLOCK:
- dnument = DIM_NUM_EL_IN_BLK(blk_id_ndx);
- dnumnod = DIM_NUM_NOD_PER_EL(blk_id_ndx);
- dnumedg = DIM_NUM_EDG_PER_EL(blk_id_ndx);
- dnumfac = DIM_NUM_FAC_PER_EL(blk_id_ndx);
- dnumatt = DIM_NUM_ATT_IN_BLK(blk_id_ndx);
- vblkcon = VAR_CONN(blk_id_ndx);
- ablknam = ATT_NAME_ELB;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg, "Bad block type parameter (%d) specified for file id %d.",
- block->type, exoid );
- return (EX_FATAL);
- }
-
- /* inquire values of some dimensions */
- if ((status = nc_inq_dimid (exoid, dnument, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of entities in %s %"PRId64" in file id %d",
- ex_name_of_object(block->type),block->id,exoid);
- ex_err("ex_get_block_param",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen (exoid, dimid, &len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of %ss in block %"PRId64" in file id %d",
- ex_name_of_object(block->type),block->id, exoid);
- ex_err("ex_get_block_param",errmsg, exerrval);
- return(EX_FATAL);
- }
- block->num_entry = len;
-
- if ((status = nc_inq_dimid (exoid, dnumnod, &dimid)) != NC_NOERR) {
- /* undefined => no node entries per element */
- len = 0;
- } else {
- if ((status = nc_inq_dimlen (exoid, dimid, &len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes/entity in %s %"PRId64" in file id %d",
- ex_name_of_object(block->type),block->id, exoid);
- ex_err("ex_get_block_param",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
- block->num_nodes_per_entry = len;
-
- if ( block->type != EX_ELEM_BLOCK ) {
- block->num_edges_per_entry = 0;
- } else {
- if ((status = nc_inq_dimid (exoid, dnumedg, &dimid)) != NC_NOERR) {
- /* undefined => no edge entries per element */
- len = 0;
- } else {
- if ((status = nc_inq_dimlen (exoid, dimid, &len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of edges/entry in %s %"PRId64" in file id %d",
- ex_name_of_object(block->type),block->id, exoid);
- ex_err("ex_get_block_param",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
- block->num_edges_per_entry = len;
- }
-
- if ( block->type != EX_ELEM_BLOCK ) {
- block->num_faces_per_entry = 0;
- } else {
- if ((status = nc_inq_dimid (exoid, dnumfac, &dimid)) != NC_NOERR) {
- /* undefined => no face entries per element */
- len = 0;
- } else {
- if ((status = nc_inq_dimlen(exoid, dimid, &len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of faces/entity in %s %"PRId64" in file id %d",
- ex_name_of_object(block->type),block->id, exoid);
- ex_err("ex_get_block_param",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
- block->num_faces_per_entry = len;
- }
-
- if ((status = nc_inq_dimid (exoid, dnumatt, &dimid)) != NC_NOERR) {
- /* dimension is undefined */
- block->num_attribute = 0;
- } else {
- if ((status = nc_inq_dimlen(exoid, dimid, &len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of attributes in %s %"PRId64" in file id %d",
- ex_name_of_object(block->type),block->id, exoid);
- ex_err("ex_get_block_param",errmsg, exerrval);
- return(EX_FATAL);
- }
- block->num_attribute = len;
- }
-
- if (block->num_nodes_per_entry > 0) {
- ; /* Do nothing, vblkcon should be correctly set already */
- } else if (block->num_edges_per_entry > 0) {
- vblkcon = VAR_EBCONN(blk_id_ndx);
- } else if (block->num_faces_per_entry > 0) {
- vblkcon = VAR_FCONN(blk_id_ndx);
- }
-
- if (vblkcon) {
- /* look up connectivity array for this element block id */
- if ((status = nc_inq_varid (exoid, vblkcon, &connid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(block->type), block->id,exoid);
- ex_err("ex_get_block_param",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_attlen (exoid, connid, ablknam, &len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s %"PRId64" type in file id %d",
- ex_name_of_object(block->type), block->id,exoid);
- ex_err("ex_get_block_param",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- if (len > (MAX_STR_LENGTH+1)) {
- len = MAX_STR_LENGTH;
- sprintf (errmsg,
- "Warning: %s %"PRId64" type will be truncated to %ld chars",
- ex_name_of_object(block->type), block->id, (long)len);
- ex_err("ex_get_block_param",errmsg,EX_MSG);
- }
-
- for (i=0; i < MAX_STR_LENGTH+1; i++)
- block->topology[i] = '\0';
-
- /* get the element type name */
- if ((status = nc_get_att_text (exoid, connid, ablknam, block->topology)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to get %s %"PRId64" type in file id %d",
- ex_name_of_object(block->type), block->id, exoid);
- ex_err("ex_get_block_param",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- /* get rid of trailing blanks */
- ex_trim_internal(block->topology);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_cmap_params.c b/cbind/src/ex_get_cmap_params.c
deleted file mode 100644
index c40dd08..0000000
--- a/cbind/src/ex_get_cmap_params.c
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_get_cmap_params()
- *****************************************************************************
- * This function outputs the communication map parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_cmap_ids - Pointer to vector of nodal communication
- * set IDs.
- * node_cmap_node_cnts - Pointer to a vector which contains a count of
- * the number of FEM nodes for each nodal
- * communication map.
- * elem_cmap_ids - Pointer to vector for retrieval of elemental
- * communication set IDs.
- * elem_cmap_elem_cnts - Pointer to a vector which contains a count of
- * the number of FEM elements for each elemental
- * communication map.
- * processor - The processor the file being read was written
- * for.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_get_cmap_params(int exoid,
- void_int *node_cmap_ids,
- void_int *node_cmap_node_cnts,
- void_int *elem_cmap_ids,
- void_int *elem_cmap_elem_cnts,
- int processor
- )
-{
- const char *func_name="ex_get_cmap_params";
-
- size_t cnt, num_n_comm_maps, num_e_comm_maps, start[1], count[1];
- int64_t cmap_info_idx[2], cmap_data_idx[2];
- int nmstat;
- int status, map_idx, varid, dimid;
-
- char errmsg[MAX_ERR_LENGTH];
- /*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /*****************************************************************************/
- /*****************************************************************************/
- /* Nodal communication map(s) */
- /*****************************************************************************/
- /*****************************************************************************/
-
- /* get the cmap information variables index */
- if (ex_get_idx(exoid, VAR_N_COMM_INFO_IDX, cmap_info_idx, processor) == -1) {
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_N_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the number of nodal communications maps in the file */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_N_CMAPS, &dimid)) == NC_NOERR) {
- /* check if I need to get the dimension of the nodal comm map */
- if (cmap_info_idx[1] == -1) {
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_N_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* set the end value for the node map */
- cmap_info_idx[1] = count[0];
- } /* End "if (cmap_info_idx[1] == -1) */
-
- num_n_comm_maps = cmap_info_idx[1] - cmap_info_idx[0];
-
- if (num_n_comm_maps > 0) {
- count[0] = num_n_comm_maps;
-
- /* Get the variable ID for the vector of nodal comm map IDs */
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_IDS, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the vector of nodal communication map IDs */
- if (node_cmap_ids != NULL) {
- start[0] = cmap_info_idx[0];
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid, start, count, node_cmap_ids);
- } else {
- status = nc_get_vara_int(exoid, varid, start, count, node_cmap_ids);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_N_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_N_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (node_cmap_node_cnts != NULL) {
-
- /* Get the node counts in each of the nodal communication maps */
- for(cnt=0; cnt < num_n_comm_maps; cnt++) {
- int64_t cmap_id;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- cmap_id = ((int64_t*)node_cmap_ids)[cnt];
- } else {
- cmap_id = ((int*)node_cmap_ids)[cnt];
- }
-
- if ((map_idx=ne_id_lkup(exoid, VAR_N_COMM_IDS, cmap_info_idx, cmap_id)) < 0) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: failed to find nodal comm map with ID %"PRId64" in file ID %d",
- cmap_id, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Check the status of the node map */
- start[0] = map_idx;
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_N_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
-
- /* get the cmap information variables index */
- if (ex_get_idx(exoid, VAR_N_COMM_DATA_IDX, cmap_data_idx,
- map_idx) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_N_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (cmap_data_idx[1] == -1) {
- /*
- * Find the dimension ID of the variable containing the
- * node count
- */
- if ((status = nc_inq_dimid(exoid, DIM_NCNT_CMAP, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NCNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Find the value of the number of nodes in this nodal comm map */
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NCNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- cmap_data_idx[1] = count[0];
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ((int64_t*)node_cmap_node_cnts)[cnt] = cmap_data_idx[1] - cmap_data_idx[0];
- } else {
- ((int*)node_cmap_node_cnts)[cnt] = cmap_data_idx[1] - cmap_data_idx[0];
- }
- }
- else
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ((int64_t*)node_cmap_node_cnts)[cnt] = 0;
- } else {
- ((int*)node_cmap_node_cnts)[cnt] = 0;
- }
- } /* "for(cnt=0; cnt < num_n_comm_maps; cnt++)" */
- } /* "if (node_cmap_node_cnts != NULL)" */
- } /* "if (node_cmap_ids != NULL)" */
- } /* "if (num_n_comm_maps > 0)" */
- } /* End "if ((dimid = nc_inq_dimid(exoid, DIM_NUM_N_CMAPS)) != -1)" */
-
- /*****************************************************************************/
- /*****************************************************************************/
- /* Elemental communication map(s) */
- /*****************************************************************************/
- /*****************************************************************************/
-
- /* get the cmap information variables index */
- if (ex_get_idx(exoid, VAR_E_COMM_INFO_IDX, cmap_info_idx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_E_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the number of elemental communications maps in the file */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_E_CMAPS, &dimid)) == NC_NOERR) {
- /* check if I need to get the dimension of the nodal comm map */
- if (cmap_info_idx[1] == -1) {
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_E_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* set the end value for the node map */
- cmap_info_idx[1] = count[0];
- } /* End "if (cmap_info_idx[1] == -1) */
-
- num_e_comm_maps = cmap_info_idx[1] - cmap_info_idx[0];
-
- if (num_e_comm_maps > 0) {
- count[0] = num_e_comm_maps;
-
- /* Get the variable ID for the vector of nodal comm map IDs */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_IDS, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the vector of elemental communication map IDs */
- if (elem_cmap_ids != NULL) {
- start[0] = cmap_info_idx[0];
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid, start, count, elem_cmap_ids);
- } else {
- status = nc_get_vara_int(exoid, varid, start, count, elem_cmap_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_E_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_E_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (elem_cmap_elem_cnts != NULL) {
- /*
- * Get the element counts in each of the elemental
- * communication maps
- */
- for(cnt=0; cnt < num_e_comm_maps; cnt++) {
- int64_t cmap_id;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- cmap_id = ((int64_t*)elem_cmap_ids)[cnt];
- } else {
- cmap_id = ((int*)elem_cmap_ids)[cnt];
- }
-
- if ((map_idx=ne_id_lkup(exoid, VAR_E_COMM_IDS, cmap_info_idx,
- cmap_id)) < 0) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: failed to find elemental comm map with ID %"PRId64" in file ID %d",
- cmap_id, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Check the status of the requested elemental map */
- start[0] = map_idx;
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_E_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
-
- /* get the cmap information variables index */
- if (ex_get_idx(exoid, VAR_E_COMM_DATA_IDX, cmap_data_idx,
- map_idx) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_E_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (cmap_data_idx[1] == -1) {
- /*
- * Find the dimension ID of the variable containing the
- * element count
- */
- if ((status = nc_inq_dimid(exoid, DIM_ECNT_CMAP, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_ECNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /*
- * Find the value of the number of elements in this elemental
- * comm map
- */
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_ECNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- cmap_data_idx[1] = count[0];
- }
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ((int64_t*)elem_cmap_elem_cnts)[cnt] = cmap_data_idx[1] - cmap_data_idx[0];
- } else {
- ((int*)elem_cmap_elem_cnts)[cnt] = cmap_data_idx[1] - cmap_data_idx[0];
- }
- }
- else
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ((int64_t*)elem_cmap_elem_cnts)[cnt] = 0;
- } else {
- ((int*)elem_cmap_elem_cnts)[cnt] = 0;
- }
- } /* "for(cnt=0; cnt < num_e_comm_maps; cnt++)" */
- } /* "if (elem_cmap_elem_cnts != NULL)" */
- } /* "if (elem_cmap_ids != NULL)" */
- } /* "if (num_e_comm_maps > 0)" */
- } /* End "if ((dimid = nc_inq_dimid(exoid, DIM_NUM_E_CMAPS(processor))) != -1)" */
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_concat_node_sets.c b/cbind/src/ex_get_concat_node_sets.c
deleted file mode 100644
index 7006119..0000000
--- a/cbind/src/ex_get_concat_node_sets.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_get_concat_sets()(exoid, EX_NODE_SET, set_specs) instead
-
-The function ex_get_concat_node_sets() reads the node set ID's, node
-set node count array, node set distribution factors count array, node
-set node pointers array, node set distribution factors pointer array,
-node set node list, and node set distribution factors for all of the
-node sets. ``Concatenated node sets'' refers to the arrays required to
-define all of the node sets (ID array, counts arrays, pointers arrays,
-node list array, and distribution factors array) as described in
-Section 3.10 on page 11.
-
-Because the distribution factors are floating point values, the
-application code must declare the array passed to be the appropriate
-type (\c float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-The length of each of the returned arrays can be determined by
-invoking ex_inquire() or ex_inquire_int().
-
-\return In case of an error, ex_get_concat_node_sets() returns a
-negative number; a warning will return a positive number. Possible
-causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - a warning value is returned if no node sets are stored in the file.
-
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create()
- or ex_open().
-
-\param[out] node_set_ids Returned array containing the node set ID for each set.
-
-\param[out] num_nodes_per_set Returned array containing the number of nodes for each set.
-
-\param[out] num_df_per_set Returned array containing the number of distribution factors for each
- set.
-
-\param[out] node_sets_node_index Returned array containing the indices into the \c node_set_node_list
- which are the locations of the first node for each set. These indices
- are 0-based.
-
-\param[out] node_sets_df_index Returned array containing the indices into the \c node_set_dist_fact
- which are the locations of the first distribution factor for each
- set. These indices are 0-based.
-
-\param[out] node_sets_node_list Returned array containing the nodes for all sets. Internal node IDs
- are used in this list (see Section LocalNodeIds).
-
-\param[out] node_sets_dist_fact Returned array containing the distribution factors for all sets.
-
-
-As an example, the following code segment will read concatenated node
-sets:
-
-\code
-#include "exodusII.h"
-
-int error, exoid, num_node_sets, list_len, *ids,
- *num_nodes_per_set, *num_df_per_set, *node_ind,
- *df_ind, *node_list;
-
-float *dist_fact
-
-\comment{read concatenated node sets}
-num_node_sets = ex_inquire_int(exoid, EX_INQ_NODE_SETS);
-
-ids = (int *) calloc(num_node_sets, sizeof(int));
-num_nodes_per_set = (int *) calloc(num_node_sets, sizeof(int));
-num_df_per_set = (int *) calloc(num_node_sets, sizeof(int));
-node_ind = (int *) calloc(num_node_sets, sizeof(int));
-df_ind = (int *) calloc(num_node_sets, sizeof(int));
-
-list_len = ex_inquire_int(exoid, EX_INQ_NS_NODE_LEN);
-node_list = (int *) calloc(list_len, sizeof(int));
-
-list_len = ex_inquire_int(exoid, EX_INQ_NS_DF_LEN);
-dist_fact = (float *) calloc(list_len, sizeof(float));
-
-error = ex_get_concat_node_sets (exoid, ids, num_nodes_per_set,
- num_df_per_set, node_ind, df_ind,
- node_list, dist_fact);
-\endcode
-*/
-
-int ex_get_concat_node_sets (int exoid,
- void_int *node_set_ids,
- void_int *num_nodes_per_set,
- void_int *num_df_per_set,
- void_int *node_sets_node_index,
- void_int *node_sets_df_index,
- void_int *node_sets_node_list,
- void *node_sets_dist_fact)
-{
- struct ex_set_specs set_specs;
-
- set_specs.sets_ids = node_set_ids;
- set_specs.num_entries_per_set = num_nodes_per_set;
- set_specs.num_dist_per_set = num_df_per_set;
- set_specs.sets_entry_index = node_sets_node_index;
- set_specs.sets_dist_index = node_sets_df_index;
- set_specs.sets_entry_list = node_sets_node_list;
- set_specs.sets_extra_list = NULL;
- set_specs.sets_dist_fact = node_sets_dist_fact;
-
- return ex_get_concat_sets(exoid, EX_NODE_SET, &set_specs);
-}
diff --git a/cbind/src/ex_get_concat_sets.c b/cbind/src/ex_get_concat_sets.c
deleted file mode 100644
index bb1b674..0000000
--- a/cbind/src/ex_get_concat_sets.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*!
-*
-* \undoc exgcss - ex_get_concat_sets
-*
-* reads the set ID's, set entry count array, set entry pointers
-* array, set entry list, set extra list, and set distribution factors
-* for all sets of the specified type.
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* ex_entity_type set_type type of set
-*
-* exit conditions -
-* struct ex_set_specs* set_specs set specs structure
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_concat_sets (int exoid,
- ex_entity_type set_type,
- struct ex_set_specs* set_specs)
-{
- int status, dimid;
- void_int *num_entries_per_set = set_specs->num_entries_per_set;
- void_int *num_dist_per_set = set_specs->num_dist_per_set;
- void_int *sets_entry_index = set_specs->sets_entry_index;
- void_int *sets_dist_index = set_specs->sets_dist_index;
-
- void *sets_dist_fact = set_specs->sets_dist_fact;
-
- int num_sets, i;
- float *flt_dist_fact;
- double *dbl_dist_fact;
- char errmsg[MAX_ERR_LENGTH];
- ex_inquiry ex_inq_val;
-
- exerrval = 0; /* clear error code */
-
- /* setup pointers based on set_type
- NOTE: there is another block that sets more stuff later ... */
-
- if (set_type == EX_NODE_SET) {
- ex_inq_val = EX_INQ_NODE_SETS;
- }
- else if (set_type == EX_EDGE_SET) {
- ex_inq_val = EX_INQ_EDGE_SETS;
- }
- else if (set_type == EX_FACE_SET) {
- ex_inq_val = EX_INQ_FACE_SETS;
- }
- else if (set_type == EX_SIDE_SET) {
- ex_inq_val = EX_INQ_SIDE_SETS;
- }
- else if (set_type == EX_ELEM_SET) {
- ex_inq_val = EX_INQ_ELEM_SETS;
- }
- else {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: invalid set type (%d)", set_type);
- ex_err("ex_put_set_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* first check if any sets are specified */
-
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(set_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_EBADDIM) {
- sprintf(errmsg,
- "Warning: no %ss defined for file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_get_concat_sets",errmsg,exerrval);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %ss defined in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_get_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire how many sets have been stored */
-
- num_sets = ex_inquire_int(exoid, ex_inq_val);
- if (num_sets < 0) {
- sprintf(errmsg,
- "Error: failed to get number of %ss defined for file id %d",
- ex_name_of_object(set_type), exoid);
- /* use error val from inquire */
- ex_err("ex_get_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_ids (exoid, set_type, set_specs->sets_ids) != NC_NOERR) {
- sprintf(errmsg,
- "Error: failed to get %s ids for file id %d",
- ex_name_of_object(set_type), exoid);
- /* use error val from inquire */
- ex_err("ex_get_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- ((int64_t*)sets_entry_index)[0] = 0;
- ((int64_t*)sets_dist_index)[0] = 0;
- } else {
- ((int*)sets_entry_index)[0] = 0;
- ((int*)sets_dist_index)[0] = 0;
- }
-
- for (i=0; i<num_sets; i++) {
- int set_id;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- set_id = ((int64_t*)set_specs->sets_ids)[i];
- } else {
- set_id = ((int*)set_specs->sets_ids)[i];
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- if (ex_get_set_param(exoid, set_type, set_id,
- &(((int64_t*)num_entries_per_set)[i]),
- &(((int64_t*)num_dist_per_set)[i])) != NC_NOERR)
- return(EX_FATAL); /* error will be reported by sub */
-
- if (i < num_sets-1) {
- /* fill in entry and dist factor index arrays */
- ((int64_t*)sets_entry_index)[i+1] = ((int64_t*)sets_entry_index)[i]+((int64_t*)num_entries_per_set)[i];
- ((int64_t*)sets_dist_index)[i+1] = ((int64_t*)sets_dist_index)[i]+((int64_t*)num_dist_per_set)[i];
- }
-
- if (((int64_t*)num_entries_per_set)[i] == 0) /* NULL set? */
- continue;
-
- {
- /* Now, use ExodusII call to get sets */
- int64_t *sets_entry_list = set_specs->sets_entry_list;
- int64_t *sets_extra_list = set_specs->sets_extra_list;
- int64_t *sets_extra = sets_extra_list ? &((int64_t*)sets_extra_list)[((int64_t*)sets_entry_index)[i]] : NULL;
- status = ex_get_set(exoid, set_type, set_id,
- &(sets_entry_list[((int64_t*)sets_entry_index)[i]]),
- sets_extra);
- }
- } else {
- if (ex_get_set_param(exoid, set_type, set_id,
- &(((int*)num_entries_per_set)[i]),
- &(((int*)num_dist_per_set)[i])) != NC_NOERR)
- return(EX_FATAL); /* error will be reported by sub */
-
- if (i < num_sets-1) {
- /* fill in entry and dist factor index arrays */
- ((int*)sets_entry_index)[i+1] = ((int*)sets_entry_index)[i]+((int*)num_entries_per_set)[i];
- ((int*)sets_dist_index)[i+1] = ((int*)sets_dist_index)[i]+((int*)num_dist_per_set)[i];
- }
-
- if (((int*)num_entries_per_set)[i] == 0) /* NULL set? */
- continue;
-
- {
- /* Now, use ExodusII call to get sets */
- int *sets_entry_list = set_specs->sets_entry_list;
- int *sets_extra_list = set_specs->sets_extra_list;
- int *sets_extra = sets_extra_list ? &((int*)sets_extra_list)[((int*)sets_entry_index)[i]] : NULL;
- status = ex_get_set(exoid, set_type, set_id,
- &(sets_entry_list[((int*)sets_entry_index)[i]]),
- sets_extra);
- }
- }
-
- if (status != NC_NOERR)
- return(EX_FATAL); /* error will be reported by subroutine */
-
- /* get distribution factors for this set */
- if (sets_dist_fact != 0) {
- size_t df_idx;
- size_t num_dist;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- df_idx = ((int64_t*)sets_dist_index)[i];
- num_dist = ((int64_t*)num_dist_per_set)[i];
- } else {
- df_idx = ((int*)sets_dist_index)[i];
- num_dist = ((int*)num_dist_per_set)[i];
- }
- if (num_dist > 0) { /* only get df if they exist */
- if (ex_comp_ws(exoid) == sizeof(float)) {
- flt_dist_fact = sets_dist_fact;
- status = ex_get_set_dist_fact(exoid, set_type, set_id,
- &(flt_dist_fact[df_idx]));
- } else {
- dbl_dist_fact = sets_dist_fact;
- status = ex_get_set_dist_fact(exoid, set_type, set_id,
- &(dbl_dist_fact[df_idx]));
- }
- if (status != NC_NOERR) {
- return(EX_FATAL); /* error will be reported by subroutine */
- }
- }
- }
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_concat_side_set_node_count.c b/cbind/src/ex_get_concat_side_set_node_count.c
deleted file mode 100644
index e715f8c..0000000
--- a/cbind/src/ex_get_concat_side_set_node_count.c
+++ /dev/null
@@ -1,635 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************
-*
-* exgcssc - ex_get_concat_side_set_node_count
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-* int *side_set_node_cnt_list returned array of number of nodes for
-* side or face for all sidesets
-* revision history -
-*
-*****************************************************************************/
-
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*! \cond INTERNAL */
-static void *safe_free(void *array)
-{
- if (array != 0) free(array);
- return 0;
-}
-
-/* Generic error message for element type/node count mapping...*/
-#define EL_NODE_COUNT_ERROR sprintf(errmsg, \
- "Error: An element of type '%s' with %d nodes is not valid.",\
- elem_blk_parms[i].elem_type,\
- elem_blk_parms[i].num_nodes_per_elem);\
- ex_err("ex_get_side_set_node_count",errmsg,EX_MSG);\
- return(EX_FATAL);
-/*! \endcond */
-
-/*! \undoc */
-int ex_get_concat_side_set_node_count(int exoid,
- int *side_set_node_cnt_list)
-{
- size_t m;
- int ii, i, j, iss, ioff;
- ex_entity_id side_set_id;
- int num_side_sets, num_elem_blks, num_df, ndim;
- int64_t tot_num_elem = 0, tot_num_ss_elem = 0, side, elem;
- void_int *elem_blk_ids = NULL;
- void_int *side_set_ids = NULL;
- void_int *ss_elem_ndx = NULL;
- void_int *side_set_elem_list = NULL;
- void_int *side_set_side_list = NULL;
- size_t elem_ctr;
- int int_size, ids_size;
- int status;
-
- struct elem_blk_parm *elem_blk_parms;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any side sets are specified */
- /* inquire how many side sets have been stored */
- num_side_sets = ex_inquire_int(exoid, EX_INQ_SIDE_SETS);
- if (num_side_sets < 0) {
- sprintf(errmsg,
- "Error: failed to get number of side sets in file id %d",exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (num_side_sets == 0) {
- sprintf(errmsg,
- "Warning: no side sets defined in file id %d",exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,EX_WARN);
- return(EX_WARN);
- }
-
- num_elem_blks = ex_inquire_int(exoid, EX_INQ_ELEM_BLK);
- if (num_elem_blks < 0) {
- sprintf(errmsg,
- "Error: failed to get number of element blocks in file id %d",exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- tot_num_elem = ex_inquire_int(exoid, EX_INQ_ELEM);
- if (tot_num_elem < 0) {
- sprintf(errmsg,
- "Error: failed to get total number of elements in file id %d",exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* get the dimensionality of the coordinates; this is necessary to
- distinguish between 2d TRIs and 3d TRIs */
- ndim = ex_inquire_int(exoid, EX_INQ_DIM);
- if (ndim < 0) {
- sprintf(errmsg,
- "Error: failed to get dimensionality in file id %d",exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- int_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_BULK_INT64_API)
- int_size = sizeof(int64_t);
-
- /* Allocate space for the element block ids */
- ids_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- ids_size = sizeof(int64_t);
- }
-
- if (!(elem_blk_ids=malloc(num_elem_blks*ids_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element block ids for file id %d",
- exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- goto error_ret;
- }
-
- if (ex_get_ids(exoid, EX_ELEM_BLOCK, elem_blk_ids) == -1) {
- sprintf(errmsg,
- "Error: failed to get element block ids in file id %d",
- exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,EX_MSG);
- return(EX_FATAL);
- }
-
- /* Allocate space for the element block params */
- if (!(elem_blk_parms=malloc(num_elem_blks*sizeof(struct elem_blk_parm)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element block params for file id %d",
- exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- goto error_ret;
- }
-
- elem_ctr = 0;
- for (i=0; i<num_elem_blks; i++)
- {
- ex_entity_id id;
- ex_block block;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- id = ((int64_t*)elem_blk_ids)[i];
- } else {
- id = ((int*)elem_blk_ids)[i];
- }
-
- /* read in an element block parameter */
- block.type = EX_ELEM_BLOCK;
- block.id = id;
-
- /* read in an element block parameter */
- if ((ex_get_block_param (exoid, &block)) == -1) {
- sprintf(errmsg,
- "Error: failed to get element block %"PRId64" parameters in file id %d",
- block.id, exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,EX_MSG);
- return(EX_FATAL);
- }
-
- elem_blk_parms[i].num_elem_in_blk = block.num_entry;
- elem_blk_parms[i].num_nodes_per_elem = block.num_nodes_per_entry;
- elem_blk_parms[i].num_attr = block.num_attribute;
-
- for (m=0; m < strlen(block.topology); m++) {
- elem_blk_parms[i].elem_type[m] = toupper(block.topology[m]);
- }
- elem_blk_parms[i].elem_type[m] = '\0';
-
- if (strncmp(elem_blk_parms[i].elem_type,"CIRCLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_CIRCLE;
- elem_blk_parms[i].num_sides = 1;
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SPHERE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SPHERE;
- elem_blk_parms[i].num_sides = 1;
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"QUAD",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_QUAD;
- elem_blk_parms[i].num_sides = 4;
- if (elem_blk_parms[i].num_nodes_per_elem == 4) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- elem_blk_parms[i].num_nodes_per_side[3] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 5) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- elem_blk_parms[i].num_nodes_per_side[3] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 9 ||
- elem_blk_parms[i].num_nodes_per_elem == 8) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- } else {
- EL_NODE_COUNT_ERROR;
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TRIANGLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRIANGLE;
- if (ndim == 2) { /* 2d TRIs */
- elem_blk_parms[i].num_sides = 3;
- if (elem_blk_parms[i].num_nodes_per_elem == 3) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 6) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- }
- } else if (ndim == 3) { /* 3d TRIs -- triangular shell*/
- elem_blk_parms[i].num_sides = 5; /* 2 Faces and 3 Edges */
- if (elem_blk_parms[i].num_nodes_per_elem == 3) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- elem_blk_parms[i].num_nodes_per_side[3] = 2;
- elem_blk_parms[i].num_nodes_per_side[4] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 6) {
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- elem_blk_parms[i].num_nodes_per_side[1] = 6;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- elem_blk_parms[i].num_nodes_per_side[4] = 3;
- } else {
- EL_NODE_COUNT_ERROR;
- }
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SHELL",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SHELL;
-
- if (elem_blk_parms[i].num_nodes_per_elem == 2) {/* KLUDGE for 2D Shells*/
- elem_blk_parms[i].num_sides = 2;
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 4) {
- elem_blk_parms[i].num_sides = 6; /* 2 Faces, 4 Edges */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- elem_blk_parms[i].num_nodes_per_side[3] = 2;
- elem_blk_parms[i].num_nodes_per_side[4] = 2;
- elem_blk_parms[i].num_nodes_per_side[5] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 8 ||
- elem_blk_parms[i].num_nodes_per_elem == 9) {
- elem_blk_parms[i].num_sides = 6; /* 2 Faces, 4 Edges */
- elem_blk_parms[i].num_nodes_per_side[0] =
- elem_blk_parms[i].num_nodes_per_elem; /* 8 or 9 */
- elem_blk_parms[i].num_nodes_per_side[1] =
- elem_blk_parms[i].num_nodes_per_elem; /* 8 or 9 */
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- elem_blk_parms[i].num_nodes_per_side[4] = 3;
- elem_blk_parms[i].num_nodes_per_side[5] = 3;
- } else {
- EL_NODE_COUNT_ERROR;
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"HEX",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_HEX;
- elem_blk_parms[i].num_sides = 6;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 8) { /* 8-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 4;
- elem_blk_parms[i].num_nodes_per_side[3] = 4;
- elem_blk_parms[i].num_nodes_per_side[4] = 4;
- elem_blk_parms[i].num_nodes_per_side[5] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 9) { /* 9-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 4;
- elem_blk_parms[i].num_nodes_per_side[3] = 4;
- elem_blk_parms[i].num_nodes_per_side[4] = 4;
- elem_blk_parms[i].num_nodes_per_side[5] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 12) { /* HEXSHELLS */
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- elem_blk_parms[i].num_nodes_per_side[1] = 6;
- elem_blk_parms[i].num_nodes_per_side[2] = 6;
- elem_blk_parms[i].num_nodes_per_side[3] = 6;
- elem_blk_parms[i].num_nodes_per_side[4] = 4;
- elem_blk_parms[i].num_nodes_per_side[5] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 20) { /* 20-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- elem_blk_parms[i].num_nodes_per_side[1] = 8;
- elem_blk_parms[i].num_nodes_per_side[2] = 8;
- elem_blk_parms[i].num_nodes_per_side[3] = 8;
- elem_blk_parms[i].num_nodes_per_side[4] = 8;
- elem_blk_parms[i].num_nodes_per_side[5] = 8;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 27) { /* 27-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 9;
- elem_blk_parms[i].num_nodes_per_side[1] = 9;
- elem_blk_parms[i].num_nodes_per_side[2] = 9;
- elem_blk_parms[i].num_nodes_per_side[3] = 9;
- elem_blk_parms[i].num_nodes_per_side[4] = 9;
- elem_blk_parms[i].num_nodes_per_side[5] = 9;
- } else {
- EL_NODE_COUNT_ERROR;
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TETRA",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TETRA;
- elem_blk_parms[i].num_sides = 4;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 4) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 8) {
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 4;
- elem_blk_parms[i].num_nodes_per_side[3] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 10) {
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- elem_blk_parms[i].num_nodes_per_side[1] = 6;
- elem_blk_parms[i].num_nodes_per_side[2] = 6;
- elem_blk_parms[i].num_nodes_per_side[3] = 6;
- } else {
- EL_NODE_COUNT_ERROR;
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"WEDGE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_WEDGE;
- elem_blk_parms[i].num_sides = 5;
- if (elem_blk_parms[i].num_nodes_per_elem == 6) {
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 4;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- elem_blk_parms[i].num_nodes_per_side[4] = 3;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 15){
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- elem_blk_parms[i].num_nodes_per_side[1] = 8;
- elem_blk_parms[i].num_nodes_per_side[2] = 8;
- elem_blk_parms[i].num_nodes_per_side[3] = 6;
- elem_blk_parms[i].num_nodes_per_side[4] = 6;
- } else {
- EL_NODE_COUNT_ERROR;
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"PYRAMID",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_PYRAMID;
- elem_blk_parms[i].num_sides = 5;
- if (elem_blk_parms[i].num_nodes_per_elem == 5) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- elem_blk_parms[i].num_nodes_per_side[4] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 13){
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- elem_blk_parms[i].num_nodes_per_side[1] = 6;
- elem_blk_parms[i].num_nodes_per_side[2] = 6;
- elem_blk_parms[i].num_nodes_per_side[3] = 6;
- elem_blk_parms[i].num_nodes_per_side[4] = 8;
- } else {
- EL_NODE_COUNT_ERROR;
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"BEAM",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_BEAM;
- elem_blk_parms[i].num_sides = 2;
-
- if (elem_blk_parms[i].num_nodes_per_elem == 2) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 3){
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- } else {
- EL_NODE_COUNT_ERROR;
- }
- }
- else if ( (strncmp(elem_blk_parms[i].elem_type,"TRUSS",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"BAR",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"EDGE",3) == 0) )
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRUSS;
- elem_blk_parms[i].num_sides = 2;
-
- if (elem_blk_parms[i].num_nodes_per_elem == 2) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 3) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- } else {
- EL_NODE_COUNT_ERROR;
- }
- }
- /* Used for an empty block in a parallel decomposition */
- else if (strncmp(elem_blk_parms[i].elem_type,"NULL",3) == 0) {
- elem_blk_parms[i].elem_type_val = EX_EL_NULL_ELEMENT;
- elem_blk_parms[i].num_sides = 0;
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- elem_blk_parms[i].num_elem_in_blk = 0;
- } else {
- /* unsupported element type; no problem if no sides specified for
- this element block */
- elem_blk_parms[i].elem_type_val = EX_EL_UNK;
- elem_blk_parms[i].num_sides = 0;
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- }
-
- elem_blk_parms[i].elem_blk_id = id; /* save id */
- elem_ctr += elem_blk_parms[i].num_elem_in_blk;
- elem_blk_parms[i].elem_ctr = elem_ctr; /* save elem number max */
- }
-
-
- /* Finally... Create the list of node counts for each face in the
- * side set.
- */
- /* Allocate space for the sideset ids */
- if (!(side_set_ids=malloc(num_side_sets*ids_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set ids for file id %d",
- exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- goto error_ret;
- }
-
- if (ex_get_ids(exoid, EX_SIDE_SET, side_set_ids) == -1) {
- sprintf(errmsg,
- "Error: failed to get side set ids in file id %d",
- exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,EX_MSG);
- goto error_ret;
- }
-
- /* Lookup index of side set id in VAR_SS_IDS array */
- ioff = 0;
- for (iss=0; iss<num_side_sets; iss++) {
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- side_set_id = ((int64_t*)side_set_ids)[iss];
- } else {
- side_set_id = ((int*)side_set_ids)[iss];
- }
-
- /* First determine the # of elements in the side set*/
- if (int_size == sizeof(int64_t)) {
- status = ex_get_set_param(exoid,EX_SIDE_SET, side_set_id,&tot_num_ss_elem,&num_df);
- } else {
- int tot, df;
- status = ex_get_set_param(exoid,EX_SIDE_SET, side_set_id,&tot,&df);
- tot_num_ss_elem = tot;
- num_df = df;
- }
-
- if (status != EX_NOERR) {
- sprintf(errmsg,
- "Error: failed to get number of elements in side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- goto error_ret;
- }
-
- if (tot_num_ss_elem == 0)
- continue;
-
- /* Allocate space for the side set element list */
- if (!(side_set_elem_list=malloc(tot_num_ss_elem*int_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set element list for file id %d",
- exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- goto error_ret;
- }
-
- /* Allocate space for the side set side list */
- if (!(side_set_side_list=malloc(tot_num_ss_elem*int_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set side list for file id %d",
- exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- goto error_ret;
- }
-
- if (ex_get_set(exoid, EX_SIDE_SET, side_set_id,
- side_set_elem_list, side_set_side_list) == -1) {
- sprintf(errmsg,
- "Error: failed to get side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- goto error_ret;
- }
-
- /* Allocate space for the ss element index array */
- if (!(ss_elem_ndx=malloc(tot_num_ss_elem*int_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set elem sort array for file id %d",
- exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,exerrval);
- goto error_ret;
- }
-
- /* Sort side set element list into index array - non-destructive */
- if (int_size == sizeof(int64_t)) {
- /* Sort side set element list into index array - non-destructive */
- int64_t *elems = (int64_t*)ss_elem_ndx;
- for (i=0;i<tot_num_ss_elem;i++) {
- elems[i] = i; /* init index array to current position */
- }
- ex_iqsort64(side_set_elem_list, ss_elem_ndx,tot_num_ss_elem);
- } else {
- /* Sort side set element list into index array - non-destructive */
- int *elems = (int*)ss_elem_ndx;
- for (i=0;i<tot_num_ss_elem;i++) {
- elems[i] = i; /* init index array to current position */
- }
- ex_iqsort(side_set_elem_list, ss_elem_ndx,tot_num_ss_elem);
- }
-
- j = 0; /* The current element block... */
- for (ii=0;ii<tot_num_ss_elem;ii++) {
-
- int64_t elem_ndx;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- elem_ndx = ((int64_t*)ss_elem_ndx)[ii];
- elem = ((int64_t*)side_set_elem_list)[elem_ndx];
- side = ((int64_t*)side_set_side_list)[elem_ndx]-1;
- } else {
- elem_ndx = ((int*)ss_elem_ndx)[ii];
- elem = ((int*)side_set_elem_list)[elem_ndx];
- side = ((int*)side_set_side_list)[elem_ndx]-1;
- }
-
- /*
- * Since the elements are being accessed in sorted, order, the
- * block that contains the elements must progress sequentially
- * from block 0 to block[num_elem_blks-1]. Once we find an element
- * not in this block, find a following block that contains it...
- */
- for ( ; j<num_elem_blks; j++) {
- if (elem <= elem_blk_parms[j].elem_ctr) {
- break;
- }
- }
-
- if (j < num_elem_blks) {
- assert(side < elem_blk_parms[j].num_sides);
- side_set_node_cnt_list[elem_ndx+ioff] = elem_blk_parms[j].num_nodes_per_side[side];
- } else {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid element number %"PRId64" found in side set %"PRId64" in file %d",
- elem, side_set_id, exoid);
- ex_err("ex_get_concat_side_set_node_count",errmsg,EX_MSG);
- goto error_ret;
- }
- }
- ss_elem_ndx = safe_free(ss_elem_ndx);
- side_set_elem_list = safe_free(side_set_elem_list);
- side_set_side_list = safe_free(side_set_side_list);
- ioff += tot_num_ss_elem;
- }
-
- /* All done: release allocated memory */
- safe_free(elem_blk_ids);
- safe_free(side_set_ids);
-
- return(EX_NOERR);
-
- error_ret:
- safe_free(elem_blk_ids);
- safe_free(side_set_ids);
- safe_free(ss_elem_ndx);
- safe_free(side_set_elem_list);
- safe_free(side_set_side_list);
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_get_concat_side_sets.c b/cbind/src/ex_get_concat_side_sets.c
deleted file mode 100644
index e874973..0000000
--- a/cbind/src/ex_get_concat_side_sets.c
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
- *
- * exgcss - ex_get_concat_side_sets
- *
- * entry conditions -
- * input parameters:
- * int exoid exodus file id
- *
- * exit conditions -
- * int *side_set_ids array of side set ids
- * int *num_elem_per_set number of elements/sides/faces per set
- * int *num_dist_per_set number of distribution factors per set
- * int *side_sets_elem_index index array of elements into elem list
- * int *side_sets_dist_index index array of df into df list
- * int *side_sets_elem_list array of elements
- * int *side_sets_side_list array of sides
- * void *side_sets_dist_fact array of distribution factors
- *
- * revision history -
- *
- *
- *****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \undoc reads the side set ID's, side set element count array, side set node count
- * array, side set element pointers array, side set node pointers array, side
- * set element list, side set node list, and side set distribution factors
- * \deprecated Use ex_get_concat_sets()(exoid, EX_SIDE_SET, set_specs) instead
- */
-
-int ex_get_concat_side_sets (int exoid,
- 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,
- void *side_sets_dist_fact)
-{
- struct ex_set_specs set_specs;
-
- set_specs.sets_ids = side_set_ids;
- set_specs.num_entries_per_set = num_elem_per_set;
- set_specs.num_dist_per_set = num_dist_per_set;
- set_specs.sets_entry_index = side_sets_elem_index;
- set_specs.sets_dist_index = side_sets_dist_index;
- set_specs.sets_entry_list = side_sets_elem_list;
- set_specs.sets_extra_list = side_sets_side_list;
- set_specs.sets_dist_fact = side_sets_dist_fact;
-
- return ex_get_concat_sets(exoid, EX_SIDE_SET, &set_specs);
-}
diff --git a/cbind/src/ex_get_conn.c b/cbind/src/ex_get_conn.c
deleted file mode 100644
index cfeb134..0000000
--- a/cbind/src/ex_get_conn.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*!
-*
-* \undoc exgconn - exodusII read edge/face/element block connectivity
-*
-* entry conditions -
-* expelb must be called first to establish element block parameters.
-* input parameters:
-* int exoid exodus file id
-* int blk_type block type (edge, face, element)
-* int blk_id block id
-*
-* exit conditions -
-* int* nodeconn nodal connectivity array
-* int* edgeconn edge connectivity array (where applicable)
-* int* faceconn face connectivity array (where applicable)
-*
-*
-*/
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_conn( int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- void_int* nodeconn,
- void_int* edgeconn,
- void_int* faceconn )
-{
- int connid = -1;
- int econnid = -1;
- int fconnid = -1;
-
- int blk_id_ndx, status;
-
- int numnodperentdim = -1;
- int numedgperentdim = -1;
- int numfacperentdim = -1;
-
- int iexit = (EX_NOERR); /* exit status */
-
- size_t num_nodes_per_entry = 0;
- size_t num_edges_per_entry = 0;
- size_t num_faces_per_entry = 0;
-
- char errmsg[MAX_ERR_LENGTH];
-
- const char* dnumnodent = NULL;
- const char* dnumedgent = NULL;
- const char* dnumfacent = NULL;
- const char* vnodeconn = NULL;
- const char* vedgeconn = NULL;
- const char* vfaceconn = NULL;
-
- /* Should we warn if edgeconn or faceconn are non-NULL?
- * No, fail silently so the same code can be used to read any type of block info.
- * However, we will warn if edgeconn or faceconn are NULL but num_edges_per_entry
- * or num_faces_per_entry (respectively) are positive.
- */
- exerrval = 0; /* clear error code */
-
- /* Locate index of element block id in VAR_ID_EL_BLK array */
-
- blk_id_ndx = ex_id_lkup(exoid,blk_type,blk_id);
- if (exerrval != 0)
- {
- if (exerrval == EX_NULLENTITY)
- {
- sprintf(errmsg,
- "Warning: no connectivity array for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg,EX_MSG);
- return (EX_WARN); /* no connectivity array for this element block */
- }
- else
- {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- switch (blk_type) {
- case EX_EDGE_BLOCK:
- dnumnodent = DIM_NUM_NOD_PER_ED(blk_id_ndx);
- dnumedgent = 0;
- dnumfacent = 0;
- vnodeconn = VAR_EBCONN(blk_id_ndx);
- vedgeconn = 0;
- vfaceconn = 0;
- break;
- case EX_FACE_BLOCK:
- dnumnodent = DIM_NUM_NOD_PER_FA(blk_id_ndx);
- dnumedgent = 0;
- dnumfacent = 0;
- vnodeconn = VAR_FBCONN(blk_id_ndx);
- vedgeconn = 0;
- vfaceconn = 0;
- break;
- case EX_ELEM_BLOCK:
- dnumnodent = DIM_NUM_NOD_PER_EL(blk_id_ndx);
- dnumedgent = DIM_NUM_EDG_PER_EL(blk_id_ndx);
- dnumfacent = DIM_NUM_FAC_PER_EL(blk_id_ndx);
- vnodeconn = VAR_CONN(blk_id_ndx);
- vedgeconn = VAR_ECONN(blk_id_ndx);
- vfaceconn = VAR_FCONN(blk_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized block type in switch: %d in file id %d",
- blk_type,exoid);
- ex_err("ex_get_conn",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
- /* inquire id's of previously defined dimensions */
-
- num_nodes_per_entry = 0;
- if ((status = nc_inq_dimid (exoid, dnumnodent, &numnodperentdim)) != NC_NOERR) {
- numnodperentdim = -1;
- } else {
- if ((status = nc_inq_dimlen(exoid, numnodperentdim, &num_nodes_per_entry)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes/entity for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
-
- if ( dnumedgent ) {
- num_edges_per_entry = 0;
- if ((status = nc_inq_dimid(exoid, dnumedgent, &numedgperentdim)) != NC_NOERR) {
- numedgperentdim = -1;
- } else {
- if ((status = nc_inq_dimlen(exoid, numedgperentdim, &num_edges_per_entry)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of edges/entry for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
- }
-
- if ( dnumfacent ) {
- num_faces_per_entry = 0;
- if ((status = nc_inq_dimid(exoid, dnumfacent, &numfacperentdim)) != NC_NOERR) {
- numfacperentdim = -1;
- } else {
- if ((status = nc_inq_dimlen(exoid, numfacperentdim, &num_faces_per_entry)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of faces/entry for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
- }
-
-
- status = 0;
- if (nodeconn && (numnodperentdim >= 0) &&
- ((status = nc_inq_varid(exoid, vnodeconn, &connid)) != NC_NOERR))
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate node connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- status = 0;
- if (edgeconn && (numedgperentdim >= 0) &&
- ((status = nc_inq_varid (exoid, vedgeconn, &econnid)) != NC_NOERR))
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate edge connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- if (faceconn && (numfacperentdim >= 0) &&
- ((status = nc_inq_varid (exoid, vfaceconn, &fconnid)) != NC_NOERR))
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate face connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
-
- /* read in the connectivity array */
- if ( edgeconn && num_edges_per_entry > 0) {
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, econnid, edgeconn);
- } else {
- status = nc_get_var_int(exoid, econnid, edgeconn);
- }
-
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get edge connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
-
- if ( faceconn && num_faces_per_entry > 0) {
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, fconnid, faceconn);
- } else {
- status = nc_get_var_int(exoid, fconnid, faceconn);
- }
-
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get face connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
-
- if ( nodeconn && num_nodes_per_entry > 0) {
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, connid, nodeconn);
- } else {
- status = nc_get_var_int(exoid, connid, nodeconn);
- }
-
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get node connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
-
- return iexit;
-}
diff --git a/cbind/src/ex_get_coord.c b/cbind/src/ex_get_coord.c
deleted file mode 100644
index 920e013..0000000
--- a/cbind/src/ex_get_coord.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-The function ex_get_coord() reads the nodal coordinates of the
-nodes. Memory must be allocated for the coordinate arrays (\c x_coor,
-\c y_coor, and \c z_coor) before this call is made. The length of each
-of these arrays is the number of nodes in the mesh.
-
-Because the coordinates are floating point values, the application
-code must declare the arrays passed to be the appropriate type
-(\c float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return
-In case of an error, ex_get_coord() returns a negative number;
-a warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - a warning value is returned if nodal coordinates were not stored.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] x_coor Returned X coordinates of the nodes. If this is \c NULL, the
- X-coordinates will not be read.
-\param[out] y_coor Returned Y coordinates of the nodes. These are returned only if
- \c num_dim > 1; otherwise, pass in \c NULL. If this
- is \c NULL, the Y-coordinates will not be read.
-\param[out] z_coor Returned Z coordinates of the nodes. These are returned only if
- \c num_dim > 2; otherwise, pass in \c NULL. If this
- is \c NULL, the Z-coordinates will not be read.
-
-The following code segment will read the nodal coordinates
-from an open exodus file :
-
-\code
-int error, exoid;
-
-double *x, *y, *z;
-
-\comment{read nodal coordinates values from database}
-x = (double *)calloc(num_nodes, sizeof(double));
-y = (double *)calloc(num_nodes, sizeof(double));
-if (num_dim >= 3)
- z = (double *)calloc(num_nodes, sizeof(double));
-else
- z = 0;
-
-error = ex_get_coord(exoid, x, y, z);
-
-\comment{Do the same as the previous call in three separate calls}
-error = ex_get_coord(exoid, x, NULL, NULL);
-error = ex_get_coord(exoid, NULL, y, NULL);
-if (num_dim >= 3)
- error = ex_get_coord(exoid, NULL, NULL, z);
-\endcode
-
-*/
-
-int ex_get_coord (int exoid,
- void *x_coor,
- void *y_coor,
- void *z_coor)
-{
- int status;
- int coordid;
- int coordidx, coordidy, coordidz;
-
- int numnoddim, ndimdim;
- size_t num_nod, num_dim, start[2], count[2], i;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0;
-
- /* inquire id's of previously defined dimensions */
-
- if (ex_get_dimension(exoid, DIM_NUM_DIM, "dimensions",
- &num_dim, &ndimdim, "ex_get_coord") != NC_NOERR) {
- return(EX_FATAL);
- }
-
- if (nc_inq_dimid (exoid, DIM_NUM_NODES, &numnoddim) != NC_NOERR)
- {
- /* If not found, then this file is storing 0 nodes.
- Return immediately */
- return (EX_NOERR);
- }
-
- if ((status = nc_inq_dimlen(exoid, numnoddim, &num_nod)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes in file id %d",
- exoid);
- ex_err("ex_get_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read in the coordinates */
- if (ex_large_model(exoid) == 0) {
- if ((status = nc_inq_varid (exoid, VAR_COORD, &coordid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate nodal coordinates in file id %d", exoid);
- ex_err("ex_get_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- for (i=0; i<num_dim; i++) {
- char *which;
- start[0] = i;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = num_nod;
-
- if (i == 0 && x_coor != NULL) {
- which = "X";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, coordid, start, count, x_coor);
- } else {
- status = nc_get_vara_double(exoid, coordid, start, count, x_coor);
- }
- }
- else if (i == 1 && y_coor != NULL) {
- which = "Y";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, coordid, start, count, y_coor);
- } else {
- status = nc_get_vara_double(exoid, coordid, start, count, y_coor);
- }
- }
- else if (i == 2 && z_coor != NULL) {
- which = "Z";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, coordid, start, count, z_coor);
- } else {
- status = nc_get_vara_double(exoid, coordid, start, count, z_coor);
- }
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s coord array in file id %d", which, exoid);
- ex_err("ex_get_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- } else {
- if ((status = nc_inq_varid (exoid, VAR_COORD_X, &coordidx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate x nodal coordinates in file id %d", exoid);
- ex_err("ex_get_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_dim > 1) {
- if ((status = nc_inq_varid (exoid, VAR_COORD_Y, &coordidy)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate y nodal coordinates in file id %d", exoid);
- ex_err("ex_get_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- coordidy = 0;
- }
-
- if (num_dim > 2) {
- if ((status = nc_inq_varid (exoid, VAR_COORD_Z, &coordidz)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate z nodal coordinates in file id %d", exoid);
- ex_err("ex_get_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- coordidz = 0;
- }
-
- /* write out the coordinates */
- for (i=0; i<num_dim; i++)
- {
- void *coor = NULL;
- char *which = NULL;
-
- if (i == 0) {
- coor = x_coor;
- which = "X";
- coordid = coordidx;
- } else if (i == 1) {
- coor = y_coor;
- which = "Y";
- coordid = coordidy;
- } else if (i == 2) {
- coor = z_coor;
- which = "Z";
- coordid = coordidz;
- }
-
- if (coor != NULL && coordid != 0) {
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_var_float(exoid, coordid, coor);
- } else {
- status = nc_get_var_double(exoid, coordid, coor);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s coord array in file id %d", which, exoid);
- ex_err("ex_get_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_coord_names.c b/cbind/src/ex_get_coord_names.c
deleted file mode 100644
index b56d25f..0000000
--- a/cbind/src/ex_get_coord_names.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_get_coord_names() reads the names (\p MAX_STR_LENGTH
--characters in length) of the coordinate arrays from the
-database. Memory must be allocated for the character strings before
-this function is invoked.
-
-\return In case of an error, ex_get_coord_names() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - a warning value is returned if coordinate names were not stored.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] coord_names Returned pointer to a vector containing \c num_dim names of the nodal
- coordinate arrays.
-
-The following code segment will read the coordinate names from an open
-exodus file :
-
-\code
-int error, exoid;
-char *coord_names[3];
-
-for (i=0; i < num_dim; i++) {
- coord_names[i] = (char *)calloc((MAX_STR_LENGTH+1), sizeof(char));
-}
-
-error = ex_get_coord_names (exoid, coord_names);
-\endcode
-
-*/
-
-int ex_get_coord_names (int exoid,
- char **coord_names)
-{
- int status;
- int ndimdim, varid;
- size_t num_dim;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0;
-
- /* inquire previously defined dimensions and variables */
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_DIM, &ndimdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of dimensions in file id %d",
- exoid);
- ex_err("ex_get_coord_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, ndimdim, &num_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of dimensions in file id %d",
- exoid);
- ex_err("ex_get_coord_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_NAME_COOR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: failed to locate coordinate names in file id %d",
- exoid);
- ex_err("ex_get_coord_names",errmsg,exerrval);
- return (EX_WARN);
- }
-
-
- /* read the coordinate names */
- status = ex_get_names_internal(exoid, varid, num_dim, coord_names, EX_COORDINATE, "ex_get_coord_names");
- if (status != NC_NOERR) {
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_coordinate_frames.c b/cbind/src/ex_get_coordinate_frames.c
deleted file mode 100644
index 1909dd1..0000000
--- a/cbind/src/ex_get_coordinate_frames.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgfrm - ex_get_coordinate_frames: read coordinate frames
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* NOTE:
-* cf_ids, pt_coordinates and tags may all be NULL, otherwise, they
-* must have sufficient memory to store the output data. Two calls
-* to this routine are anticipated (one to get nframes, the second
-* to fill the data. i.e.
-* ex_get_coordinate_frames(exoid,&nframes,0,0,0);
-* ... allocate memory ...
-* ex_get_coordinate_frames(exoid,&nframe,id,coords,tags);
-*
-*
-* output conditions -
-* int* nframes number of coordinate frames in model
-* const int* cf_ids coordinate ids
-* dimension int[nframes]
-* const void* pt_coordinates pointer to coordinates. 9 values per
-* coordinate frame
-* dimension float[9*nframes]
-* const char* tags character tag for each frame.
-* 'r' - rectangular
-* 'c' - cylindrical
-* 's' - spherical
-* dimension char[nframes]
-*
-* returns -
-* EX_NOERR for no error
-* EX_FATAL for fatal errors
-*
-*****************************************************************************/
-
-#include <assert.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/* -------------------- local defines --------------------------- */
-#define PROCNAME "ex_get_coordinate_frames"
-/* -------------------- end of local defines -------------------- */
-/*!
- * Coordinate frames are stored in the database as a series of three
- * points (defined in the basic cartesian coordinate system). The
- * first of these points describes the origin of the new system. The
- * second point lies on the 3 axis (or Z axis) of the frame. The third
- * point is in the 1-3 (xz) plane. Each coordinate frame is identified
- * by a unique, integer coordinate ID, and by a character tag
- * indicating whether the frame is rectangular cartesian
- * "R", cylindrical "C, or spherical "S".
- * Because the coordinates are floating point values,
- * the application code must declare the arrays passed to be the
- * appropriate type "float" or "double" to match the
- * compute word size passed in ex_create() or
- * ex_open().
- * \param exoid exodus file id
- * \param[in,out] nframes if 'cf_ids' is NULL, then nframes is returned with the number
- * of defined coordinate frames. Else it is the number of coordinate
- * frames to read.
- * \param[out] cf_ids The (nframes) coordinate frame Ids. If cf_ids is
- * NULL, no data will be returned in this or any other array. Only
- * nframes will be modified. Otherwise, space must be allocated to
- * store 'nframes' integers before making this call.
- * \param[out] pt_coordinates The (9*nframes) coordinates of the three
- * points defining each coordinate axis. The first three values are
- * the origin of the first frame. The next three values are the
- * coordinates of a point on the 3rd axis of the first frame. The next
- * three values are the coordinates of a point in the plane of the 1-3
- * axis. The pattern is repeated for each frame. If 'cf_ids'
- * is null, no data will be returned in this array. Otherwise, space
- * must be allocated for 9*nframes floating point values. The size of
- * the allocation depends upon the compute word size.
- * \param[out] tags The (nframes) character tags associated with each
- * coordinate frame. If 'cf_ids' is NULL, no data will be
- * returned in this array. Otherwise, space must be allocated for
- * 'nframes' characters.
- */
-
- int ex_get_coordinate_frames( int exoid,
- int *nframes,
- void_int *cf_ids,
- void* pt_coordinates,
- char* tags)
-
-{
- int status;
- int dimid; /* ID of the dimension of # frames */
- char errmsg[MAX_ERR_LENGTH];
- int varids; /* variable id for the frame ids */
- size_t start=0; /* start value for varputs */
- size_t count; /* number vars to put in varput */
-
- /* get the dimensions */
- assert( nframes !=NULL );
- status = nc_inq_dimid(exoid, DIM_NUM_CFRAMES, &dimid);
- if (status != NC_NOERR){
- *nframes=0;
- return EX_NOERR;
- }
-
- nc_inq_dimlen(exoid,dimid,&count);
- *nframes=(int)count;
-
- if ( count==0 )
- return (EX_NOERR);
-
- if ( cf_ids ) {
- if ((status = nc_inq_varid(exoid,VAR_FRAME_IDS, &varids))!= NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to read number coordinate ids from file id %d",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_get_var_longlong(exoid,varids,cf_ids);
- } else {
- status = nc_get_var_int(exoid,varids,cf_ids);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to read coordinate frame ids from file id %d",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if ( tags )
- if ( (status = nc_inq_varid(exoid,VAR_FRAME_TAGS,&varids))!= NC_NOERR ||
- (nc_get_vara_text(exoid,varids,&start,&count,tags) != NC_NOERR)) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to read number coordinate tags from file id %d",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (pt_coordinates ){
- if ( (status = nc_inq_varid(exoid,VAR_FRAME_COORDS,&varids))!= NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to read number coordinate tags from file id %d",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_var_float(exoid,varids,pt_coordinates);
- } else {
- status = nc_get_var_double(exoid,varids,pt_coordinates);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to read number coordinate tags from file id %d",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_eb_info_global.c b/cbind/src/ex_get_eb_info_global.c
deleted file mode 100644
index 73b575d..0000000
--- a/cbind/src/ex_get_eb_info_global.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_get_eb_info_global()
- *****************************************************************************
- * This function retrieves the global parameters of all the element blocks
- * associated with a geometry.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * el_blk_ids - Pointer to vector of global element block IDs.
- * el_blk_cnts - Pointer to vector of global element block counts.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_get_eb_info_global(int exoid,
- void_int *el_blk_ids,
- void_int *el_blk_cnts)
-{
- const char *func_name="ex_get_eb_info_global";
-
- int varid, status;
-
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Find the variable ID for the element block IDs */
- if ((status = nc_inq_varid(exoid, VAR_ELBLK_IDS_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_ELBLK_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the global element block IDs */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_get_var_longlong(exoid, varid, el_blk_ids);
- } else {
- status = nc_get_var_int(exoid, varid, el_blk_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_ELBLK_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Find the variable ID for the element block counts */
- if ((status = nc_inq_varid(exoid, VAR_ELBLK_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_ELBLK_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the global element block counts */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, varid, el_blk_cnts);
- } else {
- status = nc_get_var_int(exoid, varid, el_blk_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_ELBLK_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_elem_attr.c b/cbind/src/ex_get_elem_attr.c
deleted file mode 100644
index afb3d9f..0000000
--- a/cbind/src/ex_get_elem_attr.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_get_attr()(exoid, EX_ELEM_BLOCK, elem_blk_id, attrib) instead
-
-The function ex_get_elem_attr() reads the attributes for an element
-block. Memory must be allocated for(\c num_attr x \c num_elem_this_blk)
-attributes before this routine is called.
-
-Because the attributes are floating point values, the application code
-must declare the array passed to be the appropriate type (\c float or
-\c double) to match the compute word size passed in ex_create() or
-ex_open().
-
-\return In case of an error, ex_get_elem_attr() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - invalid element block ID.
- - a warning value is returned if no attributes are stored in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] elem_blk_id The element block ID.
-\param[out] attrib Size [num_elem_this_blk*num_attr].
- Returned list of(\c num_attr x num_elem_this_blk) attributes for
- the element block, with the \c num_attr index cycling faster.
-
-
-Refer to the code example in ex_get_elem_block() for an example
-of reading the element attributes for an element block.
- */
-
-int ex_get_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- void *attrib)
-{
- return ex_get_attr( exoid, EX_ELEM_BLOCK, elem_blk_id, attrib );
-}
diff --git a/cbind/src/ex_get_elem_attr_names.c b/cbind/src/ex_get_elem_attr_names.c
deleted file mode 100644
index b045cc5..0000000
--- a/cbind/src/ex_get_elem_attr_names.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgeat - ex_get_elem_attr_names
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int elem_blk_id element block id
-*
-* exit conditions -
-* char* names[] ptr array of attribute names
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the attribute names for an element block
- * \deprecated Use ex_get_attr_names()(exoid, EX_ELEM_BLOCK, elem_blk_id, names) instead
- */
-int ex_get_elem_attr_names (int exoid,
- ex_entity_id elem_blk_id,
- char **names)
-{
- return ex_get_attr_names( exoid, EX_ELEM_BLOCK, elem_blk_id, names );
-}
diff --git a/cbind/src/ex_get_elem_blk_ids.c b/cbind/src/ex_get_elem_blk_ids.c
deleted file mode 100644
index 58e4255..0000000
--- a/cbind/src/ex_get_elem_blk_ids.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_get_ids()(exoid, EX_ELEM_BLOCK, ids) instead
-
-The function ex_get_elem_blk_ids() reads the IDs of all of the element
-blocks. Memory must be allocated for the returned array of
-({num_elem_blk}) IDs before this function is invoked. The required
-size(\c num_elem_blk) can be determined via a call to ex_inquire() or
-ex_inquire_int().
-
-\return In case of an error, ex_get_elem_blk_ids() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
-
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] ids Returned array of the element blocks IDs. The order of the IDs in this
- array reflects the sequence that the element blocks were introduced
- into the file.
-
-The following code segment reads all the element block IDs:
-
-\code
-int error, exoid, *idelbs, num_elem_blk;
-idelbs = (int *) calloc(num_elem_blk, sizeof(int));
-
-error = ex_get_elem_blk_ids (exoid, idelbs);
-
-\comment{Same result using non-deprecated functions}
-error = ex_get_ids (exoid, EX_ELEM_BLOCK, idelbs);
-
-\endcode
-
-
- */
-
-int ex_get_elem_blk_ids (int exoid,
- void_int *ids)
-{
- /* ex_get_elem_blk_ids should be deprecated. */
- return ex_get_ids( exoid, EX_ELEM_BLOCK, ids );
-}
diff --git a/cbind/src/ex_get_elem_block.c b/cbind/src/ex_get_elem_block.c
deleted file mode 100644
index 798d830..0000000
--- a/cbind/src/ex_get_elem_block.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-#include "exodusII.h"
-
-/**
-\deprecated Use ex_get_block()(exoid, EX_ELEM_BLOCK, elem_blk_id, elem_type, num_elem_this_blk, num_nodes_per_elem, num_attr) instead
-
-The function ex_get_elem_block() reads the parameters used to describe
-an element block. IDs of all element blocks stored can be determined
-by calling ex_get_elem_blk_ids().
-
-\return In case of an error, ex_get_elem_block() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - element block with specified ID is not stored in the data file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] elem_blk_id The element block ID.
-\param[out] elem_type Returned element typetype of elements in the element block.
- The maximum length of this string is \p MAX_STR_LENGTH .
-\param[out] num_elem_this_blk Returned number of elements in the element block.
-\param[out] num_nodes_per_elem Returned number of nodes per element in the element block.
-\param[out] num_attr Returned number of attributes per element in the element block.
-
-As an example, the following code segment will read the parameters for
-the element block with an ID of 10 and read the connectivity and
-element attributes arrays from an open exodus file :
-
-\code
-#include "exodusII.h"
-int id, error, exoid, num_el_in_blk, num_nod_per_el, num_attr,
- *connect;
-float *attrib;
-char elem_type[MAX_STR_LENGTH+1];
-
-\comment{read element block parameters}
-id = 10;
-
-error = ex_get_elem_block(exoid, id, elem_type, &num_el_in_blk,
- &num_nod_per_elem, &num_attr);
-
-\comment{read element connectivity}
-connect = (int *) calloc(num_nod_per_el*num_el_in_blk,
- sizeof(int));
-
-error = ex_get_elem_conn(exoid, id, connect);
-
-\comment{read element block attributes}
-attrib = (float *) calloc (num_attr * num_el_in_blk, sizeof(float));
-error = ex_get_elem_attr (exoid, id, attrib);
-
-\comment{Same result using non-deprecated functions}
-error = ex_get_block(exoid, EX_ELEM_BLOCK, id, elem_type, &num_el_in_blk,
- &num_nod_per_elem, 0, 0, &num_attr);
-error = ex_get_conn (exoid, EX_ELEM_BLOCK, id, connect);
-error = ex_get_attr (exoid, EX_ELEM_BLOCK, id, attrib);
-
-\endcode
-
- */
-
-int ex_get_elem_block (int exoid,
- ex_entity_id elem_blk_id,
- char *elem_type,
- void_int *num_elem_this_blk,
- void_int *num_nodes_per_elem,
- void_int *num_attr)
-
-{
- return ex_get_block( exoid, EX_ELEM_BLOCK, elem_blk_id, elem_type,
- num_elem_this_blk, num_nodes_per_elem, 0, 0, num_attr );
-}
diff --git a/cbind/src/ex_get_elem_cmap.c b/cbind/src/ex_get_elem_cmap.c
deleted file mode 100644
index 7f1380f..0000000
--- a/cbind/src/ex_get_elem_cmap.c
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/****************************************************************************/
-/****************************************************************************/
-/* Function(s) in this file:
- * ex_get_elem_cmap()
- ****************************************************************************
- * This function retrieves an elemental communication map.
- ****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * map_id - The ID of the nodal communication map to retrieve.
- * elem_ids - Pointer to vector for retrieval of FEM element IDs
- * that make up this communication map.
- * side_ids - Pointer to vector for retrieval of FEM element
- * side IDs that make up this communication map.
- * proc_ids - Pointer to vector for retrieval of the processors
- * associated with each of the elements in this
- * elemental communication map.
- * processor - The processor the file being read was written for.
- */
-/****************************************************************************/
-/****************************************************************************/
-/****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_get_elem_cmap(int exoid,
- ex_entity_id map_id,
- void_int *elem_ids,
- void_int *side_ids,
- void_int *proc_ids,
- int processor
- )
-{
- const char *func_name="ex_get_elem_cmap";
-
- int map_idx, dimid, varid[3], status;
- size_t start[1], count[1];
- int64_t varidx[2];
-
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* get the cmap information variables index */
- if (ex_get_idx(exoid, VAR_E_COMM_INFO_IDX, varidx, processor) == -1) {
- exerrval = -1;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_E_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /*
- * no need to check if the second index is -1 that is handled
- * in ne_id_lkup, where the dimension must be looked up anyways
- */
-
- /* Get the index of the elemental comm map with the given ID */
- if ((map_idx=ne_id_lkup(exoid, VAR_E_COMM_IDS, varidx, map_id)) < 0) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: failed to find elemental comm map with ID %"PRId64" in file \
-ID %d",
- map_id, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* get the cmap data variables index for this map */
- if (ex_get_idx(exoid, VAR_E_COMM_DATA_IDX, varidx, map_idx) == -1) {
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_E_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (varidx[1] == -1) {
- /* Get the dimension of this elemental communication map */
- if ((status = nc_inq_dimid(exoid, DIM_ECNT_CMAP, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_ECNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_ECNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- varidx[1] = count[0];
- }
-
- /* Get the variable ID for the elemental comm map node IDs */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_EIDS, &varid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_EIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the elemental side set IDs */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_SIDS, &varid[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_SIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the elemental comm map processor IDs */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_PROC, &varid[2])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the elemental comm map element IDs */
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid[0], start, count, elem_ids);
- } else {
- status = nc_get_vara_int(exoid, varid[0], start, count, elem_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_E_COMM_EIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the elemental comm map side IDs */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid[1], start, count, side_ids);
- } else {
- status = nc_get_vara_int(exoid, varid[1], start, count, side_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_E_COMM_SIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the elemental comm map processor IDs */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid[2], start, count, proc_ids);
- } else {
- status = nc_get_vara_int(exoid, varid[2], start, count, proc_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_E_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_elem_conn.c b/cbind/src/ex_get_elem_conn.c
deleted file mode 100644
index 396c23b..0000000
--- a/cbind/src/ex_get_elem_conn.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_get_conn()(exoid, EX_ELEM_BLOCK, elem_blk_id, connect, 0, 0) instead
-
-The function ex_get_elem_conn() reads the connectivity array for an
-element block. Memory must be allocated for the connectivity array(\c
-num_elem_this_blk * \c num_nodes_per_elem in length) before
-this routine is called.
-
-\return In case of an error, ex_get_elem_conn() returns a negative number; a
-warning will return a positive number. Possible causes of errors
-include:
- - an element block with the specified ID is not stored in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] elem_blk_id The element block ID.
-\param[out] connect Size [num_elem_this_blk,num_nodes_per_elem].
- Returned connectivity array; a list of nodes (internal node
- IDs; See Section LocalNodeIds) that define each element. The
- node index cycles faster than the element index.
-
-Refer to the code example in ex_get_elem_block() for an example of
-reading the connectivity for an element block.
-
- */
-
-int ex_get_elem_conn (int exoid,
- ex_entity_id elem_blk_id,
- void_int *connect)
-{
- return ex_get_conn( exoid, EX_ELEM_BLOCK, elem_blk_id, connect, 0, 0 );
-}
diff --git a/cbind/src/ex_get_elem_map.c b/cbind/src/ex_get_elem_map.c
deleted file mode 100644
index f071976..0000000
--- a/cbind/src/ex_get_elem_map.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgem - ex_get_elem_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_id element map id
-*
-* exit conditions -
-* int* elem_map element map
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the element map with specified ID
- * \deprecated Use ex_get_num_map()(exoid, EX_ELEM_MAP, map_id, elem_map) instead
- */
-
-int ex_get_elem_map (int exoid,
- ex_entity_id map_id,
- void_int *elem_map)
-{
- return ex_get_num_map( exoid, EX_ELEM_MAP, map_id, elem_map );
-}
diff --git a/cbind/src/ex_get_elem_num_map.c b/cbind/src/ex_get_elem_num_map.c
deleted file mode 100644
index 5fc94c9..0000000
--- a/cbind/src/ex_get_elem_num_map.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgenm - ex_get_elem_num_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-* int* elem_map element number map array
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_get_id_map()(exoid, EX_ELEM_MAP, elem_map)
-
-The function ex_get_elem_num_map() reads the optional element number
-map from the database. See Section LocalElementIds for a description of
-the element number map. If an element number map is not stored in the
-data file, a default array (1,2,3,. .. \c num_elem) is
-returned. Memory must be allocated for the element number map array
-({num_elem} in length) before this call is made.
-
-\return In case of an error, ex_get_elem_num_map() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - if an element number map is not stored, a default map and a warning value are returned.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] elem_map Returned element number map.
-
-The following code will read an element number map from an
-open exodus file :
-\code
-int *elem_map, error, exoid;
-
-\comment{read element number map}
-elem_map = (int *) calloc(num_elem, sizeof(int));
-error = ex_get_elem_num_map (exoid, elem_map);
-
-\comment{Equivalent using non-deprecated function}
-error = ex_get_id_map(exoid, EX_ELEM_MAP, elem_map);
-\endcode
- */
-
-int ex_get_elem_num_map (int exoid,
- void_int *elem_map)
-{
- return ex_get_id_map(exoid, EX_ELEM_MAP, elem_map);
-}
diff --git a/cbind/src/ex_get_elem_type.c b/cbind/src/ex_get_elem_type.c
deleted file mode 100644
index 7b32fe1..0000000
--- a/cbind/src/ex_get_elem_type.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_elem_type()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_blk_id - The element block ID to find the element type
- * for.
- * elem_type - The returned name of the element.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_elem_type (int exoid,
- ex_entity_id elem_blk_id,
- char *elem_type)
-/*
- * Reads the element type for a specific element block
- * elem_type is assumed to have a length of MAX_STR_LENGTH+1
- */
-{
- const char *func_name="ex_get_elem_type";
-
- int connid, el_blk_id_ndx, status;
- size_t len;
- char errmsg[MAX_ERR_LENGTH];
-
-/*****************************************************************************/
-
- /* inquire id's of previously defined dimensions */
- if ((el_blk_id_ndx=ex_id_lkup(exoid, EX_ELEM_BLOCK, elem_blk_id)) == -1) {
- sprintf(errmsg,
- "Error: failed to find element block ID %"PRId64" in file %d",
- elem_blk_id, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_CONN(el_blk_id_ndx), &connid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find connectivity variable in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* get the element type name */
- if ((status = nc_inq_attlen(exoid, connid, ATT_NAME_ELB, &len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find attribute in file ID %d", exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (len > (MAX_STR_LENGTH+1)) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: Element type must be of length %d in file ID %d",
- (int)len, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Make sure the end of the string is terminated with a null character */
- elem_type[MAX_STR_LENGTH] = '\0';
-
- if ((status = nc_get_att_text(exoid, connid, ATT_NAME_ELB, elem_type)) != NC_NOERR ) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get attribute \"%s\" in file ID %d",
- ATT_NAME_ELB, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_elem_var.c b/cbind/src/ex_get_elem_var.c
deleted file mode 100644
index 3648143..0000000
--- a/cbind/src/ex_get_elem_var.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\deprecated Use ex_get_var()(exoid, time_step, EX_ELEM_BLOCK, elem_var_index, elem_blk_id, num_elem_this_blk, elem_var_vals) instead
-
-The function ex_get_elem_var() reads the values of a single element
-variable for one element block at one time step. Memory must be
-allocated for the element variable values array before this function
-is invoked.
-
-Because element variables are floating point values, the application
-code must declare the array passed to be the appropriate type (\c
-float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_get_elem_var() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - variable does not exist for the desired element block.
- - invalid element block.
-
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] time_step The time step number, as described under ex_put_time(), at
- which the element variable values are desired. This is essentially an
- index (in the time dimension) into the element variable values array
- stored in the database. The first time step is 1.
-
-\param[in] elem_var_index The index of the desired element variable. The first variable
- has an index of 1.
-
-\param[in] elem_blk_id The desired element block ID.
-
-\param[in] num_elem_this_blk The number of elements in this element block.
-
-\param[out] elem_var_vals Returned array of \c num_elem_this_blk values of the \c elem_var_index
- element variable for the element block with ID of \c elem_blk_id
- at the \c time_step time step.
-
-
-As an example, the following code segment will read the \c
-var_index-th element variable at one time step stored in an exodus
-file :
-
-\code
-int *ids, num_elem_blk, error, exoid, *num_elem_in_block,
- step, var_ind;
-
-float *var_vals;
-
-ids = (int *) calloc(num_elem_blk, sizeof(int));
-error = ex_get_elem_blk_ids (exoid, ids);
-
-step = 1; \comment{read at the first time step}
-for (i=0; i < num_elem_blk; i++) {
- var_vals = (float *) calloc (num_elem_in_block[i], sizeof(float));
- error = ex_get_elem_var (exoid, step, var_ind, ids[i],
- num_elem_in_block[i], var_vals);
-
-\comment{Using non-deprecated function:}
- error = ex_get_var (exoid, step, EX_ELEM_BLOCK, var_ind, ids[i],
- num_elem_in_block[i], var_vals);
-
- free (var_values);
-}
-\endcode
-
-*/
-
-int ex_get_elem_var (int exoid,
- int time_step,
- int elem_var_index,
- ex_entity_id elem_blk_id,
- int64_t num_elem_this_blk,
- void *elem_var_vals)
-{
- return ex_get_var( exoid, time_step, EX_ELEM_BLOCK, elem_var_index, elem_blk_id, num_elem_this_blk, elem_var_vals );
-}
diff --git a/cbind/src/ex_get_elem_var_tab.c b/cbind/src/ex_get_elem_var_tab.c
deleted file mode 100644
index eb2cd33..0000000
--- a/cbind/src/ex_get_elem_var_tab.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvtt - ex_get_elem_var_tab
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_elem_blk number of element blocks
-* int num_elem_var number of element variables
-*
-* exit conditions -
-* int* elem_var_tab element variable truth table array
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\deprecated Use ex_get_truth_table()(exoid, EX_ELEM_BLOCK, num_elem_blk, num_elem_var, elem_var_tab)
-
-The function ex_get_elem_var_tab() reads the exodus element variable
-truth table from the database. For a description of the truth table,
-see the usage of the function ex_put_elem_var_tab(). Memory must be
-allocated for the truth table(\c num_elem_blk \b x \c
-num_elem_var in length) before this function is invoked. If the truth
-table is not stored in the file, it will be created based on
-information in the file and then returned.
-
-\return In case of an error, ex_get_elem_var_tab() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file not initialized properly with call to ex_put_init().
- - the specified number of element blocks is different than the
- number specified in a call to ex_put_init().
- - there are no element variables stored in the file or the
- specified number of element variables doesn't match the number
- specified in a call to ex_put_variable_param().
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] num_elem_blk The number of element blocks.
-\param[in] num_elem_var The number of element variables.
-\param[out] elem_var_tab Size [num_elem_blk,num_elem_var].
- Returned 2-dimensional array (with the \c num_elem_var index cycling
- faster) containing the element variable truth table.
-
-As an example, the following coding will read the element
-variable truth table from an opened exodus file :
-
-\code
-int *truth_tab, num_elem_blk, num_ele_vars, error, exoid;
-
-truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars),
- sizeof(int));
-
-error = ex_get_elem_var_tab (exoid, num_elem_blk, num_ele_vars,
- truth_tab);
-\endcode
-
- */
-
-int ex_get_elem_var_tab (int exoid,
- int num_elem_blk,
- int num_elem_var,
- int *elem_var_tab)
-{
- return ex_get_truth_table(exoid, EX_ELEM_BLOCK, num_elem_blk, num_elem_var, elem_var_tab);
-}
diff --git a/cbind/src/ex_get_elem_var_time.c b/cbind/src/ex_get_elem_var_time.c
deleted file mode 100644
index a19979b..0000000
--- a/cbind/src/ex_get_elem_var_time.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgevt - ex_get_elem_var_time
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int elem_var_index element variable index
-* int elem_number element number
-* int beg_time_step time step number
-* int end_time_step time step number
-*
-* exit conditions -
-* float* elem_var_vals array of element variable values
-*
-* revision history -
-* 20061002 - David Thompson - Moved to ex_get_var_time.
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\deprecated Use ex_get_var_time()(exoid, EX_ELEM_BLOCK, elem_var_index, elem_number, beg_time_step, end_time_step, elem_var_vals)
-
-The function ex_get_elem_var_time() reads the values of an element
-variable for a single element through a specified number of time
-steps. Memory must be allocated for the element variable values array
-before this function is invoked.
-
-Because element variables are floating point values, the application
-code must declare the array passed to be the appropriate type (\c
-float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_get_elem_var_time() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file not initialized properly with call to ex_put_init().
- - ex_put_elem_block() not called previously to specify
- parameters for all element blocks.
- - variable does not exist for the desired element or results
- haven't been written.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create()
- or ex_open().
-\param[in] elem_var_index The index of the desired element variable. The first variable has an
- index of 1.
-\param[in] elem_number The internal ID (see Section LocalElementIds) of the desired
- element. The first element is 1.
-\param[in] beg_time_step The beginning time step for which an element variable value is
- desired. This is not a time value but rather a time step number, as
- described under ex_put_time(). The first time step is 1.
-\param[in] end_time_step The last time step for which an element variable value is desired. If
- negative, the last time step in the database will be used. The first
- time step is 1.
-\param[out] elem_var_vals returned array of(\c end_time_step {-} \c beg_time_step +
- 1) values of the \c elem_number-th element for the
- \c elem_var_index-th element variable.
-
-
-For example, the following coding will read the values of the \c
-var_index-th element variable for element number 2 from the first
-time step to the last time step:
-
-\code
-#include "exodusII.h"
-
-int error, exoid, num_time_steps, var_index, elem_num,
- beg_time, end_time;
-
-float *var_values;
-
-\comment{determine how many time steps are stored}
-num_time_steps = ex_inquire_int(exoid, EX_INQ_TIME);
-
-\comment{read an element variable through time}
-var_values = (float *) calloc (num_time_steps, sizeof(float));
-var_index = 2;
-
-elem_num = 2;
-
-beg_time = 1;
-end_time = -1;
-
-error = ex_get_elem_var_time (exoid, var_index, elem_num,
- beg_time, end_time, var_values);
-
-\comment{Using non-deprecated function:}
-error = ex_get_elem_var_time (exoid, EX_ELEM_BLOCK, var_index, elem_num,
- beg_time, end_time, var_values);
-\endcode
-
- */
-
-int ex_get_elem_var_time (int exoid,
- int elem_var_index,
- int64_t elem_number,
- int beg_time_step,
- int end_time_step,
- void *elem_var_vals)
-{
- return ex_get_var_time( exoid, EX_ELEM_BLOCK, elem_var_index, elem_number, beg_time_step, end_time_step, elem_var_vals );
-}
diff --git a/cbind/src/ex_get_entity_count_per_polyhedra.c b/cbind/src/ex_get_entity_count_per_polyhedra.c
deleted file mode 100644
index ea5c806..0000000
--- a/cbind/src/ex_get_entity_count_per_polyhedra.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgecpp - ex_get_entity_count_per_polyhedra
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*!
- * reads in the number of entities (nodes/faces) per polyhedra
- * (nsided/nfaced) in this element block.
- * \param exoid exodus file id
- * \param blk_type type of block (face, or element)
- * \param blk_id block identifer
- * \param entity_counts entity_per_polyhedra count array
- */
-
-int ex_get_entity_count_per_polyhedra (int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- int *entity_counts)
-{
- int npeid=-1, blk_id_ndx, status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- blk_id_ndx = ex_id_lkup(exoid,blk_type,blk_id);
- if (exerrval != 0)
- {
- if (exerrval == EX_NULLENTITY)
- {
- sprintf(errmsg,
- "Warning: entity_counts array not allowed for NULL %s block %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_entity_count_per_polyhedra",errmsg,EX_MSG);
- return (EX_WARN);
- }
- else
- {
- sprintf(errmsg,
- "Error: failed to locate %s block id %"PRId64" in id array in file id %d",
- ex_name_of_object(blk_type),blk_id, exoid);
- ex_err("ex_get_entity_count_per_polyhedra",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
-/* inquire id's of previously defined dimensions */
- switch (blk_type) {
- case EX_ELEM_BLOCK:
- status = nc_inq_varid (exoid, VAR_EBEPEC(blk_id_ndx), &npeid);
- break;
- case EX_FACE_BLOCK:
- status = nc_inq_varid (exoid, VAR_FBEPEC(blk_id_ndx), &npeid);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized block type in switch: %d in file id %d",
- blk_type,exoid);
- ex_err("ex_get_entity_count_per_polyhedra",errmsg,EX_MSG);
- return (EX_FATAL);
- }
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate entity_counts array for %s block %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_entity_count_per_polyhedra",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- status = nc_get_var_int(exoid, npeid, entity_counts);
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to read node counts array for %s block %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_entity_count_per_polyhedra",errmsg, exerrval);
- return(EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_glob_var_time.c b/cbind/src/ex_get_glob_var_time.c
deleted file mode 100644
index 1d44c89..0000000
--- a/cbind/src/ex_get_glob_var_time.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- The function ex_get_glob_var_time() reads the values of a
- single global variable through a specified number of time
- steps. Memory must be allocated for the global variable values array
- before this function is invoked.
-
- Because global variables are floating point values, the application
- code must declare the array passed to be the appropriate type
- (float or double) to match the compute word size passed in
- ex_create() or ex_open().
-
-\return In case of an error, ex_get_glob_var_time() returns a
- negative number; a warning will return a positive number. Possible
- causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - specified global variable does not exist.
- - a warning value is returned if no global variables are stored in the file.
-
- \param exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-
- \param glob_var_index The index of the desired global variable. The first variable has an index of 1.
-
- \param beg_time_step The beginning time step for which a global variable value is desired.
- This is not a time value but rather a time step number, as
- described under ex_put_time(). The first time step is 1.
-
- \param end_time_step The last time step for which a global variable value is desired. If
- negative, the last time step in the database will be used. The first
- time step is 1.
-
- \param[out] glob_var_vals Returned array of (end_time_step - beg_time_step + 1) values
- for the glob_var_index$^{th}$ global variable.
-
-The following is an example of using this function:
-
-\code
-#include "exodusII.h"
-int error, exoid, num_time_steps, var_index;
-int beg_time, end_time;
-
-float *var_values;
-
-num_time_steps = ex_inquire_int(exoid, EX_INQ_TIME);
-
-var_index = 1;
-beg_time = 1;
-end_time = -1;
-
-var_values = (float *) calloc (num_time_steps, sizeof(float));
-
-error = ex_get_glob_var_time(exoid, var_index, beg_time,
- end_time, var_values);
-\endcode
-
-*/
-
-int ex_get_glob_var_time (int exoid,
- int glob_var_index,
- int beg_time_step,
- int end_time_step,
- void *glob_var_vals)
-{
- int status;
- int varid;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if (end_time_step < 0) {
- /* user is requesting the maximum time step; we find this out using the
- * database inquire function to get the number of time steps
- */
- end_time_step = ex_inquire_int(exoid, EX_INQ_TIME);
- }
-
- end_time_step--;
-
- /* read values of global variables */
- start[0] = --beg_time_step;
- start[1] = --glob_var_index;
-
- count[0] = end_time_step - beg_time_step + 1;
- count[1] = 1;
-
- /* inquire previously defined variable */
- if ((status = nc_inq_varid (exoid, VAR_GLO_VAR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate global variables in file id %d",
- exoid);
- ex_err("ex_get_glob_var_time",errmsg,exerrval);
- return (EX_WARN);
- }
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, varid, start, count, glob_var_vals);
- } else {
- status = nc_get_vara_double(exoid, varid, start, count, glob_var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get global variable %d values from file id %d",
- glob_var_index, exoid);
- ex_err("ex_get_glob_var_time",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_glob_vars.c b/cbind/src/ex_get_glob_vars.c
deleted file mode 100644
index 2a543d2..0000000
--- a/cbind/src/ex_get_glob_vars.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exggv - ex_get_glob_vars
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* int num_glob_vars number of global vars in file
-*
-* exit conditions -
-* float* glob_var_vals array of global variable values
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\ingroup ResultsData
-
-The function ex_get_glob_vars() reads the values of all the
-global variables for a single time step. Memory must be allocated for
-the global variables values array before this function is invoked.
-
-Because global variables are floating point values, the application
-code must declare the array passed to be the appropriate type
-(float or double) to match the compute word size passed in
-ex_create() or ex_open().
-
-In case of an error, ex_get_glob_vars() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
-
- - data file not properly opened with call to ex_create() or ex_open()
- - no global variables stored in the file.
- - a warning value is returned if no global variables are stored in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-
-\param[in] time_step The time step, as described under ex_put_time(), at
- which the global variable values are desired. This is essentially
- an index (in the time dimension) into the global variable values
- array stored in the database. The first time step is 1.
-
-\param[in] num_glob_vars The number of global variables stored in the database.
-\param[out] glob_var_vals Returned array of num_glob_vars global variable values
- for the time_step'th time step.
-
-The following is an example code segment that reads all the global
-variables at one time step:
-
-\verbatim
-int num_glo_vars, error, time_step;
-float *var_values;
-
-error = ex_get_variable_param (idexo, EX_GLOBAL, &num_glo_vars);
-var_values = (float *) calloc (num_glo_vars, sizeof(float));
-error = ex_get_glob_vars (idexo, time_step, num_glo_vars,
- var_values);
-\endverbatim
- */
-
-int ex_get_glob_vars (int exoid,
- int time_step,
- int num_glob_vars,
- void *glob_var_vals)
-{
- int varid;
- int status;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined variable */
- if ((status = nc_inq_varid (exoid, VAR_GLO_VAR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: failed to locate global variables in file id %d",
- exoid);
- ex_err("ex_get_glob_vars",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* read values of global variables */
- start[0] = --time_step;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = num_glob_vars;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, varid, start, count, glob_var_vals);
- } else {
- status = nc_get_vara_double(exoid, varid, start, count, glob_var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get global variable values from file id %d",
- exoid);
- ex_err("ex_get_glob_vars",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_id_map.c b/cbind/src/ex_get_id_map.c
deleted file mode 100644
index 858ae74..0000000
--- a/cbind/src/ex_get_id_map.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 2007 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgnm - ex_get_id_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_type type of map (node, edge, face, element)
-*
-* exit conditions -
-* int* map map
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the id map
- */
-
-int ex_get_id_map ( int exoid,
- ex_entity_type map_type,
- void_int* map )
-{
- int dimid, mapid, status;
- size_t i;
- size_t num_entries;
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumentries;
- const char* vmap;
- const char* tname;
-
- switch (map_type) {
- case EX_NODE_MAP:
- tname = "node";
- dnumentries = DIM_NUM_NODES;
- vmap = VAR_NODE_NUM_MAP;
- break;
- case EX_EDGE_MAP:
- tname = "edge";
- dnumentries = DIM_NUM_EDGE;
- vmap = VAR_EDGE_NUM_MAP;
- break;
- case EX_FACE_MAP:
- tname = "face";
- dnumentries = DIM_NUM_FACE;
- vmap = VAR_FACE_NUM_MAP;
- break;
- case EX_ELEM_MAP:
- tname = "element";
- dnumentries = DIM_NUM_ELEM;
- vmap = VAR_ELEM_NUM_MAP;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg,
- "Error: Bad map type (%d) specified for file id %d",
- map_type, exoid );
- ex_err( "ex_get_id_map", errmsg, exerrval );
- return (EX_FATAL);
- }
- exerrval = 0; /* clear error code */
-
- /* See if any entries are stored in this file */
- if (nc_inq_dimid(exoid, dnumentries,&dimid) != NC_NOERR) {
- return (EX_NOERR);
- }
-
- if (nc_inq_varid (exoid, vmap, &mapid) != NC_NOERR) {
- if ((status = nc_inq_dimlen(exoid, dimid, &num_entries)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of %ss in file id %d", tname, exoid);
- ex_err("ex_get_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* generate default map of 1..n, where n is num_entries */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- int64_t *lmap = (int64_t*)map;
- for (i=0; i<num_entries; i++) {
- lmap[i] = i+1;
- }
- } else {
- int *lmap = (int*)map;
- for (i=0; i<num_entries; i++) {
- lmap[i] = i+1;
- }
- }
-
- return (EX_NOERR);
- }
-
- /* read in the id map */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_var_longlong(exoid, mapid, map);
- } else {
- status = nc_get_var_int(exoid, mapid, map);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s id map in file id %d",
- tname, exoid);
- ex_err("ex_get_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_ids.c b/cbind/src/ex_get_ids.c
deleted file mode 100644
index 31c8e58..0000000
--- a/cbind/src/ex_get_ids.c
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*
- *
- *****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the element block ids from the database
- */
-
-int ex_get_ids (int exoid,
- ex_entity_type obj_type,
- void_int *ids)
-{
- int varid, status;
- char errmsg[MAX_ERR_LENGTH];
-
- const char* varidobj;
-
- exerrval = 0; /* clear error code */
-
- switch (obj_type) {
- case EX_EDGE_BLOCK:
- varidobj = VAR_ID_ED_BLK;
- break;
- case EX_FACE_BLOCK:
- varidobj = VAR_ID_FA_BLK;
- break;
- case EX_ELEM_BLOCK:
- varidobj = VAR_ID_EL_BLK;
- break;
- case EX_NODE_SET:
- varidobj = VAR_NS_IDS;
- break;
- case EX_EDGE_SET:
- varidobj = VAR_ES_IDS;
- break;
- case EX_FACE_SET:
- varidobj = VAR_FS_IDS;
- break;
- case EX_SIDE_SET:
- varidobj = VAR_SS_IDS;
- break;
- case EX_ELEM_SET:
- varidobj = VAR_ELS_IDS;
- break;
- case EX_NODE_MAP:
- varidobj = VAR_NM_PROP(1);
- break;
- case EX_EDGE_MAP:
- varidobj = VAR_EDM_PROP(1);
- break;
- case EX_FACE_MAP:
- varidobj = VAR_FAM_PROP(1);
- break;
- case EX_ELEM_MAP:
- varidobj = VAR_EM_PROP(1);
- break;
- default:/* invalid variable type */
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid type specified in file id %d", exoid);
- ex_err("ex_get_ids",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* Determine if there are any 'obj-type' objects */
- if ((status = nc_inq_dimid (exoid, ex_dim_num_objects(obj_type), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no %s defined in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("ex_get_ids",errmsg,exerrval);
- return (EX_WARN);
- }
-
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_varid(exoid, varidobj, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s ids variable in file id %d",
- ex_name_of_object(obj_type),exoid);
- ex_err("ex_get_ids",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read in the element block ids */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_get_var_longlong(exoid, varid, ids);
- } else {
- status = nc_get_var_int(exoid, varid, ids);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to return %s ids in file id %d",
- ex_name_of_object(obj_type),exoid);
- ex_err("ex_get_ids",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_info.c b/cbind/src/ex_get_info.c
deleted file mode 100644
index 4a427bc..0000000
--- a/cbind/src/ex_get_info.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_get_info() reads information records from the
-database. The records are \c MAX_LINE_LENGTH-character
-strings. Memory must be allocated for the information records before
-this call is made. The number of records can be determined by invoking
-ex_inquire() or ex_inquire_int().
-
-\returns In case of an error, ex_get_info() returns a negative number;
- a warning will return a positive number. Possible causes of errors
- include:
- - data file not properly opened with call to ex_create() or ex_open()
- - a warning value is returned if no information records were stored.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] info Returned array containing the information records.
-
-The following code segment will determine the number of information
-records and read them from an open exodus file :
-
-\code
-#include "exodusII.h"
-int error, exoid, num_info;
-char *info[MAXINFO];
-
-\comment{read information records}
-num_info = ex_inquire_int (exoid,EX_INQ_INFO);
-for (i=0; i < num_info; i++) {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
-}
-error = ex_get_info (exoid, info);
-\endcode
-
- */
-
-int ex_get_info (int exoid,
- char **info)
-{
- int status;
- size_t i;
- int dimid, varid;
- size_t num_info, start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined dimensions and variables */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_INFO, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: failed to locate number of info records in file id %d",
- exoid);
- ex_err("ex_get_info",errmsg,exerrval);
- return (EX_WARN);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_info)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of info records in file id %d",
- exoid);
- ex_err("ex_get_info",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* do this only if there are any information records */
- if (num_info > 0) {
- if ((status = nc_inq_varid(exoid, VAR_INFO, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate info record data in file id %d", exoid);
- ex_err("ex_get_info",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read the information records */
- for (i=0; i<num_info; i++) {
- start[0] = i; count[0] = 1;
- start[1] = 0; count[1] = MAX_LINE_LENGTH+1;
-
- if ((status = nc_get_vara_text(exoid, varid, start, count, info[i])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get info record data in file id %d", exoid);
- ex_err("ex_get_info",errmsg,exerrval);
- return (EX_FATAL);
- }
- info[i][MAX_LINE_LENGTH] = '\0';
- ex_trim_internal(info[i]);
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_init.c b/cbind/src/ex_get_init.c
deleted file mode 100644
index 8057479..0000000
--- a/cbind/src/ex_get_init.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgini - ex_get_init
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-* char* title title of file
-* int* num_dim number of dimensions (per node)
-* int* num_nodes number of nodes
-* int* num_elem number of elements
-* int* num_elem_blk number of element blocks
-* int* num_node_sets number of node sets
-* int* num_side_sets numver of side sets
-*
-* revision history -
-* David Thompson - Moved to exginix.c (exgini.c now a special case)
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
-
-The function ex_get_init() reads the initializationinitialization
-parameters from an opened exodus file.
-
-\return In case of an error, ex_get_init() returns a negative number;
-a warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open().
-
-\param exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] title Returned database title. String length may be up to \c MAX_LINE_LENGTH bytes.
-\param[out] num_dim Returned dimensionality of the database. This is the number of coordinates per node.
-\param[out] num_nodes Returned number of nodal points.
-\param[out] num_elem Returned number of elements
-\param[out] num_elem_blk Returned number of element blocks
-\param[out] num_node_sets Returned number of node sets
-\param[out] num_side_sets Returned number of side sets
-
-\sa ex_get_init_ext()
-
-The following code segment will read the initialization parameters
-from the open exodus file:
-
-\code
-#include "exodusII.h"
-int num_dim, num_nodes, num_elem, num_elem_blk,
- num_node_sets, num_side_sets, error, exoid;
-
-char title[MAX_LINE_LENGTH+1];
-
-\comment{read database parameters}
-error = ex_get_init (exoid, title, &num_dim, &num_nodes,
- &num_elem, &num_elem_blk, &num_node_sets, &num_side_sets);
-\endcode
-
-*/
-
-int ex_get_init (int exoid,
- 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)
-{
- ex_init_params info;
- int errval;
-
- info.title[0] = '\0';
- errval = ex_get_init_ext( exoid, &info );
- if ( errval < 0 ) {
- return errval;
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- int64_t *n_dim = num_dim;
- int64_t *n_nodes = num_nodes;
- int64_t *n_elem = num_elem;
- int64_t *n_elem_blk = num_elem_blk;
- int64_t *n_node_sets = num_node_sets;
- int64_t *n_side_sets = num_side_sets;
-
- *n_dim = info.num_dim;
- *n_nodes = info.num_nodes;
- *n_elem = info.num_elem;
- *n_elem_blk = info.num_elem_blk;
- *n_node_sets = info.num_node_sets;
- *n_side_sets = info.num_side_sets;
- } else {
- int *n_dim = num_dim;
- int *n_nodes = num_nodes;
- int *n_elem = num_elem;
- int *n_elem_blk = num_elem_blk;
- int *n_node_sets = num_node_sets;
- int *n_side_sets = num_side_sets;
-
- *n_dim = info.num_dim;
- *n_nodes = info.num_nodes;
- *n_elem = info.num_elem;
- *n_elem_blk = info.num_elem_blk;
- *n_node_sets = info.num_node_sets;
- *n_side_sets = info.num_side_sets;
- }
- strcpy( title, info.title );
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_init_ext.c b/cbind/src/ex_get_init_ext.c
deleted file mode 100644
index c7fb815..0000000
--- a/cbind/src/ex_get_init_ext.c
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
- *
- * exgini - ex_get_init
- *
- * entry conditions -
- * input parameters:
- * int exoid exodus file id
- *
- * exit conditions -
- * ex_init_params* info parameter information
- *
- * revision history -
- *
- *
- *****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h>
-#include <string.h>
-
-/* Used to reduce repeated code below */
-static int64_t ex_get_dim_value(int exoid, const char *name, const char *dimension_name,
- int dimension, int64_t *value)
-{
- char errmsg[MAX_ERR_LENGTH];
- int status;
-
- if ((status = nc_inq_dimid (exoid, dimension_name, &dimension)) != NC_NOERR) {
- /* optional and default to zero. */
- *value = 0;
- } else {
- size_t tmp;
- if ((status = nc_inq_dimlen(exoid, dimension, &tmp)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg, "Error: failed to get number of %s in file id %d",
- name, exoid);
- ex_err("ex_get_init",errmsg,exerrval);
- return (EX_FATAL);
- }
- *value = tmp;
- }
- return EX_NOERR;
-}
-
-/*!
- * reads the initialization parameters from an opened EXODUS II file
- * \param exoid exodus file id
- * \param[out] info #ex_init_params structure containing metadata for mesh.
- * \sa ex_get_init()
- */
-
-int ex_get_init_ext (int exoid,
- ex_init_params *info)
-{
- int dimid;
- char errmsg[MAX_ERR_LENGTH];
- int status;
- size_t title_len;
- nc_type title_type;
-
- exerrval = 0; /* clear error code */
-
- info->num_dim = 0;
- info->num_nodes = 0;
- info->num_edge = 0;
- info->num_edge_blk = 0;
- info->num_face = 0;
- info->num_face_blk = 0;
- info->num_elem = 0;
- info->num_elem_blk = 0;
- info->num_node_sets = 0;
- info->num_edge_sets = 0;
- info->num_face_sets = 0;
- info->num_side_sets = 0;
- info->num_elem_sets = 0;
- info->num_node_maps = 0;
- info->num_edge_maps = 0;
- info->num_face_maps = 0;
- info->num_elem_maps = 0;
-
- {
- size_t tmp;
- status = ex_get_dimension(exoid, DIM_NUM_DIM, "dimensions", &tmp, &dimid, "ex_get_init_ext");
- if (status != NC_NOERR) return status;
- info->num_dim = tmp;
- }
-
- /* Handle case with zero-nodes */
- if (ex_get_dim_value(exoid, "nodes",DIM_NUM_NODES,dimid,&info->num_nodes) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid, "edges", DIM_NUM_EDGE,dimid,&info->num_edge) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid, "faces", DIM_NUM_FACE,dimid,&info->num_face) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid,"elements", DIM_NUM_ELEM,dimid,&info->num_elem) != EX_NOERR) return EX_FATAL;
-
- if (ex_get_dim_value(exoid,"element blocks", DIM_NUM_EL_BLK,dimid,&info->num_elem_blk) != EX_NOERR) return EX_FATAL;
- if (info->num_elem_blk == 0 && info->num_elem > 0) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of element blocks in file id %d",
- exoid);
- ex_err("ex_get_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_dim_value(exoid,"node sets", DIM_NUM_NS,dimid,&info->num_node_sets) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid,"edge sets", DIM_NUM_ES,dimid,&info->num_edge_sets) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid,"face sets", DIM_NUM_FS,dimid,&info->num_face_sets) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid,"side sets", DIM_NUM_SS,dimid,&info->num_side_sets) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid,"elem sets",DIM_NUM_ELS,dimid,&info->num_elem_sets) != EX_NOERR) return EX_FATAL;
-
- if (ex_get_dim_value(exoid,"node maps", DIM_NUM_NM,dimid,&info->num_node_maps) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid,"edge maps",DIM_NUM_EDM,dimid,&info->num_edge_maps) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid,"face maps",DIM_NUM_FAM,dimid,&info->num_face_maps) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid,"elem maps", DIM_NUM_EM,dimid,&info->num_elem_maps) != EX_NOERR) return EX_FATAL;
-
- /* Edge and face blocks are also optional (for backwards compatability) */
- if (ex_get_dim_value(exoid,"edge blocks",DIM_NUM_ED_BLK,dimid,&info->num_edge_blk) != EX_NOERR) return EX_FATAL;
- if (ex_get_dim_value(exoid,"face blocks",DIM_NUM_FA_BLK,dimid,&info->num_face_blk) != EX_NOERR) return EX_FATAL;
-
- if ((status = nc_inq_att(exoid, NC_GLOBAL, ATT_TITLE, &title_type, &title_len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to inquire title in file id %d", exoid);
- ex_err("ex_get_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check title length to avoid overrunning clients memory space; include trailing null */
- if (title_len > MAX_LINE_LENGTH) {
- char *title = malloc(title_len+1);
- if ((status = nc_get_att_text(exoid, NC_GLOBAL, ATT_TITLE, title)) == NC_NOERR) {
- strncpy(info->title, title, MAX_LINE_LENGTH+1);
- info->title[MAX_LINE_LENGTH] = '\0';
- }
- free(title);
- } else {
- status = nc_get_att_text(exoid, NC_GLOBAL, ATT_TITLE, info->title);
- info->title[title_len] = '\0';
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get title in file id %d", exoid);
- ex_err("ex_get_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_init_global.c b/cbind/src/ex_get_init_global.c
deleted file mode 100644
index be7742a..0000000
--- a/cbind/src/ex_get_init_global.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_get_init_global()
- *****************************************************************************
- * This function reads the global initial information.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * num_nodes_g - The number of global FEM nodes. This is output as
- * a NetCDF variable.
- * num_elems_g - The number of global FEM elements. This is output
- * as a NetCDF variable.
- * num_elem_blks_g - The number of global element blocks. This is output
- * as a NetCDF dimension.
- * num_node_sets_g - The number of global node sets. This is output as
- * a NetCDF dimension.
- * num_side_sets_g - The number of global side sets. This is output as
- * a NetCDF dimension.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_init_global(int exoid,
- void_int *num_nodes_g,
- void_int *num_elems_g,
- void_int *num_elem_blks_g,
- void_int *num_node_sets_g,
- void_int *num_side_sets_g
- )
-{
- const char *func_name="ex_get_init_global";
- int dimid, status;
- size_t nng, neg, nebg, nnsg, nssg;
-
- char errmsg[MAX_ERR_LENGTH];
- /*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error flag */
-
- /* Check the file version information */
- if ((dimid=ne_check_file_version(exoid)) != EX_NOERR) return (dimid);
-
- /* Get the dimension ID for the number of global FEM nodes */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_NODES_GLOBAL, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_NODES_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the value of the number of global FEM nodes */
- if ((status = nc_inq_dimlen(exoid, dimid, &nng)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_NODES_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the dimension ID for the number of global FEM elements */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_ELEMS_GLOBAL, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_ELEMS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the value of the number of global FEM elements */
- if ((status = nc_inq_dimlen(exoid, dimid, &neg)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_ELEMS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the dimension ID for the number of global element blocks */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_ELBLK_GLOBAL, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_ELBLK_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the value of the number of global element blocks */
- if ((status = nc_inq_dimlen(exoid, dimid, &nebg)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_ELBLK_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the dimension ID for the number of global node sets */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_NS_GLOBAL, &dimid)) != NC_NOERR) {
- nnsg = 0;
- }
- else {
- /* Get the value of the number of global node sets */
- if ((status = nc_inq_dimlen(exoid, dimid, &nnsg)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_NS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- }
-
- /* Get the dimension ID for the number of global side sets */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_SS_GLOBAL, &dimid)) != NC_NOERR) {
- nssg = 0;
- }
- else {
- /* Get the value of the number of global side sets */
- if ((status = nc_inq_dimlen(exoid, dimid, &nssg)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_SS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- *(int64_t*)num_nodes_g = nng;
- *(int64_t*)num_elems_g = neg;
- *(int64_t*)num_elem_blks_g = nebg;
- *(int64_t*)num_node_sets_g = nnsg;
- *(int64_t*)num_side_sets_g = nssg;
- } else {
- *(int*)num_nodes_g = nng;
- *(int*)num_elems_g = neg;
- *(int*)num_elem_blks_g = nebg;
- *(int*)num_node_sets_g = nnsg;
- *(int*)num_side_sets_g = nssg;
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_init_info.c b/cbind/src/ex_get_init_info.c
deleted file mode 100644
index 23e579f..0000000
--- a/cbind/src/ex_get_init_info.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_get_init_info()
- *****************************************************************************
- * This function reads information about the processors for which the
- * decomposition was performed.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * num_proc - The number of processors in the decomposition.
- * num_proc_in_f - The number of processors the file contains
- * information for.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_get_init_info(int exoid,
- int *num_proc,
- int *num_proc_in_f,
- char *ftype
- )
-{
- const char *func_name="ex_get_init_info";
-
- int dimid, status;
- size_t ltempsv;
-
- char errmsg[MAX_ERR_LENGTH];
- /*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Get the file type */
- if (ex_get_file_type(exoid, ftype) != EX_NOERR) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: failed to get file type for file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_PROCS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_PROCS, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the value of the number of processors */
- if ((status = nc_inq_dimlen(exoid, dimid, <empsv)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_PROCS, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- *num_proc = ltempsv;
-
- /* Get the dimension ID of processors that have info in this file */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_PROCS_F, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_PROCS_F, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the value of the number of processors that have info in this file */
- if ((status = nc_inq_dimlen(exoid, dimid, <empsv)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_PROCS_F, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- *num_proc_in_f = ltempsv;
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_loadbal_param.c b/cbind/src/ex_get_loadbal_param.c
deleted file mode 100644
index ec5e11e..0000000
--- a/cbind/src/ex_get_loadbal_param.c
+++ /dev/null
@@ -1,562 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_get_loadbal_param()
- *****************************************************************************
- * This function retrieves the load balance parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * num_int_nodes - The number of internal FEM nodes.
- * num_bor_nodes - The number of border FEM nodes.
- * num_ext_nodes - The number of external FEM nodes.
- * num_int_elems - The number of internal FEM elements.
- * num_bor_elems - The number of border FEM elements.
- * num_node_cmaps - The number of nodal communication maps.
- * num_elem_cmaps - The number of elemental communication maps.
- * processor - The processor the file being read was written for.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_loadbal_param(int exoid,
- void_int *num_int_nodes,
- void_int *num_bor_nodes,
- void_int *num_ext_nodes,
- void_int *num_int_elems,
- void_int *num_bor_elems,
- void_int *num_node_cmaps,
- void_int *num_elem_cmaps,
- int processor
- )
-{
- const char *func_name="ex_get_loadbal_param";
-
- int dimid, varid, status;
- size_t start[1];
- size_t nin, nbn, nen, nie, nbe, nncm, necm;
- int64_t varidx[2];
- char ftype[2];
- int nmstat;
-
- char errmsg[MAX_ERR_LENGTH];
- /*-----------------------------Execution begins-----------------------------*/
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- *(int64_t*)num_int_nodes = 0;
- *(int64_t*)num_bor_nodes = 0;
- *(int64_t*)num_ext_nodes = 0;
- *(int64_t*)num_int_elems = 0;
- *(int64_t*)num_bor_elems = 0;
- *(int64_t*)num_node_cmaps = 0;
- *(int64_t*)num_elem_cmaps = 0;
- } else {
- *(int*)num_int_nodes = 0;
- *(int*)num_bor_nodes = 0;
- *(int*)num_ext_nodes = 0;
- *(int*)num_int_elems = 0;
- *(int*)num_bor_elems = 0;
- *(int*)num_node_cmaps = 0;
- *(int*)num_elem_cmaps = 0;
- }
-
- exerrval = 0; /* clear error code */
-
- /* Check the file version information */
- if ((dimid=ne_check_file_version(exoid)) != EX_NOERR) return (dimid);
-
- /* Get the file type */
- if (ex_get_file_type(exoid, ftype) != EX_NOERR) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: unable to find file type for file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the status for this node map */
- if ((status = nc_inq_varid(exoid, VAR_INT_N_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (ftype[0] == 's')
- start[0] = processor;
- else
- start[0] = 0;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- if (ex_get_idx(exoid, VAR_NODE_MAP_INT_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_NODE_MAP_INT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension of the internal node map */
- if (varidx[1] == -1) {
- /* Get the dimension ID for the number of internal nodes */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_INT_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_INT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /*
- * Get the value of the dimension representing the total number of
- * internal FEM nodes.
- */
- if ((status = nc_inq_dimlen(exoid, dimid, &nin)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_INT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* set the end value for the node map */
- varidx[1] = nin;
- } /* End "if (varidx[1] = -1)" */
-
- /* now get the number of nodes */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- *(int64_t*)num_int_nodes = varidx[1] - varidx[0];
- } else {
- *(int*)num_int_nodes = varidx[1] - varidx[0];
- }
- }
-
- /* Get the status for this node map */
- if ((status = nc_inq_varid(exoid, VAR_BOR_N_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (ftype[0] == 's')
- start[0] = processor;
- else
- start[0] = 0;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- if (ex_get_idx(exoid, VAR_NODE_MAP_BOR_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_NODE_MAP_BOR_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension of the border node map */
- if (varidx[1] == -1) {
- /* Get the dimension ID for the number of border nodes */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_BOR_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_BOR_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /*
- * Get the value of the dimension representing the number of border
- * FEM nodes.
- */
- if ((status = nc_inq_dimlen(exoid, dimid, &nbn)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_BOR_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* set the end value for the node map */
- varidx[1] = nbn;
- } /* End "if (varidx[1] == -1)" */
-
- /* now calculate the number of nodes */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- *(int64_t*)num_bor_nodes = varidx[1] - varidx[0];
- } else {
- *(int*)num_bor_nodes = varidx[1] - varidx[0];
- }
- }
-
- /* Get the status for this node map */
- if ((status = nc_inq_varid(exoid, VAR_EXT_N_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (ftype[0] == 's')
- start[0] = processor;
- else
- start[0] = 0;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- if (ex_get_idx(exoid, VAR_NODE_MAP_EXT_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_NODE_MAP_EXT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension of the external node map */
- if (varidx[1] == -1) {
- /* Get the dimension ID for the number of external nodes */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_EXT_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_EXT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /*
- * Get the value of the dimension representing the number of external
- * FEM nodes.
- */
- if ((status = nc_inq_dimlen(exoid, dimid, &nen)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_EXT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- /* set the end value for the node map */
- varidx[1] = nen;
- } /* End "if (varidx[1] == -1)" */
-
- /* now get the number of nodes */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- *(int64_t*)num_ext_nodes = varidx[1] - varidx[0];
- } else {
- *(int*)num_ext_nodes = varidx[1] - varidx[0];
- }
- }
-
- /* Get the status for this element map */
- if ((status = nc_inq_varid(exoid, VAR_INT_E_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 's')
- start[0] = processor;
- else
- start[0] = 0;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- if (ex_get_idx(exoid, VAR_ELEM_MAP_INT_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_ELEM_MAP_INT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension of the internal element map */
- if (varidx[1] == -1) {
- /* Get the dimension ID for the number of internal elements */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_INT_ELEMS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" from file ID %d",
- DIM_NUM_INT_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /*
- * Get the value of the dimension representing the number of internal
- * FEM elements.
- */
- if ((status = nc_inq_dimlen(exoid, dimid, &nie)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimesion \"%s\" in file ID %d",
- DIM_NUM_INT_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* set the end value for the node map */
- varidx[1] = nie;
- } /* End "if (varidx[1] == -1)" */
-
- /* now get the number of elements */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- *(int64_t*)num_int_elems = varidx[1] - varidx[0];
- } else {
- *(int*)num_int_elems = varidx[1] - varidx[0];
- }
- }
-
- /* Get the status for this element map */
- if ((status = nc_inq_varid(exoid, VAR_BOR_E_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_BOR_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 's')
- start[0] = processor;
- else
- start[0] = 0;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_BOR_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- if (ex_get_idx(exoid, VAR_ELEM_MAP_BOR_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_ELEM_MAP_BOR_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension of the border element map */
- if (varidx[1] == -1) {
- /* Get the dimension ID for the number of border elements */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_BOR_ELEMS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" from file ID %d",
- DIM_NUM_BOR_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /*
- * Get the value of the dimension representing the number of border
- * FEM elements.
- */
- if ((status = nc_inq_dimlen(exoid, dimid, &nbe)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimesion \"%s\" in file ID %d",
- DIM_NUM_BOR_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* set the end value for the node map */
- varidx[1] = nbe;
- } /* End "if (varidx[1] == -1)" */
-
- /* now get the number of nodes */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- *(int64_t*)num_bor_elems = varidx[1] - varidx[0];
- } else {
- *(int*)num_bor_elems = varidx[1] - varidx[0];
- }
- } /* End "if (nmstat == 1)" */
-
- if (ex_get_idx(exoid, VAR_N_COMM_INFO_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_N_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension of the nodal comm map */
- if (varidx[1] == -1) {
- /* Get the nodal comm map information */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_N_CMAPS, &dimid)) != NC_NOERR)
- varidx[1] = 0;
- else {
- if ((status = nc_inq_dimlen(exoid, dimid, &nncm)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_N_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- /* set the end value for the node map */
- varidx[1] = nncm;
- }
- } /* End "if (varidx[1] == -1)" */
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- *(int64_t*)num_node_cmaps = varidx[1] - varidx[0];
- } else {
- *(int*)num_node_cmaps = varidx[1] - varidx[0];
- }
-
- if (ex_get_idx(exoid, VAR_E_COMM_INFO_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_E_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension of the elemental comm map */
- if (varidx[1] == -1) {
- /* Get the elemental comm map information */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_E_CMAPS, &dimid)) != NC_NOERR)
- varidx[1] = 0;
- else {
- if ((status = nc_inq_dimlen(exoid, dimid, &necm)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_E_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* set the end value for the node map */
- varidx[1] = necm;
- }
- } /* End "if (varidx[1] == -1)" */
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- *(int64_t*)num_elem_cmaps = varidx[1] - varidx[0];
- } else {
- *(int*)num_elem_cmaps = varidx[1] - varidx[0];
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_map.c b/cbind/src/ex_get_map.c
deleted file mode 100644
index ddd7e36..0000000
--- a/cbind/src/ex_get_map.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\deprecated Use ex_get_num_map() instead.
-
-The function ex_get_map() reads the element order map
-from the database. See #ElementOrderMap for a description of the
-element order map. If an element order map is not stored in the data
-file, a default array (1,2,3,. .. \c num_elem) is returned. Memory
-must be allocated for the element map array ({num_elem} in length)
-before this call is made.
-
-\return In case of an error, ex_get_map() returns a negative number; a
-warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - if an element order map is not stored, a default map and a
- warning value are returned.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] elem_map Returned element order map.
-
-The following code will read an element order map from an open exodus
-file :
-
-\code
-int *elem_map, error, exoid;
-
-\comment{read element order map}
-elem_map = (int *)calloc(num_elem, sizeof(int));
-
-error = ex_get_map(exoid, elem_map);
-\endcode
-
- */
-
-int ex_get_map (int exoid,
- void_int *elem_map)
-{
- int numelemdim, mapid, status;
- size_t num_elem, i;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
-/* inquire id's of previously defined dimensions and variables */
-
- /* See if file contains any elements...*/
- if ((status = nc_inq_dimid (exoid, DIM_NUM_ELEM, &numelemdim)) != NC_NOERR) {
- return (EX_NOERR);
- }
-
- if ((status = nc_inq_dimlen(exoid, numelemdim, &num_elem)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of elements in file id %d",
- exoid);
- ex_err("ex_get_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- if (nc_inq_varid(exoid, VAR_MAP, &mapid) != NC_NOERR) {
- /* generate default map of 1..n, where n is num_elem */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- int64_t *lmap = (int64_t*)elem_map;
- for (i=0; i<num_elem; i++) {
- lmap[i] = i+1;
- }
- } else {
- int *lmap = (int*)elem_map;
- for (i=0; i<num_elem; i++) {
- lmap[i] = i+1;
- }
- }
-
- return (EX_NOERR);
- }
-
- /* read in the element order map */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_var_longlong(exoid, mapid, elem_map);
- } else {
- status = nc_get_var_int(exoid, mapid, elem_map);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get element order map in file id %d",
- exoid);
- ex_err("ex_get_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return(EX_NOERR);
-
-}
diff --git a/cbind/src/ex_get_map_param.c b/cbind/src/ex_get_map_param.c
deleted file mode 100644
index 2f71229..0000000
--- a/cbind/src/ex_get_map_param.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgmp - ex_get_map_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-* int* num_node_maps number of node maps
-* int* num_elem_maps number of element maps
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the number of node and element maps
- */
-
-int ex_get_map_param (int exoid,
- int *num_node_maps,
- int *num_elem_maps)
-{
- int status;
- int dimid;
- size_t lnum_node_maps, lnum_elem_maps;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
-
- /* node maps are optional */
- if (nc_inq_dimid(exoid, DIM_NUM_NM, &dimid) != NC_NOERR) {
- *num_node_maps = 0;
- } else {
- if ((status = nc_inq_dimlen(exoid, dimid, &lnum_node_maps)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of node maps in file id %d",
- exoid);
- ex_err("ex_get_map_param",errmsg,exerrval);
- return (EX_FATAL);
- }
- *num_node_maps = lnum_node_maps;
- }
-
- /* element maps are optional */
- if (nc_inq_dimid(exoid, DIM_NUM_EM, &dimid) != NC_NOERR) {
- *num_elem_maps = 0;
- } else {
- if ((status = nc_inq_dimlen(exoid, dimid, &lnum_elem_maps)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of element maps in file id %d",
- exoid);
- ex_err("ex_get_map_param",errmsg,exerrval);
- return (EX_FATAL);
- }
- *num_elem_maps = lnum_elem_maps;
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_n_attr.c b/cbind/src/ex_get_n_attr.c
deleted file mode 100644
index 3339b91..0000000
--- a/cbind/src/ex_get_n_attr.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_get_partial_attr() instead
- * reads the specified attribute for a subsect of a block
- * \param exoid exodus file id
- * \param obj_type object type (edge, face, elem block)
- * \param obj_id object id (edge, face, elem block ID)
- * \param start_num the starting index of the attributes to be returned.
- * \param num_ent the number of entities to read attributes for.
- * \param attrib_index index of attribute to write
- * \param attrib array of attributes
- */
-/*
- */
-int ex_get_n_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- void* attrib )
-
-{
- return ex_get_partial_attr(exoid, obj_type, obj_id, start_num, num_ent, attrib);
-}
diff --git a/cbind/src/ex_get_n_conn.c b/cbind/src/ex_get_n_conn.c
deleted file mode 100644
index 0027a4f..0000000
--- a/cbind/src/ex_get_n_conn.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_get_partial_conn() instead.
- */
-
-int ex_get_n_conn( int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- int64_t start_num,
- int64_t num_ent,
- void_int* nodeconn,
- void_int* edgeconn,
- void_int* faceconn )
-{
- return ex_get_partial_conn(exoid, blk_type, blk_id, start_num, num_ent, nodeconn, edgeconn, faceconn);
-}
diff --git a/cbind/src/ex_get_n_coord.c b/cbind/src/ex_get_n_coord.c
deleted file mode 100644
index d2e67c3..0000000
--- a/cbind/src/ex_get_n_coord.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgcor - ex_get_n_coord
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_node_num starting index of coordinates to be returned.
-* int num_nodes number of nodes to read coordinates for.
-*
-* exit conditions -
-* float* x_coord X coord array
-* float* y_coord y coord array
-* float* z_coord z coord array
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_get_partial_coord() instead
- * reads the coordinates of the nodes.
- * Memory must be allocated for the coordinate arrays (x_coor, y_coor,
- * and z_coor) before this call is made. The length of each of these
- * arrays is the number of nodes in the mesh. Because the coordinates
- * are floating point values, the application code must declare the
- * arrays passed to be the appropriate type "float" or "double"
- * to match the compute word size passed in ex_create() or ex_open()
- * \param exoid exodus file id
- * \param start_node_num the starting index of the coordinates to be returned.
- * \param num_nodes the number of nodes to read coordinates for.
- * \param[out] x_coor Returned X coordinates of the nodes. These are
- * returned only if x_coor is non-NULL.
- * \param[out] y_coor Returned Y coordinates of the nodes. These are
- * returned only if y_coor is non-NULL.
- * \param[out] z_coor Returned Z coordinates of the nodes. These are
- * returned only if z_coor is non-NULL.
- */
-
-int ex_get_n_coord (int exoid,
- int64_t start_node_num,
- int64_t num_nodes,
- void *x_coor,
- void *y_coor,
- void *z_coor)
-{
- return ex_get_partial_coord(exoid, start_node_num, num_nodes, x_coor, y_coor, z_coor);
-}
diff --git a/cbind/src/ex_get_n_elem_attr.c b/cbind/src/ex_get_n_elem_attr.c
deleted file mode 100644
index 0cb8f94..0000000
--- a/cbind/src/ex_get_n_elem_attr.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_n_elem_attr()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_blk_id - The element block ID.
- * start_elem_num - The starting index of the elements to be
- * obtained.
- * num_elems - The number of FEM elements to read coords for.
- * attrib - Pointer to the attribute vector.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \deprecated Use ex_get_partial_attr() instead.
- */
-
-int ex_get_n_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- int64_t start_elem_num,
- int64_t num_elems,
- void *attrib)
-
-{
- return ex_get_partial_attr(exoid, EX_ELEM_BLOCK, elem_blk_id, start_elem_num, num_elems, attrib);
-}
diff --git a/cbind/src/ex_get_n_elem_conn.c b/cbind/src/ex_get_n_elem_conn.c
deleted file mode 100644
index fcbbece..0000000
--- a/cbind/src/ex_get_n_elem_conn.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_n_elem_conn()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_blk_id - The element block ID.
- * start_elem_num - The starting index of the elements to be
- * obtained.
- * num_elems - The number of FEM elements to read coords for.
- * connect - Pointer to the connectivity vector.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include "exodusII.h"
-
-/*!
- * \deprecated use ex_get_partial_conn()
- * reads the connectivity array for an element block
- */
-
-int ex_get_n_elem_conn (int exoid,
- ex_entity_id elem_blk_id,
- int64_t start_elem_num,
- int64_t num_elems,
- void_int *connect)
-{
- return ex_get_partial_conn(exoid, EX_ELEM_BLOCK, elem_blk_id,
- start_elem_num, num_elems, connect, NULL, NULL);
-}
diff --git a/cbind/src/ex_get_n_elem_num_map.c b/cbind/src/ex_get_n_elem_num_map.c
deleted file mode 100644
index 5d0c2d9..0000000
--- a/cbind/src/ex_get_n_elem_num_map.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* ne_gennm - ex_get_n_elem_num_map
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_ent starting location for read
-* int num_ents number of elemental points
-*
-* exit conditions -
-* int* elem_map element number map array
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \deprecated Use ex_get_partial_id_map() instead
- */
-
-int ex_get_n_elem_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- void_int *elem_map)
-{
- return ex_get_partial_id_map(exoid, EX_ELEM_MAP, start_ent, num_ents, elem_map);
-}
diff --git a/cbind/src/ex_get_n_elem_var.c b/cbind/src/ex_get_n_elem_var.c
deleted file mode 100644
index ad919c6..0000000
--- a/cbind/src/ex_get_n_elem_var.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_get_partial_var() instead
- */
-
-int ex_get_n_elem_var (int exoid,
- int time_step,
- int elem_var_index,
- ex_entity_id elem_blk_id,
- int64_t num_elem_this_blk,
- int64_t start_elem_num,
- int64_t num_elem,
- void *elem_var_vals)
-{
- return ex_get_partial_var(exoid, time_step, EX_ELEM_BLOCK,
- elem_var_index, elem_blk_id,
- start_elem_num, num_elem,
- elem_var_vals);
-}
diff --git a/cbind/src/ex_get_n_nodal_var.c b/cbind/src/ex_get_n_nodal_var.c
deleted file mode 100644
index dc1f66a..0000000
--- a/cbind/src/ex_get_n_nodal_var.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <exodusII.h>
-
-/*!
- * \deprecated Use ex_get_partial_nodal_var() instead
- */
-
-int ex_get_n_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t start_node,
- int64_t num_nodes,
- void *var_vals)
-{
- return ex_get_partial_nodal_var(exoid, time_step, nodal_var_index, start_node, num_nodes, var_vals);
-}
diff --git a/cbind/src/ex_get_n_node_num_map.c b/cbind/src/ex_get_n_node_num_map.c
deleted file mode 100644
index a7d1181..0000000
--- a/cbind/src/ex_get_n_node_num_map.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* ne_gnnnm - ex_get_n_node_num_map
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid nemesis file id
-*
-* exit conditions -
-* int* node_map node numbering map array
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_get_partial_num_map() instead
- */
-
-int ex_get_n_node_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- void_int *node_map)
-{
- return ex_get_partial_id_map(exoid, EX_NODE_MAP, start_ent, num_ents, node_map);
-}
diff --git a/cbind/src/ex_get_n_node_set.c b/cbind/src/ex_get_n_node_set.c
deleted file mode 100644
index 641b7ab..0000000
--- a/cbind/src/ex_get_n_node_set.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_n_node_set()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_set_id - ID of node set to read.
- * start_node_num - The starting index of the nodes to be read.
- * num_nodes - The number of nodes to read in.
- * node_set_node_list - List of node IDs in node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_get_partial_node_set() instead
- */
-
-int ex_get_n_node_set (int exoid,
- ex_entity_id node_set_id,
- int64_t start_node_num,
- int64_t num_nodes,
- void_int *node_set_node_list)
-{
- return ex_get_partial_node_set(exoid, node_set_id, start_node_num, num_nodes, node_set_node_list);
-}
diff --git a/cbind/src/ex_get_n_node_set_df.c b/cbind/src/ex_get_n_node_set_df.c
deleted file mode 100644
index 107fa43..0000000
--- a/cbind/src/ex_get_n_node_set_df.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_get_partial_set_dist_fact() instead
- */
-
-int ex_get_n_node_set_df (int exoid,
- ex_entity_id node_set_id,
- int64_t start_num,
- int64_t num_df_to_get,
- void *node_set_dist_fact)
-{
- return ex_get_partial_set_dist_fact(exoid, EX_NODE_SET, node_set_id,
- start_num, num_df_to_get, node_set_dist_fact);
-}
diff --git a/cbind/src/ex_get_n_one_attr.c b/cbind/src/ex_get_n_one_attr.c
deleted file mode 100644
index 8407f94..0000000
--- a/cbind/src/ex_get_n_one_attr.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_get_partial_one_attr() instead.
- *
- * reads the specified attribute for a subsect of a block
- * \param exoid exodus file id
- * \param obj_type object type (edge, face, elem block)
- * \param obj_id object id (edge, face, elem block ID)
- * \param start_num the starting index of the attributes to be returned.
- * \param num_ent the number of entities to read attributes for.
- * \param attrib_index index of attribute to write
- * \param attrib array of attributes
- */
-/*
- */
-int ex_get_n_one_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- int attrib_index,
- void* attrib )
-
-{
- return ex_get_partial_one_attr(exoid, obj_type, obj_id, start_num, num_ent, attrib_index, attrib);
-}
diff --git a/cbind/src/ex_get_n_side_set.c b/cbind/src/ex_get_n_side_set.c
deleted file mode 100644
index 2c753b6..0000000
--- a/cbind/src/ex_get_n_side_set.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_get_partial_side_set() instead
- */
-
-int ex_get_n_side_set (int exoid,
- ex_entity_id side_set_id,
- int64_t start_side_num,
- int64_t num_sides,
- void_int *side_set_elem_list,
- void_int *side_set_side_list)
-{
- return ex_get_partial_side_set(exoid, side_set_id, start_side_num, num_sides,
- side_set_elem_list, side_set_side_list);
-}
diff --git a/cbind/src/ex_get_n_side_set_df.c b/cbind/src/ex_get_n_side_set_df.c
deleted file mode 100644
index 14a7840..0000000
--- a/cbind/src/ex_get_n_side_set_df.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_n_side_set_df()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * side_set_id - ID of side set to read.
- * start_side_num - The starting index of the sides to be read.
- * num_sides - The number of sides to read in.
- * side_set_dist_fact - List of side IDs in side set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \deprecated Use ex_get_partial_set_dist_fact() instead
- */
-int ex_get_n_side_set_df (int exoid,
- ex_entity_id side_set_id,
- int64_t start_num,
- int64_t num_df_to_get,
- void *side_set_dist_fact)
-{
- return ex_get_partial_set_dist_fact(exoid, EX_SIDE_SET, side_set_id, start_num, num_df_to_get,
- side_set_dist_fact);
-}
diff --git a/cbind/src/ex_get_n_var.c b/cbind/src/ex_get_n_var.c
deleted file mode 100644
index ef01f56..0000000
--- a/cbind/src/ex_get_n_var.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the values of a single element variable for one element block at
- * one time step in the database; assume the first time step and
- * element variable index is 1
- */
-
-/*!
- * \deprecated Use ex_get_partial_var() instead.
- *
- * reads the values of a single variable for a partial block at one time
- * step from the database; assume the first time step and variable index
- * and start_index are 1
- * \param exoid exodus file id
- * \param time_step time step number
- * \param var_type type (edge block, face block, edge set, ... )
- * \param var_index element variable index
- * \param obj_id element block id
- * \param start_index index of first entity in block to read (1-based)
- * \param num_entities number of entries to read in this block/set
- * \param var_vals the values to read
- */
-
-int ex_get_n_var( int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t start_index,
- int64_t num_entities,
- void* var_vals )
-{
- return ex_get_partial_var(exoid, time_step, var_type, var_index, obj_id,
- start_index, num_entities, var_vals);
-}
diff --git a/cbind/src/ex_get_name.c b/cbind/src/ex_get_name.c
deleted file mode 100644
index d21aff9..0000000
--- a/cbind/src/ex_get_name.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgnam - ex_get_name
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* const char *type entity type - M, E, S
-* int entity_id id of entity name to read
-*
-* exit conditions -
-* char* name ptr to name
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the specified entity name from the database
- */
-
-int ex_get_name (int exoid,
- ex_entity_type obj_type,
- ex_entity_id entity_id,
- char *name)
-{
- int status;
- int varid, ent_ndx;
- char errmsg[MAX_ERR_LENGTH];
- char *vobj = NULL;
- const char *routine = "ex_get_name";
-
- exerrval = 0;
-
- switch(obj_type) {
- case EX_ELEM_BLOCK:
- vobj = VAR_NAME_EL_BLK;
- break;
- case EX_EDGE_BLOCK:
- vobj = VAR_NAME_ED_BLK;
- break;
- case EX_FACE_BLOCK:
- vobj = VAR_NAME_FA_BLK;
- break;
- case EX_NODE_SET:
- vobj = VAR_NAME_NS;
- break;
- case EX_SIDE_SET:
- vobj = VAR_NAME_SS;
- break;
- case EX_EDGE_SET:
- vobj = VAR_NAME_ES;
- break;
- case EX_FACE_SET:
- vobj = VAR_NAME_FS;
- break;
- case EX_ELEM_SET:
- vobj = VAR_NAME_ELS;
- break;
- case EX_NODE_MAP:
- vobj = VAR_NAME_NM;
- break;
- case EX_EDGE_MAP:
- vobj = VAR_NAME_EDM;
- break;
- case EX_FACE_MAP:
- vobj = VAR_NAME_FAM;
- break;
- case EX_ELEM_MAP:
- vobj = VAR_NAME_EM;
- break;
- default:
- /* invalid variable type */
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid type specified in file id %d", exoid);
- ex_err(routine,errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, vobj, &varid)) == NC_NOERR) {
- /* If this is a null entity, then 'ent_ndx' will be negative.
- * We don't care in this routine, so make it positive and continue...
- */
- ent_ndx = ex_id_lkup(exoid, obj_type, entity_id);
- if (ent_ndx < 0) ent_ndx = -ent_ndx;
-
- /* read the name */
- {
- int db_name_size = ex_inquire_int(exoid, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH);
- int api_name_size = ex_inquire_int(exoid, EX_INQ_MAX_READ_NAME_LENGTH);
- int name_size = db_name_size < api_name_size ? db_name_size : api_name_size;
-
- status = ex_get_name_internal(exoid, varid, ent_ndx-1, name, name_size, obj_type, routine);
- if (status != NC_NOERR) {
- return (EX_FATAL);
- }
- }
- } else {
- /* Name variable does not exist on the database; probably since this is an
- * older version of the database. Return an empty array...
- */
- name[0] = '\0';
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_names.c b/cbind/src/ex_get_names.c
deleted file mode 100644
index 4c8cb78..0000000
--- a/cbind/src/ex_get_names.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgnam - ex_get_names
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type,
-*
-* exit conditions -
-* char* names[] ptr array of names
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the entity names from the database
- */
-
-int ex_get_names (int exoid,
- ex_entity_type obj_type,
- char **names)
-{
- int status;
- int varid, temp;
- size_t num_entity, i;
- char errmsg[MAX_ERR_LENGTH];
- const char *routine = "ex_get_names";
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined dimensions and variables */
-
- switch (obj_type) {
- /* ======== BLOCKS ========= */
- case EX_EDGE_BLOCK:
- ex_get_dimension(exoid, DIM_NUM_ED_BLK, "edge block", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_ED_BLK, &varid);
- break;
- case EX_FACE_BLOCK:
- ex_get_dimension(exoid, DIM_NUM_FA_BLK, "face block", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_FA_BLK, &varid);
- break;
- case EX_ELEM_BLOCK:
- ex_get_dimension(exoid, DIM_NUM_EL_BLK, "element block", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_EL_BLK, &varid);
- break;
-
- /* ======== SETS ========= */
- case EX_NODE_SET:
- ex_get_dimension(exoid, DIM_NUM_NS, "nodeset", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_NS, &varid);
- break;
- case EX_EDGE_SET:
- ex_get_dimension(exoid, DIM_NUM_ES, "edgeset", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_ES, &varid);
- break;
- case EX_FACE_SET:
- ex_get_dimension(exoid, DIM_NUM_FS, "faceset", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_FS, &varid);
- break;
- case EX_SIDE_SET:
- ex_get_dimension(exoid, DIM_NUM_SS, "sideset", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_SS, &varid);
- break;
- case EX_ELEM_SET:
- ex_get_dimension(exoid, DIM_NUM_ELS, "elemset", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_ELS, &varid);
- break;
-
- /* ======== MAPS ========= */
- case EX_NODE_MAP:
- ex_get_dimension(exoid, DIM_NUM_NM, "node map", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_NM, &varid);
- break;
- case EX_EDGE_MAP:
- ex_get_dimension(exoid, DIM_NUM_EDM, "edge map", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_EDM, &varid);
- break;
- case EX_FACE_MAP:
- ex_get_dimension(exoid, DIM_NUM_FAM, "face map", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_FAM, &varid);
- break;
- case EX_ELEM_MAP:
- ex_get_dimension(exoid, DIM_NUM_EM, "element map", &num_entity, &temp, routine);
- status = nc_inq_varid(exoid, VAR_NAME_EM, &varid);
- break;
-
- /* invalid variable type */
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid type specified in file id %d",
- exoid);
- ex_err(routine,errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (status == NC_NOERR) {
- if ((status = ex_get_names_internal(exoid, varid, num_entity, names,
- obj_type, "ex_get_names")) != EX_NOERR) {
- return status;
- }
- } else {
- /* Names variable does not exist on the database; probably since this is an
- * older version of the database. Return an empty array...
- */
- for (i=0; i<num_entity; i++) {
- names[i][0] = '\0';
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_nodal_var.c b/cbind/src/ex_get_nodal_var.c
deleted file mode 100644
index 2fadafd..0000000
--- a/cbind/src/ex_get_nodal_var.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-The function ex_get_nodal_var() reads the values of a single nodal
-variable for a single time step. Memory must be allocated for the
-nodal variable values array before this function is invoked.
-
-Because nodal variables are floating point values, the application
-code must declare the array passed to be the appropriate type (\c
-float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_get_nodal_var() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - specified nodal variable does not exist.
- - a warning value is returned if no nodal variables are stored in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create()
- or ex_open().
-
-\param[in] time_step The time step, as described under ex_put_time(), at which the
- nodal variable values are desired. This is essentially an index (in
- the time dimension) into the nodal variable values array stored in
- the database. The first time step is 1.
-
-\param[in] nodal_var_index The index of the desired nodal variable. The first variable
- has an index of 1.
-
-\param[in] num_nodes The number of nodal points.
-
-\param[out] nodal_var_vals Returned array of \c num_nodes values of the \c nodal_var_index-th
- nodal variable for the \c time_step-th time step.
-
-
-For example, the following demonstrates how this function would be
-used:
-
-\code
-int num_nodes, time_step, var_index;
-float *var_values;
-
-\comment{read the second nodal variable at the first time step}
-time_step = 1;
-var_index = 2;
-
-var_values = (float *) calloc (num_nodes, sizeof(float));
-error = ex_get_nodal_var(exoid, time_step, var_index, num_nodes,
- var_values);
-\endcode
-
-*/
-
-int ex_get_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t num_nodes,
- void *nodal_var_vals)
-{
- int varid;
- int status;
- size_t start[3], count[3];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined variable */
-
- if (ex_large_model(exoid) == 0) {
- /* read values of the nodal variable */
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variables in file id %d",
- exoid);
- ex_err("ex_get_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
-
- start[0] = --time_step;
- start[1] = --nodal_var_index;
- start[2] = 0;
-
- count[0] = 1;
- count[1] = 1;
- count[2] = num_nodes;
-
- } else {
- /* read values of the nodal variable -- stored as separate variables... */
- /* Get the varid.... */
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR_NEW(nodal_var_index), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variable %d in file id %d",
- nodal_var_index, exoid);
- ex_err("ex_get_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
-
- start[0] = --time_step;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = num_nodes;
- }
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, varid, start, count, nodal_var_vals);
- } else {
- status = nc_get_vara_double(exoid, varid, start, count, nodal_var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get nodal variables in file id %d",
- exoid);
- ex_err("ex_get_nodal_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_nodal_var_time.c b/cbind/src/ex_get_nodal_var_time.c
deleted file mode 100644
index cd6e355..0000000
--- a/cbind/src/ex_get_nodal_var_time.c
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-The function ex_get_nodal_var_time() reads the values of a nodal
-variable for a single node through a specified number of time
-steps. Memory must be allocated for the nodal variable values array
-before this function is invoked.
-
-Because nodal variables are floating point values, the application
-code must declare the array passed to be the appropriate type (\c
-float or ``double'') to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_get_nodal_var_time() returns a
-negative number; a warning will return a positive number. Possible
-causes of errors include:
- - specified nodal variable does not exist.
- - a warning value is returned if no nodal variables are stored in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or
- ex_open().
-
-\param[in] nodal_var_index The index of the desired nodal variable. The first variable has an
- index of 1.
-
-\param[in] node_number The internal ID (see Section LocalNodeIds) of the desired
- node. The first node is 1.
-
-\param[in] beg_time_step The beginning time step for which a nodal variable value
- is desired. This is not a time value but rather a time step number,
- as described under ex_put_time(). The first time step is 1.
-
-\param[in] end_time_step The last time step for which a nodal variable value is desired. If
- negative, the last time step in the database will be used. The first
- time step is 1.
-
-\param[out] nodal_var_vals Returned array of(\c end_time_step {-} \c beg_time_step +1) values
- of the \c node_number-th node for the \c nodal_var_index-th nodal
- variable.
-
-
-For example, the following code segment will read the values of the
-first nodal variable for node number one for all time steps stored in
-the data file:
-
-\code
-#include "exodusII.h"
-int num_time_steps, var_index, node_num, beg_time, end_time, error, exoid;
-float *var_values;
-
-\comment{determine how many time steps are stored}
-num_time_steps = ex_inquire_int(exoid, EX_INQ_TIME);
-
-\comment{read a nodal variable through time}
-var_values = (float *) calloc (num_time_steps, sizeof(float));
-
-var_index = 1; node_num = 1; beg_time = 1; end_time = -1;
-error = ex_get_nodal_var_time(exoid, var_index, node_num, beg_time,
- end_time, var_values);
-
-\endcode
-*/
-
-int ex_get_nodal_var_time (int exoid,
- int nodal_var_index,
- int64_t node_number,
- int beg_time_step,
- int end_time_step,
- void *nodal_var_vals)
-{
- int status;
- int varid;
- size_t start[3], count[3];
- char errmsg[MAX_ERR_LENGTH];
-
- beg_time_step--;
- node_number--;
-
- /* inquire previously defined variable */
- if (end_time_step < 0) {
- /* user is requesting the maximum time step; we find this out using the
- * database inquire function to get the number of time steps; the ending
- * time step number is 1 less due to 0 based array indexing in C
- */
- end_time_step = ex_inquire_int (exoid, EX_INQ_TIME);
- }
-
- end_time_step--;
-
- if (ex_large_model(exoid) == 0) {
- /* read values of the nodal variable;
- * assume node number is 1-based (first node is numbered 1); adjust
- * so it is 0-based
- */
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variable %d in file id %d",
- nodal_var_index, exoid);
- ex_err("ex_get_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
-
- start[0] = beg_time_step;
- start[1] = --nodal_var_index;
- start[2] = node_number;
-
- count[0] = end_time_step - beg_time_step + 1;
- count[1] = 1;
- count[2] = 1;
- } else {
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR_NEW(nodal_var_index), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variable %d in file id %d",
- nodal_var_index, exoid);
- ex_err("ex_get_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* read values of the nodal variable;
- * assume node number is 1-based (first node is numbered 1); adjust
- * so it is 0-based
- */
-
- start[0] = beg_time_step;
- start[1] = node_number;
-
- count[0] = end_time_step - beg_time_step + 1;
- count[1] = 1;
- }
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, varid, start, count, nodal_var_vals);
- } else {
- status = nc_get_vara_double(exoid, varid, start, count, nodal_var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get nodal variables in file id %d",
- exoid);
- ex_err("ex_get_nodal_var_time",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_node_cmap.c b/cbind/src/ex_get_node_cmap.c
deleted file mode 100644
index 253e86e..0000000
--- a/cbind/src/ex_get_node_cmap.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/****************************************************************************/
-/****************************************************************************/
-/* Function(s) in this file:
- * ex_get_node_cmap()
- *
- ****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * map_id - The ID of the nodal communication map to retrieve.
- * node_ids - Pointer to vector for retrieval of FEM node IDs
- * that make up this communication map.
- * proc_ids - Pointer to vector for retrieval of the processors
- * associated with each of the nodes in this nodal
- * communication map.
- * processor - The processor the file being read was written for.
- */
-/****************************************************************************/
-/****************************************************************************/
-/****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <netcdf.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_node_cmap(int exoid,
- ex_entity_id map_id,
- void_int *node_ids,
- void_int *proc_ids,
- int processor
- )
-{
- const char *func_name="ex_get_node_cmap";
-
- int map_idx, dimid, varid[2], status;
- size_t start[1], count[1];
- int64_t varidx[2];
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* get the cmap information variables index */
- if (ex_get_idx(exoid, VAR_N_COMM_INFO_IDX, varidx, processor) == -1) {
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_N_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /*
- * no need to check if the second index is -1 that is handled
- * in ne_id_lkup, where the dimension must be looked up anyways
- */
-
- /* Get the index of the nodal comm map with the given ID */
- if ((map_idx=ne_id_lkup(exoid, VAR_N_COMM_IDS, varidx, map_id)) < 0) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: failed to find nodal comm map with ID %"PRId64" in file ID %d",
- map_id, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* get the cmap data variables index for this map */
- if (ex_get_idx(exoid, VAR_N_COMM_DATA_IDX, varidx, map_idx) == -1) {
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_N_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (varidx[1] == -1) {
- /* Get the dimension of this nodal communication map */
- if ((status = nc_inq_dimid(exoid, DIM_NCNT_CMAP, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NCNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid,count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NCNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- varidx[1] = count[0];
- }
-
- /* Get the variable ID for the nodal comm map node IDs */
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_NIDS, &varid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_NIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the nodal comm map processor IDs */
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_PROC, &varid[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the nodal comm map node IDs */
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid[0], start, count, node_ids);
- } else {
- status = nc_get_vara_int(exoid, varid[0], start, count, node_ids);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_N_COMM_NIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the nodal comm map processor IDs */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid[1], start, count, proc_ids);
- } else {
- status = nc_get_vara_int(exoid, varid[1], start, count, proc_ids);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_N_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_node_map.c b/cbind/src/ex_get_node_map.c
deleted file mode 100644
index ad58604..0000000
--- a/cbind/src/ex_get_node_map.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgnm - ex_get_node_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_id node map id
-*
-* exit conditions -
-* int* node_map node map
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the node map with specified ID
- * \deprecated Use ex_get_num_map()(exoid, EX_NODE_MAP, map_id, node_map
- */
-
-int ex_get_node_map( int exoid,
- ex_entity_id map_id,
- void_int *node_map )
-{
- return ex_get_num_map( exoid, EX_NODE_MAP, map_id, node_map );
-}
diff --git a/cbind/src/ex_get_node_num_map.c b/cbind/src/ex_get_node_num_map.c
deleted file mode 100644
index 16c16f3..0000000
--- a/cbind/src/ex_get_node_num_map.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgnnm - ex_get_node_num_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-* int* node_map node numbering map array
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_get_id_map()(exoid, EX_NODE_MAP, node_map)
-
-The function ex_get_node_num_map() reads the optional node number
-mapnode number map from the database. See Section LocalNodeIds for a
-description of the node number map. If a node number map is not stored
-in the data file, a default array (1,2,3,. .. \c num_nodes) is
-returned. Memory must be allocated for the node number map array
-(\c num_nodes in length) before this call is made.
-
-\return In case of an error, ex_get_node_num_map() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - if a node number map is not stored, a default map and a warning value are returned.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] node_map Returned node number map.
-
-The following code will read a node number map from an open exodus
-file :
-
-\code
-int *node_map, error, exoid;
-
-\comment{read node number map}
-node_map = (int *)calloc(num_nodes, sizeof(int));
-error = ex_get_node_num_map(exoid, node_map);
-
-\comment{Equivalent using non-deprecated function}
-error = ex_get_id_map(exoid, EX_NODE_MAP, node_map);
-\endcode
-
-*/
-
-int ex_get_node_num_map (int exoid,
- void_int *node_map)
-{
- return ex_get_id_map(exoid, EX_NODE_MAP, node_map);
-}
diff --git a/cbind/src/ex_get_node_set.c b/cbind/src/ex_get_node_set.c
deleted file mode 100644
index 6b6390d..0000000
--- a/cbind/src/ex_get_node_set.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgns - ex_get_node_set
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int node_set_id node set id
-*
-* exit conditions -
-* int* node_set_node_list node list array for the node set
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the node list for a single node set
- * \deprecated Use ex_get_set()(exoid, EX_NODE_SET, node_set_id, node_set_node_list, NULL)
- */
-
-int ex_get_node_set (int exoid,
- ex_entity_id node_set_id,
- void_int *node_set_node_list)
-{
- return ex_get_set(exoid, EX_NODE_SET, node_set_id, node_set_node_list,
- NULL);
-}
diff --git a/cbind/src/ex_get_node_set_dist_fact.c b/cbind/src/ex_get_node_set_dist_fact.c
deleted file mode 100644
index a5f9d74..0000000
--- a/cbind/src/ex_get_node_set_dist_fact.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_get_set_dist_fact()(exoid, EX_NODE_SET, node_set_id, node_set_dist_fact)
-
-The function ex_get_node_set_dist_fact() returns the node set
-distribution factors for a single node set. Memory must be allocated
-for the list of distribution factors(\c num_dist_in_set in length)
-before this function is invoked.
-
-Because the distribution factors are floating point values, the
-application code must declare the array passed to be the appropriate
-type (\c float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_get_node_set_dist_fact() returns a
-negative number; a warning will return a positive number. Possible
-causes of errors include:
- - a warning value is returned if no distribution factors were stored.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] node_set_id The node set ID.
-\param[out] node_set_dist_fact Returned array containing the distribution factors in the node set.
-
-Refer to the description of ex_get_node_set_param() for a sample code
-segment to read a node set's distribution factors.
-*/
-
-int ex_get_node_set_dist_fact (int exoid,
- ex_entity_id node_set_id,
- void *node_set_dist_fact)
-{
- return ex_get_set_dist_fact(exoid, EX_NODE_SET, node_set_id,
- node_set_dist_fact);
-}
diff --git a/cbind/src/ex_get_node_set_ids.c b/cbind/src/ex_get_node_set_ids.c
deleted file mode 100644
index e7fe0b8..0000000
--- a/cbind/src/ex_get_node_set_ids.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_get_ids()(exoid, EX_NODE_SET, ids)
-
-The function ex_get_node_set_ids() reads the IDs of all of the node
-sets. Memory must be allocated for the returned array of
-({num_node_sets}) IDs before this function is invoked.
-
-\return In case of an error, ex_get_node_set_ids() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - a warning value is returned if no node sets are stored in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] ids Returned array of the node sets IDs. The order of the IDs in this array
- reflects the sequence the node sets were introduced into the file.
-
-As an example, the following code will read all of the node set IDs
-from an open data file:
-
-\code
-int *ids, num_node_sets, error, exoid;
-
-\comment{read node sets IDs}
-ids = (int *) calloc(num_node_sets, sizeof(int));
-
-error = ex_get_node_set_ids (exoid, ids);
-
-\comment{Same result using non-deprecated functions.}
-error = ex_get_ids (exoid, EX_NODE_SET, ids);
-\endcode
- */
-
-int ex_get_node_set_ids (int exoid,
- void_int *ids)
-{
- return ex_get_ids( exoid, EX_NODE_SET, ids );
-}
diff --git a/cbind/src/ex_get_node_set_param.c b/cbind/src/ex_get_node_set_param.c
deleted file mode 100644
index ddfae47..0000000
--- a/cbind/src/ex_get_node_set_param.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_get_set_param()(exoid, EX_NODE_SET, node_set_id, num_nodes_in_set, num_df_in_set)
-
-The function ex_get_node_set_param() reads the number of nodes which
-describe a single node set and the number of distribution factors for
-the node set.
-
-\return In case of an error, ex_get_node_set_param() returns a
-negative number; a warning will return a positive number. Possible
-causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - a warning value is returned if no node sets are stored in the file.
- - incorrect node set ID.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] node_set_id The node set ID.
-\param[out] num_nodes_in_set Returned number of nodes in the node set.
-\param[out] num_df_in_set Returned number of distribution factors in the node set.
-
-The following code segment will read a node set from an open exodus
-file :
-\code
-int error, exoid, id, num_nodes_in_set, num_df_in_set, *node_list;
-float *dist_fact;
-
-\comment{read node set parameters}
-id = 100;
-
-error = ex_get_node_set_param(exoid, id, &num_nodes_in_set,
- &num_df_in_set);
-
-\comment{read node set node list}
-node_list = (int *) calloc(num_nodes_in_set, sizeof(int));
-error = ex_get_node_set(exoid, id, node_list);
-
-\comment{read node set distribution factors}
-if (num_df_in_set > 0) {
- dist_fact = (float *) calloc(num_nodes_in_set, sizeof(float));
- error = ex_get_node_set_dist_fact(exoid, id, dist_fact);
-}
-
-\comment{Same result using non-deprecated functions}
-error = ex_get_set_param(exoid, EX_NODE_SET, id, &num_nodes_in_set, &num_df_in_set);
-error = ex_get_set(exoid, EX_NODE_SET, id, node_list);
-if (num_df_in_set > 0) {
- error = ex_get_set_dist_fact(exoid, EX_NODE_SET, id, dist_fact);
-}
-
-\endcode
-
- */
-
-int ex_get_node_set_param (int exoid,
- ex_entity_id node_set_id,
- void_int *num_nodes_in_set,
- void_int *num_df_in_set)
-{
- return ex_get_set_param(exoid, EX_NODE_SET, node_set_id,
- num_nodes_in_set, num_df_in_set);
-}
diff --git a/cbind/src/ex_get_ns_param_global.c b/cbind/src/ex_get_ns_param_global.c
deleted file mode 100644
index 21dd43f..0000000
--- a/cbind/src/ex_get_ns_param_global.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_get_ns_param_global()
- *****************************************************************************
- * This function retrieves the global node-set parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * global_ids - Pointer to a vector of global node-set IDs.
- * node_cnts - Pointer to a vector of global node counts in
- * each global node set.
- * df_cnts - Pointer to a vector of global distribution
- * factors in each global node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_get_ns_param_global(int exoid,
- void_int *global_ids,
- void_int *node_cnts,
- void_int *df_cnts
- )
-{
- const char *func_name="ex_get_ns_param_global";
- int varid, status;
-
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Get the variable ID for the vector of global node set IDs */
- if ((status = nc_inq_varid(exoid, VAR_NS_IDS_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the vector of node set IDs */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_get_var_longlong(exoid, varid, global_ids);
- } else {
- status = nc_get_var_int(exoid, varid, global_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_NS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the vector of global node set node count */
- if (node_cnts != NULL) {
- if ((status = nc_inq_varid(exoid, VAR_NS_NODE_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NS_NODE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the vector of node set node counts */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, varid, node_cnts);
- } else {
- status = nc_get_var_int(exoid, varid, node_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_NS_NODE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- } /* End "if (node_cnts != NULL)" */
-
- /* Get the variable ID for the vector of global node set dist. fact count */
- if (df_cnts != NULL) {
- if ((status = nc_inq_varid(exoid, VAR_NS_DF_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the vector of node set dist. fact counts */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, varid, df_cnts);
- } else {
- status = nc_get_var_int(exoid, varid, df_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_NS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- } /* End "if (df_cnts != NULL)" */
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_nset_var.c b/cbind/src/ex_get_nset_var.c
deleted file mode 100644
index 489fdc0..0000000
--- a/cbind/src/ex_get_nset_var.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgssv - ex_get_nset_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* int nset_var_index nodeset variable index
-* int nset_blk_id nodeset id
-* int num_node_this_nset number of nodes in this nodeset
-*
-*
-* exit conditions -
-* float* nset_var_vals array of nodeset variable values
-*
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the values of a single nodeset variable for one nodeset at
- * one time step in the database; assume the first time step and
- * nodeset variable index is 1
- * \deprecated Use ex_get_var()(exoid, time_step, EX_NODE_SET, nset_var_index, nset_id, num_node_this_nset, nset_var_vals) instead
- */
-
-int ex_get_nset_var (int exoid,
- int time_step,
- int nset_var_index,
- ex_entity_id nset_id,
- int64_t num_node_this_nset,
- void *nset_var_vals)
-{
- return ex_get_var(exoid, time_step, EX_NODE_SET, nset_var_index,
- nset_id, num_node_this_nset, nset_var_vals);
-}
diff --git a/cbind/src/ex_get_nset_var_tab.c b/cbind/src/ex_get_nset_var_tab.c
deleted file mode 100644
index 9e12c80..0000000
--- a/cbind/src/ex_get_nset_var_tab.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvtt - ex_get_nset_var_tab
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_nodesets number of nodesets
-* int num_nset_var number of nodeset variables
-*
-* exit conditions -
-* int* nset_var_tab nodeset variable truth table array
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the EXODUS II nodeset variable truth table from the database
- * \deprecated Use ex_get_truth_table()(exoid, EX_NODE_SET, num_nodesets, num_nset_var, nset_var_tab)
- */
-
-int ex_get_nset_var_tab (int exoid,
- int num_nodesets,
- int num_nset_var,
- int *nset_var_tab)
-{
- return ex_get_truth_table(exoid, EX_NODE_SET, num_nodesets, num_nset_var, nset_var_tab);
-}
diff --git a/cbind/src/ex_get_num_map.c b/cbind/src/ex_get_num_map.c
deleted file mode 100644
index d43e3a0..0000000
--- a/cbind/src/ex_get_num_map.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgnm - ex_get_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_type type of map (node, edge, face, element)
-* int map_id map id
-*
-* exit conditions -
-* int* map map
-*
-* revision history -
-* 20060930 - David Thompson - Adapted from ex_get_node_map
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the map with specified ID
- */
-
-int ex_get_num_map ( int exoid,
- ex_entity_type map_type,
- ex_entity_id map_id,
- void_int* map )
-{
- int dimid, var_id, id_ndx, status;
- char errmsg[MAX_ERR_LENGTH];
- const char* dim_map_size;
- const char* dim_num_maps;
-
- switch (map_type) {
- case EX_NODE_MAP:
- dim_map_size = DIM_NUM_NODES;
- dim_num_maps = DIM_NUM_NM;
- break;
- case EX_EDGE_MAP:
- dim_map_size = DIM_NUM_EDGE;
- dim_num_maps = DIM_NUM_EDM;
- break;
- case EX_FACE_MAP:
- dim_map_size = DIM_NUM_FACE;
- dim_num_maps = DIM_NUM_FAM;
- break;
- case EX_ELEM_MAP:
- dim_map_size = DIM_NUM_ELEM;
- dim_num_maps = DIM_NUM_EM;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg, "Bad map type (%d) specified", map_type );
- ex_err( "ex_get_num_map", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- exerrval = 0; /* clear error code */
-
- /* See if any entries are stored in this file */
- if (nc_inq_dimid (exoid, dim_map_size, &dimid) != NC_NOERR) {
- return (EX_NOERR);
- }
-
- /* first check if any maps have been defined */
- if ((status = nc_inq_dimid(exoid, dim_num_maps, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no %ss defined in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_get_map",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of map id property array */
- id_ndx = ex_id_lkup(exoid,map_type,map_id);
- if (exerrval != 0) {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id variable in file id %d",
- ex_name_of_object(map_type),map_id,exoid);
- ex_err("ex_get_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_varid(exoid, ex_name_of_map(map_type,id_ndx), &var_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s %"PRId64" in file id %d",
- ex_name_of_object(map_type),map_id,exoid);
- ex_err("ex_get_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read in the map */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_var_longlong(exoid, var_id, map);
- } else {
- status = nc_get_var_int(exoid, var_id, map);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_get_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_object_truth_vector.c b/cbind/src/ex_get_object_truth_vector.c
deleted file mode 100644
index 32453d5..0000000
--- a/cbind/src/ex_get_object_truth_vector.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgotv - ex_get_object_truth_vector
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the EXODUS II specified variable truth vector from the database
- */
-
-int ex_get_object_truth_vector (int exoid,
- ex_entity_type obj_type,
- ex_entity_id entity_id,
- int num_var,
- int *var_vec)
-{
- int statust;
- int varid, tabid, i, status, ent_ndx;
- size_t num_var_db = 0;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
- const char* routine = "ex_get_object_truth_vector";
-
- /*
- * The ent_type and the var_name are used to build the netcdf
- * variables name. Normally this is done via a macro defined in
- * exodusII_int.h
- */
- const char* ent_type = NULL;
- const char* var_name = NULL;
-
- exerrval = 0; /* clear error code */
-
- switch (obj_type) {
- case EX_EDGE_BLOCK:
- status = ex_get_dimension(exoid, DIM_NUM_EDG_VAR, "edge variables", &num_var_db, &varid, routine);
- statust = nc_inq_varid(exoid, VAR_EBLK_TAB, &tabid);
- var_name = "vals_edge_var";
- ent_type = "eb";
- break;
- case EX_FACE_BLOCK:
- status = ex_get_dimension(exoid, DIM_NUM_FAC_VAR, "face variables", &num_var_db, &varid, routine);
- statust = nc_inq_varid (exoid, VAR_FBLK_TAB, &tabid);
- var_name = "vals_face_var";
- ent_type = "fb";
- break;
- case EX_ELEM_BLOCK:
- status = ex_get_dimension(exoid, DIM_NUM_ELE_VAR, "element variables", &num_var_db, &varid, routine);
- statust = nc_inq_varid (exoid, VAR_ELEM_TAB, &tabid);
- var_name = "vals_elem_var";
- ent_type = "eb";
- break;
- case EX_NODE_SET:
- status = ex_get_dimension(exoid, DIM_NUM_NSET_VAR, "nodeset variables", &num_var_db, &varid, routine);
- statust = nc_inq_varid (exoid, VAR_NSET_TAB, &tabid);
- var_name = "vals_nset_var";
- ent_type = "ns";
- break;
- case EX_EDGE_SET:
- status = ex_get_dimension(exoid, DIM_NUM_ESET_VAR, "edgeset variables", &num_var_db, &varid, routine);
- statust = nc_inq_varid (exoid, VAR_ESET_TAB, &tabid);
- var_name = "vals_eset_var";
- ent_type = "es";
- break;
- case EX_FACE_SET:
- status = ex_get_dimension(exoid, DIM_NUM_FSET_VAR, "faceset variables", &num_var_db, &varid, routine);
- statust = nc_inq_varid (exoid, VAR_FSET_TAB, &tabid);
- var_name = "vals_fset_var";
- ent_type = "fs";
- break;
- case EX_SIDE_SET:
- status = ex_get_dimension(exoid, DIM_NUM_SSET_VAR, "sideset variables", &num_var_db, &varid, routine);
- statust = nc_inq_varid (exoid, VAR_SSET_TAB, &tabid);
- var_name = "vals_sset_var";
- ent_type = "ss";
- break;
- case EX_ELEM_SET:
- status = ex_get_dimension(exoid, DIM_NUM_ELSET_VAR, "elemset variables", &num_var_db, &varid, routine);
- statust = nc_inq_varid (exoid, VAR_ELSET_TAB, &tabid);
- var_name = "vals_elset_var";
- ent_type = "es";
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid variable type %d specified in file id %d",
- obj_type, exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_WARN);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- return (EX_WARN);
- }
-
- /* Determine index of entity_id in id array */
- ent_ndx = ex_id_lkup(exoid,obj_type,entity_id);
- if (exerrval != 0) {
- if (exerrval != EX_NULLENTITY) {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id variable in file id %d",
- ex_name_of_object(obj_type), entity_id, exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* If this is a null entity, then 'ent_ndx' will be negative.
- * We don't care in this routine, so make it positive and continue...
- */
- if (ent_ndx < 0) ent_ndx = -ent_ndx;
-
- if ((int)num_var_db != num_var) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: # of variables doesn't match those defined in file id %d", exoid);
- ex_err("ex_get_object_truth_vector",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (statust != NC_NOERR) {
- /* since truth vector isn't stored in the data file, derive it dynamically */
- for (i=0; i<num_var; i++) {
- /* NOTE: names are 1-based */
- if (nc_inq_varid(exoid, ex_catstr2(var_name, i+1, ent_type, ent_ndx), &tabid) != NC_NOERR) {
- /* variable doesn't exist; put a 0 in the truth vector */
- var_vec[i] = 0;
- } else {
- /* variable exists; put a 1 in the truth vector */
- var_vec[i] = 1;
- }
- }
- } else {
-
- /* read in the truth vector */
-
- start[0] = ent_ndx-1;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = num_var;
-
- status = nc_get_vara_int(exoid, tabid, start, count, var_vec);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get truth vector from file id %d", exoid);
- ex_err("ex_get_object_truth_vector",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_one_attr.c b/cbind/src/ex_get_one_attr.c
deleted file mode 100644
index d069794..0000000
--- a/cbind/src/ex_get_one_attr.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgeat - ex_get_one_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type (edge, face, elem block)
-* int obj_id object id (edge face, elem block ID)
-*
-* exit conditions -
-* float* attrib array of attributes
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the attributes for an edge, face, or element block
- */
-int ex_get_one_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int attrib_index,
- void* attrib )
-
-{
- int status;
- int attrid, obj_id_ndx;
- int temp;
- size_t num_entries_this_obj, num_attr;
- size_t start[2], count[2];
- ptrdiff_t stride[2];
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumobjent;
- const char* dnumobjatt;
- const char* vattrbname;
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of obj_id in vobjids array */
- if (obj_type != EX_NODAL) {
- obj_id_ndx = ex_id_lkup(exoid,obj_type,obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes found for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_one_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this object */
- } else {
- sprintf(errmsg,
- "Warning: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(obj_type),obj_id, exoid);
- ex_err("ex_get_one_attr",errmsg,exerrval);
- return (EX_WARN);
- }
- }
- }
-
- switch (obj_type) {
- case EX_SIDE_SET:
- dnumobjent = DIM_NUM_SIDE_SS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_SS(obj_id_ndx);
- vattrbname = VAR_SSATTRIB(obj_id_ndx);
- break;
- case EX_NODE_SET:
- dnumobjent = DIM_NUM_NOD_NS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_NS(obj_id_ndx);
- vattrbname = VAR_NSATTRIB(obj_id_ndx);
- break;
- case EX_EDGE_SET:
- dnumobjent = DIM_NUM_EDGE_ES(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ES(obj_id_ndx);
- vattrbname = VAR_ESATTRIB(obj_id_ndx);
- break;
- case EX_FACE_SET:
- dnumobjent = DIM_NUM_FACE_FS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FS(obj_id_ndx);
- vattrbname = VAR_FSATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_SET:
- dnumobjent = DIM_NUM_ELE_ELS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ELS(obj_id_ndx);
- vattrbname = VAR_ELSATTRIB(obj_id_ndx);
- break;
- case EX_NODAL:
- dnumobjent = DIM_NUM_NODES;
- dnumobjatt = DIM_NUM_ATT_IN_NBLK;
- vattrbname = VAR_NATTRIB;
- break;
- case EX_EDGE_BLOCK:
- dnumobjent = DIM_NUM_ED_IN_EBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_EBLK(obj_id_ndx);
- vattrbname = VAR_EATTRIB(obj_id_ndx);
- break;
- case EX_FACE_BLOCK:
- dnumobjent = DIM_NUM_FA_IN_FBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FBLK(obj_id_ndx);
- vattrbname = VAR_FATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_BLOCK:
- dnumobjent = DIM_NUM_EL_IN_BLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_BLK(obj_id_ndx);
- vattrbname = VAR_ATTRIB(obj_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- obj_type,exoid);
- ex_err("ex_get_one_attr",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- /* inquire id's of previously defined dimensions */
- if (ex_get_dimension(exoid, dnumobjent,"entries", &num_entries_this_obj, &temp, "ex_get_one_attr") != NC_NOERR)
- return EX_FATAL;
-
- if (ex_get_dimension(exoid, dnumobjatt,"attributes", &num_attr, &temp, "ex_get_one_attr") != NC_NOERR)
- return EX_FATAL;
-
- if (attrib_index < 1 || attrib_index > (int)num_attr) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: Invalid attribute index specified: %d. Valid range is 1 to %d for %s %"PRId64" in file id %d",
- attrib_index, (int)num_attr, ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_get_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, vattrbname, &attrid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* read in the attributes */
- start[0] = 0;
- start[1] = attrib_index-1;
-
- count[0] = num_entries_this_obj;
- count[1] = 1;
-
- stride[0] = 1;
- stride[1] = num_attr;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vars_float(exoid, attrid, start, count, stride, attrib);
- } else {
- status = nc_get_vars_double(exoid, attrid, start, count, stride, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get attribute %d for %s %"PRId64" in file id %d",
- attrib_index, ex_name_of_object(obj_type), obj_id,exoid);
- ex_err("ex_get_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_one_elem_attr.c b/cbind/src/ex_get_one_elem_attr.c
deleted file mode 100644
index fde25f2..0000000
--- a/cbind/src/ex_get_one_elem_attr.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgeat - ex_get_one_elem_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int elem_blk_id element block id
-*
-* exit conditions -
-* float* attrib array of attributes
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the attributes for an element block
- * \deprecated Use ex_get_one_attr()(exoid, EX_ELEM_BLOCK, elem_blk_id, attrib_index, attrib)
- */
-int ex_get_one_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- int attrib_index,
- void *attrib)
-
-{
- return ex_get_one_attr( exoid, EX_ELEM_BLOCK, elem_blk_id, attrib_index, attrib );
-}
diff --git a/cbind/src/ex_get_partial_attr.c b/cbind/src/ex_get_partial_attr.c
deleted file mode 100644
index 75e966f..0000000
--- a/cbind/src/ex_get_partial_attr.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgeat - ex_get_partial_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type (edge, face, elem block)
-* int obj_id object id (edge face, elem block ID)
-* int start_num starting index of attributes to be returned.
-* int num_ent number of entities to read attributes for.
-*
-* exit conditions -
-* float* attrib array of attributes
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the specified attribute for a subsect of a block
- * \param exoid exodus file id
- * \param obj_type object type (edge, face, elem block)
- * \param obj_id object id (edge, face, elem block ID)
- * \param start_num the starting index of the attributes to be returned.
- * \param num_ent the number of entities to read attributes for.
- * \param attrib_index index of attribute to write
- * \param attrib array of attributes
- */
-/*
- */
-int ex_get_partial_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- void* attrib )
-
-{
- int status;
- int attrid, obj_id_ndx;
- int temp;
- size_t num_entries_this_obj, num_attr;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumobjent;
- const char* dnumobjatt;
- const char* vattrbname;
-
- exerrval = 0; /* clear error code */
-
- if (num_ent == 0)
- return 0;
- /* Determine index of obj_id in vobjids array */
- if (obj_type != EX_NODAL) {
- obj_id_ndx = ex_id_lkup(exoid,obj_type,obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes found for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_partial_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this object */
- } else {
- sprintf(errmsg,
- "Warning: failed to locate %s id%"PRId64" in id array in file id %d",
- ex_name_of_object(obj_type),obj_id, exoid);
- ex_err("ex_get_partial_attr",errmsg,exerrval);
- return (EX_WARN);
- }
- }
- }
-
- switch (obj_type) {
- case EX_SIDE_SET:
- dnumobjent = DIM_NUM_SIDE_SS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_SS(obj_id_ndx);
- vattrbname = VAR_SSATTRIB(obj_id_ndx);
- break;
- case EX_NODE_SET:
- dnumobjent = DIM_NUM_NOD_NS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_NS(obj_id_ndx);
- vattrbname = VAR_NSATTRIB(obj_id_ndx);
- break;
- case EX_EDGE_SET:
- dnumobjent = DIM_NUM_EDGE_ES(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ES(obj_id_ndx);
- vattrbname = VAR_ESATTRIB(obj_id_ndx);
- break;
- case EX_FACE_SET:
- dnumobjent = DIM_NUM_FACE_FS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FS(obj_id_ndx);
- vattrbname = VAR_FSATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_SET:
- dnumobjent = DIM_NUM_ELE_ELS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ELS(obj_id_ndx);
- vattrbname = VAR_ELSATTRIB(obj_id_ndx);
- break;
- case EX_NODAL:
- dnumobjent = DIM_NUM_NODES;
- dnumobjatt = DIM_NUM_ATT_IN_NBLK;
- vattrbname = VAR_NATTRIB;
- break;
- case EX_EDGE_BLOCK:
- dnumobjent = DIM_NUM_ED_IN_EBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_EBLK(obj_id_ndx);
- vattrbname = VAR_EATTRIB(obj_id_ndx);
- break;
- case EX_FACE_BLOCK:
- dnumobjent = DIM_NUM_FA_IN_FBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FBLK(obj_id_ndx);
- vattrbname = VAR_FATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_BLOCK:
- dnumobjent = DIM_NUM_EL_IN_BLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_BLK(obj_id_ndx);
- vattrbname = VAR_ATTRIB(obj_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- obj_type,exoid);
- ex_err("ex_get_partial_attr",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- /* inquire id's of previously defined dimensions */
- if (ex_get_dimension(exoid, dnumobjent,"entries", &num_entries_this_obj, &temp, "ex_get_partial_attr") != NC_NOERR)
- return EX_FATAL;
-
- if (start_num + num_ent -1 > num_entries_this_obj) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: start index (%"PRId64") + count (%"PRId64") is larger than total number of entities (%"ST_ZU") in file id %d",
- start_num, num_ent, num_entries_this_obj, exoid);
- ex_err("ex_get_partial_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_dimension(exoid, dnumobjatt,"attributes", &num_attr, &temp, "ex_get_partial_attr") != NC_NOERR)
- return EX_FATAL;
-
- if ((status = nc_inq_varid(exoid, vattrbname, &attrid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_partial_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* read in the attributes */
- start[0] = start_num-1;
- start[1] = 0;
-
- count[0] = num_ent;
- count[1] = num_attr;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, attrid, start, count, attrib);
- } else {
- status = nc_get_vara_double(exoid, attrid, start, count, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type), obj_id,exoid);
- ex_err("ex_get_partial_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_conn.c b/cbind/src/ex_get_partial_conn.c
deleted file mode 100644
index 6b0abe4..0000000
--- a/cbind/src/ex_get_partial_conn.c
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgnconn - exodusII read partial edge/face/element block connectivity
-*
-* entry conditions -
-* expelb must be called first to establish element block parameters.
-* input parameters:
-* int exoid exodus file id
-* int blk_type block type (edge, face, element)
-* int blk_id block id
-* int start_num The starting index (1-based) of entities to read
-* int num_ent The number of entities to read connectivity info for.
-*
-* exit conditions -
-* int* nodeconn nodal connectivity array
-* int* edgeconn edge connectivity array (where applicable)
-* int* faceconn face connectivity array (where applicable)
-*
-* revision history -
-*
-*/
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the connectivity array for an element block
- */
-
-int ex_get_partial_conn( int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- int64_t start_num,
- int64_t num_ent,
- void_int* nodeconn,
- void_int* edgeconn,
- void_int* faceconn )
-{
- int connid = -1;
- int econnid = -1;
- int fconnid = -1;
-
- int blk_id_ndx, status;
-
- int numnodperentdim = -1;
- int numedgperentdim = -1;
- int numfacperentdim = -1;
-
- int iexit = (EX_NOERR); /* exit status */
-
- size_t num_nodes_per_entry = 0;
- size_t num_edges_per_entry = 0;
- size_t num_faces_per_entry = 0;
- char errmsg[MAX_ERR_LENGTH];
-
- const char* dnumnodent = NULL;
- const char* dnumedgent = NULL;
- const char* dnumfacent = NULL;
- const char* vnodeconn = NULL;
- const char* vedgeconn = NULL;
- const char* vfaceconn = NULL;
-
- /* The partial connectivity input function can currently only handle nodal
- * connectivity. Print a warning if edgeconn or faceconn is non-NULL
- */
- if (edgeconn != NULL || faceconn != NULL) {
- exerrval = 1005;
- sprintf(errmsg,
- "Warning: ex_get_partial_conn only supports nodal connectivity at this time. %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg,EX_MSG);
- }
-
- exerrval = 0; /* clear error code */
-
- /* Locate index of element block id in VAR_ID_EL_BLK array */
-
- blk_id_ndx = ex_id_lkup(exoid,blk_type,blk_id);
- if (exerrval != 0)
- {
- if (exerrval == EX_NULLENTITY)
- {
- sprintf(errmsg,
- "Warning: no connectivity array for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg,EX_MSG);
- return (EX_WARN); /* no connectivity array for this element block */
- }
- else
- {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- switch (blk_type) {
- case EX_EDGE_BLOCK:
- dnumnodent = DIM_NUM_NOD_PER_ED(blk_id_ndx);
- dnumedgent = 0;
- dnumfacent = 0;
- vnodeconn = VAR_EBCONN(blk_id_ndx);
- vedgeconn = 0;
- vfaceconn = 0;
- break;
- case EX_FACE_BLOCK:
- dnumnodent = DIM_NUM_NOD_PER_FA(blk_id_ndx);
- dnumedgent = 0;
- dnumfacent = 0;
- vnodeconn = VAR_FBCONN(blk_id_ndx);
- vedgeconn = 0;
- vfaceconn = 0;
- break;
- case EX_ELEM_BLOCK:
- dnumnodent = DIM_NUM_NOD_PER_EL(blk_id_ndx);
- dnumedgent = DIM_NUM_EDG_PER_EL(blk_id_ndx);
- dnumfacent = DIM_NUM_FAC_PER_EL(blk_id_ndx);
- vnodeconn = VAR_CONN(blk_id_ndx);
- vedgeconn = VAR_ECONN(blk_id_ndx);
- vfaceconn = VAR_FCONN(blk_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized block type in switch: %d in file id %d",
- blk_type,exoid);
- ex_err("ex_get_partial_conn",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
- /* inquire id's of previously defined dimensions */
-
- if ((status = nc_inq_dimid (exoid, dnumnodent, &numnodperentdim)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of nodes/entity for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (nc_inq_dimlen(exoid, numnodperentdim, &num_nodes_per_entry) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes/entity for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- if ( edgeconn && dnumedgent ) {
- num_edges_per_entry = 0;
- if ((status = nc_inq_dimid(exoid, dnumedgent, &numedgperentdim)) != NC_NOERR) {
- numedgperentdim = -1;
- } else {
- if ((status = nc_inq_dimlen(exoid, numedgperentdim, &num_edges_per_entry)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of edges/entry for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
- }
-
- if ( faceconn && dnumfacent ) {
- num_faces_per_entry = 0;
- if ((status = nc_inq_dimid(exoid, dnumfacent, &numfacperentdim)) != NC_NOERR) {
- numfacperentdim = -1;
- } else {
- if ((status = nc_inq_dimlen(exoid, numfacperentdim, &num_faces_per_entry)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of faces/entry for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
- }
-
-
- if ((status = nc_inq_varid(exoid, vnodeconn, &connid)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- status = 0;
- if (edgeconn && (numedgperentdim > 0) &&
- ((status = nc_inq_varid (exoid, vedgeconn, &econnid)) != NC_NOERR))
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate edge connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- if (faceconn && (numfacperentdim > 0) &&
- ((status = nc_inq_varid (exoid, vfaceconn, &fconnid)) != NC_NOERR))
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate face connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
-
- /* read in the connectivity array */
- if ( edgeconn && num_edges_per_entry > 0) {
- size_t start[2], count[2];
-
- start[0] = (start_num-1);
- start[1] = 0;
- count[0] = num_ent;
- count[1] = num_edges_per_entry;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, econnid, start, count, edgeconn);
- } else {
- status = nc_get_vara_int(exoid, econnid, start, count, edgeconn);
- }
-
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get edge connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
-
- if ( faceconn && num_faces_per_entry > 0) {
- size_t start[2], count[2];
-
- start[0] = start_num-1;
- start[1] = 0;
- count[0] = num_ent;
- count[1] = num_faces_per_entry;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, fconnid, start, count, faceconn);
- } else {
- status = nc_get_vara_int(exoid, fconnid, start, count, faceconn);
- }
-
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get face connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
-
- if ( nodeconn && num_nodes_per_entry > 0) {
- size_t start[2], count[2];
-
- start[0] = start_num-1;
- start[1] = 0;
- count[0] = num_ent;
- count[1] = num_nodes_per_entry;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, connid, start, count, nodeconn);
- } else {
- status = nc_get_vara_int(exoid, connid, start, count, nodeconn);
- }
-
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_get_partial_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- }
-
- return iexit;
-}
diff --git a/cbind/src/ex_get_partial_coord.c b/cbind/src/ex_get_partial_coord.c
deleted file mode 100644
index 7a19159..0000000
--- a/cbind/src/ex_get_partial_coord.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgcor - ex_get_partial_coord
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_node_num starting index of coordinates to be returned.
-* int num_nodes number of nodes to read coordinates for.
-*
-* exit conditions -
-* float* x_coord X coord array
-* float* y_coord y coord array
-* float* z_coord z coord array
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the coordinates of the nodes.
- * Memory must be allocated for the coordinate arrays (x_coor, y_coor,
- * and z_coor) before this call is made. The length of each of these
- * arrays is the number of nodes in the mesh. Because the coordinates
- * are floating point values, the application code must declare the
- * arrays passed to be the appropriate type "float" or "double"
- * to match the compute word size passed in ex_create() or ex_open()
- * \param exoid exodus file id
- * \param start_node_num the starting index of the coordinates to be returned.
- * \param num_nodes the number of nodes to read coordinates for.
- * \param[out] x_coor Returned X coordinates of the nodes. These are
- * returned only if x_coor is non-NULL.
- * \param[out] y_coor Returned Y coordinates of the nodes. These are
- * returned only if y_coor is non-NULL.
- * \param[out] z_coor Returned Z coordinates of the nodes. These are
- * returned only if z_coor is non-NULL.
- */
-
-int ex_get_partial_coord (int exoid,
- int64_t start_node_num,
- int64_t num_nodes,
- void *x_coor,
- void *y_coor,
- void *z_coor)
-{
- int status;
- int coordid;
- int coordidx, coordidy, coordidz;
-
- int numnoddim, ndimdim;
- size_t num_nod;
- size_t num_dim, start[2], count[2], i;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0;
-
- /* inquire id's of previously defined dimensions */
-
- if (nc_inq_dimid (exoid, DIM_NUM_NODES, &numnoddim) != NC_NOERR)
- {
- /* If not found, then this file is storing 0 nodes.
- Return immediately */
- return (EX_NOERR);
- }
-
- if ((status = nc_inq_dimlen(exoid, numnoddim, &num_nod)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes in file id %d",
- exoid);
- ex_err("ex_get_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (start_node_num + num_nodes -1 > num_nod) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: start index (%"PRId64") + node count (%"PRId64") is larger than total number of nodes (%"ST_ZU") in file id %d",
- start_node_num, num_nodes, num_nod, exoid);
- ex_err("ex_get_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_dimension(exoid, DIM_NUM_DIM, "dimensions",
- &num_dim, &ndimdim, "ex_get_partial_coord") != NC_NOERR) {
- return(EX_FATAL);
- }
-
- --start_node_num;
-
- /* read in the coordinates */
- if (ex_large_model(exoid) == 0) {
- if ((status = nc_inq_varid (exoid, VAR_COORD, &coordid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate nodal coordinates in file id %d", exoid);
- ex_err("ex_get_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- for (i=0; i<num_dim; i++) {
- char *which;
- start[0] = i;
- start[1] = start_node_num;
-
- count[0] = 1;
- count[1] = num_nodes;
-
- if (i == 0 && x_coor != NULL) {
- which = "X";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, coordid, start, count, x_coor);
- } else {
- status = nc_get_vara_double(exoid, coordid, start, count, x_coor);
- }
- }
- else if (i == 1 && y_coor != NULL) {
- which = "Y";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, coordid, start, count, y_coor);
- } else {
- status = nc_get_vara_double(exoid, coordid, start, count, y_coor);
- }
- }
- else if (i == 2 && z_coor != NULL) {
- which = "Z";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, coordid, start, count, z_coor);
- } else {
- status = nc_get_vara_double(exoid, coordid, start, count, z_coor);
- }
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s coord array in file id %d", which, exoid);
- ex_err("ex_get_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- } else {
- if ((status = nc_inq_varid (exoid, VAR_COORD_X, &coordidx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate x nodal coordinates in file id %d", exoid);
- ex_err("ex_get_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_dim > 1) {
- if ((status = nc_inq_varid (exoid, VAR_COORD_Y, &coordidy)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate y nodal coordinates in file id %d", exoid);
- ex_err("ex_get_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- coordidy = 0;
- }
-
- if (num_dim > 2) {
- if ((status = nc_inq_varid (exoid, VAR_COORD_Z, &coordidz)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate z nodal coordinates in file id %d", exoid);
- ex_err("ex_get_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- coordidz = 0;
- }
-
- /* write out the coordinates */
- for (i=0; i<num_dim; i++)
- {
- void *coor = NULL;
- char *which = NULL;
-
- start[0] = start_node_num;
- count[0] = num_nodes;
-
- if (i == 0) {
- coor = x_coor;
- which = "X";
- coordid = coordidx;
- } else if (i == 1) {
- coor = y_coor;
- which = "Y";
- coordid = coordidy;
- } else if (i == 2) {
- coor = z_coor;
- which = "Z";
- coordid = coordidz;
- }
-
- if (coor != NULL && coordid != 0) {
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, coordid, start, count, coor);
- } else {
- status = nc_get_vara_double(exoid, coordid, start, count, coor);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s coord array in file id %d", which, exoid);
- ex_err("ex_get_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_elem_attr.c b/cbind/src/ex_get_partial_elem_attr.c
deleted file mode 100644
index 09bc660..0000000
--- a/cbind/src/ex_get_partial_elem_attr.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_partial_elem_attr()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_blk_id - The element block ID.
- * start_elem_num - The starting index of the elements to be
- * obtained.
- * num_elems - The number of FEM elements to read coords for.
- * attrib - Pointer to the attribute vector.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the attributes for an element block
- */
-
-int ex_get_partial_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- int64_t start_elem_num,
- int64_t num_elems,
- void *attrib)
-
-{
- int numelbdim, numattrdim, attrid, elem_blk_id_ndx, status;
- size_t num_elem_this_blk, num_attr, start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of elem_blk_id in VAR_ID_EL_BLK array */
- if ((elem_blk_id_ndx = ex_id_lkup(exoid, EX_ELEM_BLOCK, elem_blk_id)) < 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes found for NULL block %"PRId64" in file id %d",
- elem_blk_id,exoid);
- ex_err("ex_get_partial_elem_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this element block */
- } else {
- sprintf(errmsg,
- "Warning: failed to locate element block %"PRId64" in %s array in file id %d",
- elem_blk_id,VAR_ID_EL_BLK, exoid);
- ex_err("ex_get_partial_elem_attr",errmsg,exerrval);
- return (EX_WARN);
- }
- }
-
-
-/* inquire id's of previously defined dimensions */
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_EL_IN_BLK(elem_blk_id_ndx), &numelbdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of elements for block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_get_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, numelbdim, &num_elem_this_blk)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of elements for block %"PRId64" in file id %d",
- elem_blk_id,exoid);
- ex_err("ex_get_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_BLK(elem_blk_id_ndx), &numattrdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no attributes found for block %"PRId64" in file id %d",
- elem_blk_id,exoid);
- ex_err("ex_get_partial_elem_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this element block */
- }
-
- if ((status = nc_inq_dimlen(exoid, numattrdim, &num_attr)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of attributes for block %"PRId64" in file id %d",
- elem_blk_id,exoid);
- ex_err("ex_get_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_ATTRIB(elem_blk_id_ndx), &attrid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attributes for block %"PRId64" in file id %d",
- elem_blk_id,exoid);
- ex_err("ex_get_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* do some error checking */
- if (num_elem_this_blk < (start_elem_num + num_elems - 1)) {
- exerrval = status;
- sprintf(errmsg,
- "Error: requested attributes from too many elements in this block, %"PRId64"",
- elem_blk_id);
- ex_err("ex_get_partial_elem_attr",errmsg, exerrval);
- return(EX_FATAL);
- }
-
-/* read in the attributes */
-
- start[0] = --start_elem_num;
- start[1] = 0;
-
- count[0] = num_elems;
- count[1] = num_attr;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, attrid, start, count, attrib);
- } else {
- status = nc_get_vara_double(exoid, attrid, start, count, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get attributes for block %"PRId64" in file id %d",
- elem_blk_id,exoid);
- ex_err("ex_get_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_elem_conn.c b/cbind/src/ex_get_partial_elem_conn.c
deleted file mode 100644
index 5c3cc0b..0000000
--- a/cbind/src/ex_get_partial_elem_conn.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_partial_elem_conn()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_blk_id - The element block ID.
- * start_elem_num - The starting index of the elements to be
- * obtained.
- * num_elems - The number of FEM elements to read coords for.
- * connect - Pointer to the connectivity vector.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include "exodusII.h"
-
-/*!
- * \deprecated use ex_get_partial_conn()
- * reads the connectivity array for an element block
- */
-
-int ex_get_partial_elem_conn (int exoid,
- ex_entity_id elem_blk_id,
- int64_t start_elem_num,
- int64_t num_elems,
- void_int *connect)
-{
- return ex_get_partial_conn(exoid, EX_ELEM_BLOCK, elem_blk_id,
- start_elem_num, num_elems, connect, NULL, NULL);
-}
diff --git a/cbind/src/ex_get_partial_elem_map.c b/cbind/src/ex_get_partial_elem_map.c
deleted file mode 100644
index b71f363..0000000
--- a/cbind/src/ex_get_partial_elem_map.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the element map with specified ID
- * \deprecated Use ex_get_partial_num_map()(exoid, EX_ELEM_MAP, map_id, ent_start, ent_count, elem_map) instead
- */
-
-int ex_get_partial_elem_map (int exoid,
- ex_entity_id map_id,
- int64_t ent_start,
- int64_t ent_count,
- void_int *elem_map)
-{
- return ex_get_partial_num_map(exoid, EX_ELEM_MAP, map_id, ent_start, ent_count, elem_map);
-}
diff --git a/cbind/src/ex_get_partial_elem_num_map.c b/cbind/src/ex_get_partial_elem_num_map.c
deleted file mode 100644
index 701d382..0000000
--- a/cbind/src/ex_get_partial_elem_num_map.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* ne_gennm - ex_get_partial_elem_num_map
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_ent starting location for read
-* int num_ents number of elemental points
-*
-* exit conditions -
-* int* elem_map element number map array
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the element numbering map from the database; allows element numbers
- * to be noncontiguous
- */
-
-int ex_get_partial_elem_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- void_int *elem_map)
-{
- int numelemdim, mapid, status;
- size_t i;
- size_t num_elem, start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_ELEM, &numelemdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of elements in file id %d",
- exoid);
- ex_err("ex_get_partial_elem_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen (exoid, numelemdim, &num_elem)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of elements in file id %d",
- exoid);
- ex_err("ex_get_partial_elem_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (start_ent < 0 || start_ent > num_elem) {
- exerrval = status;
- sprintf(errmsg,
- "Error: Invalid input to function ex_get_partial_elem_num_map!\n");
- ex_err("ex_get_partial_elem_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_ents < 0) {
- exerrval = status;
- sprintf(errmsg, "Error: Invalid number of entries in map!\n");
- ex_err("ex_get_partial_elem_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* start_ent now starts at 1, not 0 */
- if ((start_ent + num_ents - 1) > num_elem) {
- exerrval = status;
- sprintf(errmsg, "Error: request range invalid!\n");
- ex_err("ex_get_partial_elem_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid (exoid, VAR_ELEM_NUM_MAP, &mapid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: elem numbering map not stored in file id %d; returning default map",
- exoid);
- ex_err("ex_get_partial_elem_num_map",errmsg,exerrval);
-
- /* generate default map of 1..n, where n is num_elem */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- int64_t *lmap = (int64_t*)elem_map;
- for (i=0; i<num_ents; i++) {
- lmap[i] = start_ent+i;
- }
- } else {
- int *lmap = (int*)elem_map;
- for (i=0; i<num_ents; i++) {
- lmap[i] = start_ent+i;
- }
- }
- return (EX_WARN);
- }
-
-
- /* read in the element numbering map */
- start[0] = --start_ent;
- count[0] = num_ents;
-
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_vara_longlong(exoid, mapid, start, count, elem_map);
- } else {
- status = nc_get_vara_int(exoid, mapid, start, count, elem_map);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get element number map in file id %d",
- exoid);
- ex_err("ex_get_partial_elem_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return(EX_NOERR);
-
-}
diff --git a/cbind/src/ex_get_partial_elem_var.c b/cbind/src/ex_get_partial_elem_var.c
deleted file mode 100644
index e9b45a6..0000000
--- a/cbind/src/ex_get_partial_elem_var.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_partial_elem_var()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * time_step - The time step to write this data to.
- * elem_var_index - The index of this elemental variable.
- * elem_blk_id - The ID of the element block being written to.
- * num_elem_this_blk - The number of elements in this block.
- * start_elem_num - The start point for outputting data.
- * num_elem - The number of values to be output.
- * elem_var_vals - Pointer to the vector of values to be output.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include "exodusII.h"
-
-/*
- * reads the values of a single element variable for one element block at
- * one time step in the database; assume the first time step and
- * element variable index is 1
- */
-
-int ex_get_partial_elem_var (int exoid,
- int time_step,
- int elem_var_index,
- ex_entity_id elem_blk_id,
- int64_t num_elem_this_blk,
- int64_t start_elem_num,
- int64_t num_elem,
- void *elem_var_vals)
-{
- return ex_get_partial_var(exoid, time_step, EX_ELEM_BLOCK,
- elem_var_index, elem_blk_id,
- start_elem_num, num_elem,
- elem_var_vals);
-}
diff --git a/cbind/src/ex_get_partial_id_map.c b/cbind/src/ex_get_partial_id_map.c
deleted file mode 100644
index 0a280ac..0000000
--- a/cbind/src/ex_get_partial_id_map.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2007 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the id map
- */
-
-int ex_get_partial_id_map ( int exoid,
- ex_entity_type map_type,
- int64_t start_entity_num,
- int64_t num_entities,
- void_int* map )
-{
- int dimid, mapid, status;
- size_t i;
- size_t num_entries;
- size_t start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumentries;
- const char* vmap;
- const char* tname;
-
- switch (map_type) {
- case EX_NODE_MAP:
- tname = "node";
- dnumentries = DIM_NUM_NODES;
- vmap = VAR_NODE_NUM_MAP;
- break;
- case EX_EDGE_MAP:
- tname = "edge";
- dnumentries = DIM_NUM_EDGE;
- vmap = VAR_EDGE_NUM_MAP;
- break;
- case EX_FACE_MAP:
- tname = "face";
- dnumentries = DIM_NUM_FACE;
- vmap = VAR_FACE_NUM_MAP;
- break;
- case EX_ELEM_MAP:
- tname = "element";
- dnumentries = DIM_NUM_ELEM;
- vmap = VAR_ELEM_NUM_MAP;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg,
- "Error: Bad map type (%d) specified for file id %d",
- map_type, exoid );
- ex_err( "ex_get_partial_id_map", errmsg, exerrval );
- return (EX_FATAL);
- }
- exerrval = 0; /* clear error code */
-
- /* See if any entries are stored in this file */
- if (nc_inq_dimid(exoid, dnumentries,&dimid) != NC_NOERR) {
- return (EX_NOERR);
- }
-
- if (nc_inq_varid (exoid, vmap, &mapid) != NC_NOERR) {
- if ((status = nc_inq_dimlen(exoid, dimid, &num_entries)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of %ss in file id %d", tname, exoid);
- ex_err("ex_get_partial_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* generate default map of 1..n, where n is num_entries */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- int64_t *lmap = (int64_t*)map;
- for (i=0; i < num_entities; i++) {
- lmap[i] = start_entity_num+i;
- }
- } else {
- int *lmap = (int*)map;
- for (i=0; i<num_entities; i++) {
- lmap[i] = start_entity_num+i;
- }
- }
-
- return (EX_NOERR);
- }
-
- start[0] = start_entity_num-1;
- count[0] = num_entities;
-
- /* read in the id map */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_vara_longlong(exoid, mapid, start, count, map);
- } else {
- status = nc_get_vara_int(exoid, mapid, start, count, map);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s id map in file id %d",
- tname, exoid);
- ex_err("ex_get_partial_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_nodal_var.c b/cbind/src/ex_get_partial_nodal_var.c
deleted file mode 100644
index d996668..0000000
--- a/cbind/src/ex_get_partial_nodal_var.c
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgnnv - ex_get_partial_nodal_var
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step whole time step number
-* int nodeal_var_index index of desired nodal variable
-* int start_node starting location for read
-* int num_nodes number of nodal points
-*
-* exit conditions -
-* float* var_vals array of nodal variable values
-*
-* revision history -
-*
-* $Id: ne_gnnv.c,v 1.16 2008/01/25 15:47:35 gdsjaar Exp $
-*
-*****************************************************************************/
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-/*
- * reads the values of a single nodal variable for a single time step from
- * the database; assume the first time step and nodal variable index is 1
- */
-
-int ex_get_partial_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t start_node,
- int64_t num_nodes,
- void *var_vals)
-{
- int varid;
- int status;
- size_t start[3], count[3];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined variable */
-
- if (ex_large_model(exoid) == 0) {
- /* read values of the nodal variable */
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variables in file id %d",
- exoid);
- ex_err("ex_get_partial_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
-
- start[0] = --time_step;
- start[1] = --nodal_var_index;
- start[2] = --start_node;
-
- count[0] = 1;
- count[1] = 1;
- count[2] = num_nodes;
-
- } else {
- /* read values of the nodal variable -- stored as separate variables... */
- /* Get the varid.... */
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR_NEW(nodal_var_index), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variable %d in file id %d",
- nodal_var_index, exoid);
- ex_err("ex_get_partial_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
-
- start[0] = --time_step;
- start[1] = --start_node;
-
- count[0] = 1;
- count[1] = num_nodes;
- }
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, varid, start, count, var_vals);
- } else {
- status = nc_get_vara_double(exoid, varid, start, count, var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get nodal variables in file id %d",
- exoid);
- ex_err("ex_get_partial_nodal_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_node_num_map.c b/cbind/src/ex_get_partial_node_num_map.c
deleted file mode 100644
index 7813006..0000000
--- a/cbind/src/ex_get_partial_node_num_map.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* ne_gnnnm - ex_get_partial_node_num_map
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid nemesis file id
-*
-* exit conditions -
-* int* node_map node numbering map array
-*
-* revision history -
-*
-*
-*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the node numbering map from the database
- */
-
-int ex_get_partial_node_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- void_int *node_map)
-{
- int numnodedim, mapid, status;
- size_t i;
- size_t num_nodes, start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire id's of previously defined dimensions and variables */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NODES, &numnodedim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of nodes in file id %d",
- exoid);
- ex_err("ex_get_partial_node_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, numnodedim, &num_nodes)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes in file id %d",
- exoid);
- ex_err("ex_get_partial_node_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (start_ent < 0 || start_ent > num_nodes) {
- fprintf(stderr, "ERROR: Invalid input to function"
- " ex_get_partial_node_num_map!\n");
- return (EX_FATAL);
- }
-
- if (num_ents < 0) {
- fprintf(stderr, "ERROR: Invalid number of entries in map!\n");
- return (EX_FATAL);
- }
-
- /* start_ent now starts at 1, not 0 */
- if ((start_ent + num_ents - 1) > num_nodes) {
- fprintf(stderr, "ERROR: request range invalid!\n");
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid (exoid, VAR_NODE_NUM_MAP, &mapid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: node numbering map not stored in file id %d; returning default map",
- exoid);
- ex_err("ex_get_partial_node_num_map",errmsg,exerrval);
-
- /* generate default map of 1..n, where n is num_nodes */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- int64_t *lmap = (int64_t*)node_map;
- for (i=0; i<num_ents; i++) {
- lmap[i] = start_ent+i;
- }
- } else {
- int *lmap = (int*)node_map;
- for (i=0; i<num_ents; i++) {
- lmap[i] = start_ent+i;
- }
- }
- return (EX_WARN);
- }
-
- /* read in the node numbering map */
- start[0] = --start_ent;
- count[0] = num_ents;
-
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_vara_longlong(exoid, mapid, start, count, node_map);
- } else {
- status = nc_get_vara_int(exoid, mapid, start, count, node_map);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get node numbering map in file id %d",
- exoid);
- ex_err("ex_get_partial_node_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_node_set.c b/cbind/src/ex_get_partial_node_set.c
deleted file mode 100644
index 739d37e..0000000
--- a/cbind/src/ex_get_partial_node_set.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_partial_node_set()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_set_id - ID of node set to read.
- * start_node_num - The starting index of the nodes to be read.
- * num_nodes - The number of nodes to read in.
- * node_set_node_list - List of node IDs in node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the node list for a single node set
- */
-
-int ex_get_partial_node_set (int exoid,
- ex_entity_id node_set_id,
- int64_t start_node_num,
- int64_t num_nodes,
- void_int *node_set_node_list)
-{
- int dimid, node_list_id, node_set_id_ndx, status;
- size_t num_nodes_in_set, start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any node sets are specified */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no node sets defined in file id %d",
- exoid);
- ex_err("ex_get_partial_node_set",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of node set id in VAR_NS_IDS array */
- if ((node_set_id_ndx = ex_id_lkup(exoid, EX_NODE_SET, node_set_id)) < 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: node set %"PRId64" is NULL in file id %d",
- node_set_id,exoid);
- ex_err("ex_get_partial_node_set",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
-
- sprintf(errmsg,
- "Error: failed to locate node set %"PRId64" in %s in file id %d",
- node_set_id,VAR_NS_IDS,exoid);
- ex_err("ex_get_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NOD_NS(node_set_id_ndx), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of nodes in node set %"PRId64" in file id %d",
- node_set_id,exoid);
- ex_err("ex_get_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_nodes_in_set)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes in set %"PRId64" in file id %d",
- node_set_id, exoid);
- ex_err("ex_get_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (start_node_num < 0 || start_node_num > num_nodes_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid input");
- ex_err("ex_get_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_nodes < 0) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid number of nodes in nodes set!");
- ex_err("ex_get_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* start_node_num now starts at 1, not 0 */
- if ((start_node_num + num_nodes - 1) > num_nodes_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: request larger than number of nodes in set!");
- ex_err("ex_get_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid (exoid, VAR_NODE_NS(node_set_id_ndx), &node_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate node set %"PRId64" node list in file id %d",
- node_set_id,exoid);
- ex_err("ex_get_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read in the node list array */
- start[0] = --start_node_num;
- count[0] = num_nodes;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, node_list_id, start, count, node_set_node_list);
- } else {
- status = nc_get_vara_int(exoid, node_list_id, start, count, node_set_node_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get node set node list in file id %d",
- exoid);
- ex_err("ex_get_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_node_set_df.c b/cbind/src/ex_get_partial_node_set_df.c
deleted file mode 100644
index ebcf832..0000000
--- a/cbind/src/ex_get_partial_node_set_df.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_partial_node_set_df()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_set_id - ID of node set to read.
- * start_num - The starting index of the dist fact to be read.
- * num_df_to_get - The number of distribution factors to read in.
- * node_set_dist_fact - List of distribution factors in node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the distribution factors for a single node set
- */
-
-int ex_get_partial_node_set_df (int exoid,
- ex_entity_id node_set_id,
- int64_t start_num,
- int64_t num_df_to_get,
- void *node_set_dist_fact)
-{
- int status;
- int dimid, dist_id, node_set_id_ndx;
- size_t num_nodes_in_set, start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any node sets are specified */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no node sets defined in file id %d",
- exoid);
- ex_err("ex_get_partial_node_set_df",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of node set id in VAR_NS_IDS array */
- if ((node_set_id_ndx = ex_id_lkup(exoid,EX_NODE_SET,node_set_id)) < 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: node set %"PRId64" is NULL in file id %d",
- node_set_id,exoid);
- ex_err("ex_get_partial_node_set_df",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
-
- sprintf(errmsg,
- "Error: failed to locate node set %"PRId64" in %s in file id %d",
- node_set_id,VAR_NS_IDS,exoid);
- ex_err("ex_get_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NOD_NS(node_set_id_ndx), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of nodes in node set %"PRId64" in file id %d",
- node_set_id,exoid);
- ex_err("ex_get_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_nodes_in_set)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes in node set %"PRId64" in file id %d",
- node_set_id, exoid);
- ex_err("ex_get_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (start_num < 0 || start_num > num_nodes_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid input");
- ex_err("ex_get_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_df_to_get < 0) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid number of nodes in nodes set!");
- ex_err("ex_get_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* start_num now starts at 1, not 0 */
- if ((start_num + num_df_to_get - 1) > num_nodes_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: request larger than number of nodes in set!");
- ex_err("ex_get_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid (exoid, VAR_FACT_NS(node_set_id_ndx), &dist_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: dist factors not stored for node set %"PRId64" in file id %d",
- node_set_id,exoid);
- ex_err("ex_get_partial_node_set_df",errmsg,exerrval);
- return (EX_WARN); /* complain - but not too loud */
- }
-
-
- /* read in the distribution factors array */
- start[0] = --start_num;
- count[0] = num_df_to_get;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, dist_id, start, count, node_set_dist_fact);
- } else {
- status = nc_get_vara_double(exoid, dist_id, start, count, node_set_dist_fact);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get distribution factors in file id %d",
- exoid);
- ex_err("ex_get_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_num_map.c b/cbind/src/ex_get_partial_num_map.c
deleted file mode 100644
index ee8186c..0000000
--- a/cbind/src/ex_get_partial_num_map.c
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgpem - ex_get_partial_elem_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_id element map id
-* int ent_start first entry in map
-* int ent_count number of entries in map
-*
-* exit conditions -
-* int* elem_map element map
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the element map with specified ID
- */
-
-int ex_get_partial_num_map (int exoid,
- ex_entity_type map_type,
- ex_entity_id map_id,
- int64_t ent_start,
- int64_t ent_count,
- void_int *map)
-{
- int dimid, var_id, id_ndx, status;
- size_t num_mobj, start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
- const char* dim_map_size;
- const char* dim_num_maps;
-
- switch (map_type) {
- case EX_NODE_MAP:
- dim_map_size = DIM_NUM_NODES;
- dim_num_maps = DIM_NUM_NM;
- break;
- case EX_EDGE_MAP:
- dim_map_size = DIM_NUM_EDGE;
- dim_num_maps = DIM_NUM_EDM;
- break;
- case EX_FACE_MAP:
- dim_map_size = DIM_NUM_FACE;
- dim_num_maps = DIM_NUM_FAM;
- break;
- case EX_ELEM_MAP:
- dim_map_size = DIM_NUM_ELEM;
- dim_num_maps = DIM_NUM_EM;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg, "Bad map type (%d) specified", map_type );
- ex_err( "ex_get_partial_num_map", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- exerrval = 0; /* clear error code */
-
- /* See if file contains any elements...*/
- if (nc_inq_dimid (exoid, dim_map_size, &dimid) != NC_NOERR) {
- return (EX_NOERR);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_mobj)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of mesh objects in file id %d", exoid);
- ex_err("ex_get_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (ent_start <= 0 || ent_start > num_mobj) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: start count is invalid in file id %d",
- exoid);
- ex_err("ex_get_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ent_count < 0) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: Invalid count value in file id %d",
- exoid);
- ex_err("ex_get_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ent_start+ent_count-1 > num_mobj) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: start+count-1 is larger than element count in file id %d",
- exoid);
- ex_err("ex_get_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* first check if any maps have been defined */
- if ((status = nc_inq_dimid (exoid, dim_num_maps, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no %ss defined in file id %d",
- ex_name_of_object(map_type), exoid);
- ex_err("ex_get_partial_num_map",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of element map id property array */
- id_ndx = ex_id_lkup(exoid,map_type,map_id);
- if (exerrval != 0) {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id variable in file id %d",
- ex_name_of_object(map_type),map_id,exoid);
- ex_err("ex_get_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_varid(exoid, ex_name_of_map(map_type,id_ndx), &var_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s %"PRId64" in file id %d",
- ex_name_of_object(map_type),map_id,exoid);
- ex_err("ex_get_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read in the map */
- start[0] = ent_start-1;
- count[0] = ent_count;
-
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_vara_longlong(exoid, var_id, start, count, map);
- } else {
- status = nc_get_vara_int(exoid, var_id, start, count, map);
- }
-
- if (status == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_get_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_one_attr.c b/cbind/src/ex_get_partial_one_attr.c
deleted file mode 100644
index 6ed7075..0000000
--- a/cbind/src/ex_get_partial_one_attr.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgeat - ex_get_partial_one_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type (edge, face, elem block)
-* int obj_id object id (edge face, elem block ID)
-* int start_num starting index of attributes to be returned.
-* int num_ent number of entities to read attributes for.
-*
-* exit conditions -
-* float* attrib array of attributes
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the specified attribute for a subsect of a block
- * \param exoid exodus file id
- * \param obj_type object type (edge, face, elem block)
- * \param obj_id object id (edge, face, elem block ID)
- * \param start_num the starting index of the attributes to be returned.
- * \param num_ent the number of entities to read attributes for.
- * \param attrib_index index of attribute to write
- * \param attrib array of attributes
- */
-/*
- */
-int ex_get_partial_one_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- int attrib_index,
- void* attrib )
-
-{
- int status;
- int attrid, obj_id_ndx;
- int temp;
- size_t num_entries_this_obj, num_attr;
- size_t start[2], count[2];
- ptrdiff_t stride[2];
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumobjent;
- const char* dnumobjatt;
- const char* vattrbname;
-
- exerrval = 0; /* clear error code */
-
- if (num_ent == 0)
- return 0;
- /* Determine index of obj_id in vobjids array */
- if (obj_type != EX_NODAL) {
- obj_id_ndx = ex_id_lkup(exoid,obj_type,obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes found for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_partial_one_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this object */
- } else {
- sprintf(errmsg,
- "Warning: failed to locate %s id%"PRId64" in id array in file id %d",
- ex_name_of_object(obj_type),obj_id, exoid);
- ex_err("ex_get_partial_one_attr",errmsg,exerrval);
- return (EX_WARN);
- }
- }
- }
-
- switch (obj_type) {
- case EX_SIDE_SET:
- dnumobjent = DIM_NUM_SIDE_SS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_SS(obj_id_ndx);
- vattrbname = VAR_SSATTRIB(obj_id_ndx);
- break;
- case EX_NODE_SET:
- dnumobjent = DIM_NUM_NOD_NS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_NS(obj_id_ndx);
- vattrbname = VAR_NSATTRIB(obj_id_ndx);
- break;
- case EX_EDGE_SET:
- dnumobjent = DIM_NUM_EDGE_ES(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ES(obj_id_ndx);
- vattrbname = VAR_ESATTRIB(obj_id_ndx);
- break;
- case EX_FACE_SET:
- dnumobjent = DIM_NUM_FACE_FS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FS(obj_id_ndx);
- vattrbname = VAR_FSATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_SET:
- dnumobjent = DIM_NUM_ELE_ELS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ELS(obj_id_ndx);
- vattrbname = VAR_ELSATTRIB(obj_id_ndx);
- break;
- case EX_NODAL:
- dnumobjent = DIM_NUM_NODES;
- dnumobjatt = DIM_NUM_ATT_IN_NBLK;
- vattrbname = VAR_NATTRIB;
- break;
- case EX_EDGE_BLOCK:
- dnumobjent = DIM_NUM_ED_IN_EBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_EBLK(obj_id_ndx);
- vattrbname = VAR_EATTRIB(obj_id_ndx);
- break;
- case EX_FACE_BLOCK:
- dnumobjent = DIM_NUM_FA_IN_FBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FBLK(obj_id_ndx);
- vattrbname = VAR_FATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_BLOCK:
- dnumobjent = DIM_NUM_EL_IN_BLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_BLK(obj_id_ndx);
- vattrbname = VAR_ATTRIB(obj_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- obj_type,exoid);
- ex_err("ex_get_partial_one_attr",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- /* inquire id's of previously defined dimensions */
- if (ex_get_dimension(exoid, dnumobjent,"entries", &num_entries_this_obj, &temp, "ex_get_partial_one_attr") != NC_NOERR)
- return EX_FATAL;
-
- if (start_num + num_ent -1 > num_entries_this_obj) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: start index (%"PRId64") + count (%"PRId64") is larger than total number of entities (%"ST_ZU") in file id %d",
- start_num, num_ent, num_entries_this_obj, exoid);
- ex_err("ex_get_partial_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_dimension(exoid, dnumobjatt,"attributes", &num_attr, &temp, "ex_get_partial_one_attr") != NC_NOERR)
- return EX_FATAL;
-
- if (attrib_index < 1 || attrib_index > (int)num_attr) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: Invalid attribute index specified: %d. Valid range is 1 to %d for %s %"PRId64" in file id %d",
- attrib_index, (int)num_attr, ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_get_partial_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, vattrbname, &attrid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_get_partial_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* read in the attributes */
- start[0] = start_num-1;
- start[1] = attrib_index-1;
-
- count[0] = num_ent;
- count[1] = 1;
-
- stride[0] = 1;
- stride[1] = num_attr;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vars_float(exoid, attrid, start, count, stride, attrib);
- } else {
- status = nc_get_vars_double(exoid, attrid, start, count, stride, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get attribute %d for %s %"PRId64" in file id %d",
- attrib_index, ex_name_of_object(obj_type), obj_id,exoid);
- ex_err("ex_get_partial_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_set_dist_fact.c b/cbind/src/ex_get_partial_set_dist_fact.c
deleted file mode 100644
index dc913dd..0000000
--- a/cbind/src/ex_get_partial_set_dist_fact.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the distribution factors for a single set
- */
-
-int ex_get_partial_set_dist_fact (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- int64_t offset,
- int64_t num_to_put,
- void *set_dist_fact)
-{
-
- int dimid, dist_id, set_id_ndx;
- int status;
- size_t start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
- char* factptr = NULL;
-
- exerrval = 0; /* clear error code */
-
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid (exoid, ex_dim_num_objects(set_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no %s sets stored in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_get_partial_set_dist_fact",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of set id in VAR_*S_IDS array */
- set_id_ndx = ex_id_lkup(exoid,set_type,set_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: %s set %"PRId64" is NULL in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_partial_set_dist_fact",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s set %"PRId64" in VAR_*S_IDS array in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_partial_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* setup more pointers based on set_type */
- if (set_type == EX_NODE_SET) {
- factptr = VAR_FACT_NS(set_id_ndx);
- }
- else if (set_type == EX_EDGE_SET) {
- factptr = VAR_FACT_ES(set_id_ndx);
- }
- else if (set_type == EX_FACE_SET) {
- factptr = VAR_FACT_FS(set_id_ndx);
- }
- else if (set_type == EX_SIDE_SET) {
- factptr = VAR_FACT_SS(set_id_ndx);
- }
- if (set_type == EX_ELEM_SET) {
- factptr = VAR_FACT_ELS(set_id_ndx);
- }
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_varid(exoid, factptr, &dist_id)) != NC_NOERR) {
- exerrval = status;
- /* not an error for node sets because this is how we check that df's exist */
- if (set_type == EX_NODE_SET) {
- sprintf(errmsg,
- "Warning: dist factors not stored for %s set %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id, exoid);
- ex_err("ex_get_partial_set_dist_fact",errmsg,exerrval);
- return (EX_WARN); /* complain - but not too loud */
- }
- /* is an error for other sets */
- else {
- sprintf(errmsg,
- "Error: failed to locate dist factors list for %s set %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_partial_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* read in the distribution factors array */
- start[0] = offset-1;
- count[0] = num_to_put;
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, dist_id, start, count, set_dist_fact);
- } else {
- status = nc_get_vara_double(exoid, dist_id, start, count, set_dist_fact);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get dist factors list for %s set %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_partial_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_side_set.c b/cbind/src/ex_get_partial_side_set.c
deleted file mode 100644
index fb94201..0000000
--- a/cbind/src/ex_get_partial_side_set.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_partial_side_set()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * side_set_id - ID of side set to read.
- * start_side_num - The starting index of the sides to be read.
- * num_sides - The number of sides to read in.
- * side_set_elem_list - List of element IDs in side set.
- * side_set_side_list - List of side IDs in side set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the side set element list and side set side list for a single side set
- */
-
-int ex_get_partial_side_set (int exoid,
- ex_entity_id side_set_id,
- int64_t start_side_num,
- int64_t num_sides,
- void_int *side_set_elem_list,
- void_int *side_set_side_list)
-{
-
- int dimid, elem_list_id, side_list_id, status;
- int side_set_id_ndx;
- size_t num_side_in_set, count[1], start[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any side sets are specified */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_SS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no side sets stored in file id %d",
- exoid);
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of side set id in VAR_SS_IDS array */
- if ((side_set_id_ndx = ex_id_lkup(exoid, EX_SIDE_SET, side_set_id)) < 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: side set %"PRId64" is NULL in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
-
- sprintf(errmsg,
- "Error: failed to locate side set id %"PRId64" in %s array in file id %d",
- side_set_id, VAR_SS_IDS, exoid);
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_SIDE_SS(side_set_id_ndx), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of sides in side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_side_in_set)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of sides in side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_ELEM_SS(side_set_id_ndx), &elem_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate element list for side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid (exoid, VAR_SIDE_SS(side_set_id_ndx), &side_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate side list for side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of side numbers */
- if (start_side_num < 0 || start_side_num > num_side_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid input");
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_sides < 0) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid number of elements in side set!");
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* start_side_num now starts at 1, not 0 */
- if ((start_side_num + num_sides - 1) > num_side_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: request larger than number of elements in set!");
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read in the element list and side list arrays */
- start[0] = --start_side_num;
- count[0] = num_sides;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, elem_list_id, start, count, side_set_elem_list);
- } else {
- status = nc_get_vara_int(exoid, elem_list_id, start, count, side_set_elem_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get element list for side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_vara_longlong(exoid, side_list_id, start, count, side_set_side_list);
- } else {
- status = nc_get_vara_int(exoid, side_list_id, start, count, side_set_side_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get side list for side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_side_set_df.c b/cbind/src/ex_get_partial_side_set_df.c
deleted file mode 100644
index 386f623..0000000
--- a/cbind/src/ex_get_partial_side_set_df.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_get_partial_side_set_df()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * side_set_id - ID of side set to read.
- * start_side_num - The starting index of the sides to be read.
- * num_sides - The number of sides to read in.
- * side_set_dist_fact - List of side IDs in side set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_partial_side_set_df (int exoid,
- ex_entity_id side_set_id,
- int64_t start_num,
- int64_t num_df_to_get,
- void *side_set_dist_fact)
-{
-
- int dimid, dist_id, side_set_id_ndx, status;
- size_t num_df_in_set, count[1], start[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any side sets are specified */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_SS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no side sets stored in file id %d",
- exoid);
- ex_err("ex_get_partial_side_set_df",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of side set id in VAR_SS_IDS array */
- if ((side_set_id_ndx = ex_id_lkup(exoid,EX_SIDE_SET,side_set_id)) < 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: side set %"PRId64" is NULL in file id %d",
- side_set_id, exoid);
- ex_err("ex_get_partial_side_set_df",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate side set %"PRId64" in %s array in file id %d",
- side_set_id, VAR_SS_IDS, exoid);
- ex_err("ex_get_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_DF_SS(side_set_id_ndx), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: dist factors not stored for side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set_df",errmsg,exerrval);
- return (EX_WARN); /* complain - but not too loud */
- }
-
- if ((status = nc_inq_dimlen (exoid, dimid, &num_df_in_set)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of dist factors in side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (start_num < 0 || start_num > num_df_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid input");
- ex_err("ex_get_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_df_to_get < 0) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid number of df's to get!");
- ex_err("ex_get_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* start_num now starts at 1, not 0 */
- if ((start_num + num_df_to_get - 1) > num_df_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: request larger than number of df's in set!");
- ex_err("ex_get_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid (exoid, VAR_FACT_SS(side_set_id_ndx), &dist_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate dist factors list for side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* read in the distribution factors array */
- start[0] = --start_num;
- count[0] = num_df_to_get;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float (exoid, dist_id, start, count, side_set_dist_fact);
- } else {
- status = nc_get_vara_double (exoid, dist_id, start, count, side_set_dist_fact);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get dist factors list for side set %"PRId64" in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_partial_var.c b/cbind/src/ex_get_partial_var.c
deleted file mode 100644
index 283e777..0000000
--- a/cbind/src/ex_get_partial_var.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the values of a single element variable for one element block at
- * one time step in the database; assume the first time step and
- * element variable index is 1
- */
-
-/*!
- * reads the values of a single variable for a partial block at one time
- * step from the database; assume the first time step and variable index
- * and start_index are 1
- * \param exoid exodus file id
- * \param time_step time step number
- * \param var_type type (edge block, face block, edge set, ... )
- * \param var_index element variable index
- * \param obj_id element block id
- * \param start_index index of first entity in block to read (1-based)
- * \param num_entities number of entries to read in this block/set
- * \param var_vals the values to read
- */
-
-int ex_get_partial_var( int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t start_index,
- int64_t num_entities,
- void* var_vals )
-{
- int status = 0;
- int varid, obj_id_ndx;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- if (num_entities == 0)
- return status;
-
- if (var_type == EX_NODAL) {
- /* FIXME: Special case: ignore obj_id, possible large_file complications, etc. */
- return ex_get_partial_nodal_var( exoid, time_step, var_index, start_index, num_entities, var_vals );
- } else if (var_type == EX_GLOBAL) {
- /* FIXME: Special case: all vars stored in 2-D single array. */
- return ex_get_glob_vars( exoid, time_step, num_entities, var_vals );
- }
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of obj_id in VAR_ID_EL_BLK array */
- obj_id_ndx = ex_id_lkup(exoid,var_type,obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no %s variables for NULL block %"PRId64" in file id %d",
- ex_name_of_object(var_type), obj_id,exoid);
- ex_err("ex_get_partial_var",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id variable in file id %d",
- ex_name_of_object(var_type), obj_id, exoid);
- ex_err("ex_get_partial_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire previously defined variable */
-
- if((status = nc_inq_varid(exoid, ex_name_var_of_object(var_type,var_index,
- obj_id_ndx), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s %"PRId64" var %d in file id %d",
- ex_name_of_object(var_type),obj_id,var_index,exoid);
- ex_err("ex_get_partial_var",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read values of element variable */
- start[0] = --time_step;
- start[1] = start_index-1;
-
- count[0] = 1;
- count[1] = num_entities;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, varid, start, count, var_vals);
- } else {
- status = nc_get_vara_double(exoid, varid, start, count, var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s %"PRId64" variable %d in file id %d",
- ex_name_of_object(var_type), obj_id, var_index,exoid);
- ex_err("ex_get_partial_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_processor_elem_maps.c b/cbind/src/ex_get_processor_elem_maps.c
deleted file mode 100644
index f891745..0000000
--- a/cbind/src/ex_get_processor_elem_maps.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_get_elem_map()
- *
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_mapi - Pointer to vector for retrieval of internal
- * FEM element IDs.
- * elem_mapb - Pointer to vector for retrieval of border
- * FEM element IDs.
- * processor - The processor the file being read was written for.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-
-#include <netcdf.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_processor_elem_maps(int exoid,
- void_int *elem_mapi,
- void_int *elem_mapb,
- int processor
- )
-{
- const char *func_name="ex_get_processor_elem_maps";
-
- char ftype[2];
- int dimid, varid, status;
- size_t start[1], count[1];
- int64_t varidx[2];
- int emstat;
-
- char errmsg[MAX_ERR_LENGTH];
-
- /* Get the file type */
- if (ex_get_file_type(exoid, ftype) != EX_NOERR) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: unable to find file type for file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Check the status of the internal element map */
- if ((status = nc_inq_varid(exoid, VAR_INT_E_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 'p')
- start[0] = 0;
- else
- start[0] = processor;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &emstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (emstat == 1) {
- /* get the index */
- if (ex_get_idx(exoid, VAR_ELEM_MAP_INT_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_ELEM_MAP_INT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (varidx[1] == -1) {
- /* Get the size of the internal element map */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_INT_ELEMS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_INT_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_INT_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- varidx[1] = count[0];
- }
-
- /* Get the map */
- if ((status = nc_inq_varid(exoid, VAR_ELEM_MAP_INT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_ELEM_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid, start, count, elem_mapi);
- } else {
- status = nc_get_vara_int(exoid, varid, start, count, elem_mapi);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_ELEM_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- } /* End "if (emstat == 1)" */
-
- /* Check the status of the internal element map */
- if ((status = nc_inq_varid(exoid, VAR_BOR_E_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_BOR_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 'p')
- start[0] = 0;
- else
- start[0] = processor;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &emstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (emstat == 1) {
- /* get the index */
- if (ex_get_idx(exoid, VAR_ELEM_MAP_BOR_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_ELEM_MAP_BOR_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (varidx[1] == -1) {
- /* Get the size of the border element map */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_BOR_ELEMS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_BOR_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_BOR_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- varidx[1] = count[0];
- }
-
- /* Get the map */
- if ((status = nc_inq_varid(exoid, VAR_ELEM_MAP_BOR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_ELEM_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid, start, count, elem_mapb);
- } else {
- status = nc_get_vara_int(exoid, varid, start, count, elem_mapb);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_ELEM_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "if (emstat == 1)" */
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_processor_node_maps.c b/cbind/src/ex_get_processor_node_maps.c
deleted file mode 100644
index 6fdd997..0000000
--- a/cbind/src/ex_get_processor_node_maps.c
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_get_node_map()
- *****************************************************************************
- * This function retrieves the nodal map.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_mapi - Pointer to vector for retrieval of internal FEM
- * nodal IDs.
- * node_mapb - Pointer to vector for retrieval of border FEM
- * nodal IDs.
- * node_mape - Pointer to vector for retrieval of external FEM
- * nodal IDs.
- * processor - The processor the file being read was written for.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <netcdf.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_processor_node_maps(int exoid,
- void_int *node_mapi,
- void_int *node_mapb,
- void_int *node_mape,
- int processor
- )
-{
- const char *func_name="ex_get_processor_node_maps";
-
- char ftype[2];
- int status, varid, dimid;
- size_t start[1], count[1];
- int64_t varidx[2];
- int nmstat;
-
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Get the file type */
- if (ex_get_file_type(exoid, ftype) != EX_NOERR) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: unable to find file type for file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the status of this node map */
- if ((status = nc_inq_varid(exoid, VAR_INT_N_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 'p')
- start[0] = 0;
- else
- start[0] = processor;
-
- if (nc_get_var1_int(exoid, varid, start, &nmstat) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" in file ID %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- /* get the index */
- if (ex_get_idx(exoid, VAR_NODE_MAP_INT_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_NODE_MAP_INT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension */
- if (varidx[1] == -1) {
- if ((status = nc_inq_dimid(exoid, DIM_NUM_INT_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_INT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_INT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- varidx[1] = count[0];
- }
-
- if ((status = nc_inq_varid(exoid, VAR_NODE_MAP_INT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NODE_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid, start, count, node_mapi);
- } else {
- status = nc_get_vara_int(exoid, varid, start, count, node_mapi);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_NODE_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- } /* End "if (nmstat == 1)" */
-
- /* Get the status of this node map */
- if ((status = nc_inq_varid(exoid, VAR_BOR_N_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 'p')
- start[0] = 0;
- else
- start[0] = processor;
-
- if (nc_get_var1_int(exoid, varid, start, &nmstat) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- /* get the index */
- if (ex_get_idx(exoid, VAR_NODE_MAP_BOR_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_NODE_MAP_BOR_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension */
- if (varidx[1] == -1) {
- if ((status = nc_inq_dimid(exoid, DIM_NUM_BOR_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_BOR_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_BOR_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- varidx[1] = count[0];
- }
-
- if ((status = nc_inq_varid(exoid, VAR_NODE_MAP_BOR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NODE_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid, start, count, node_mapb);
- } else {
- status = nc_get_vara_int(exoid, varid, start, count, node_mapb);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_NODE_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "if (nmstat == 1)" */
-
- /* Get the status of this node map */
- if ((status = nc_inq_varid(exoid, VAR_EXT_N_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 'p')
- start[0] = 0;
- else
- start[0] = processor;
-
- if (nc_get_var1_int(exoid, varid, start, &nmstat) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file ID %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- /* get the index */
- if (ex_get_idx(exoid, VAR_NODE_MAP_EXT_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_NODE_MAP_EXT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension */
- if (varidx[1] == -1) {
- if ((status = nc_inq_dimid(exoid, DIM_NUM_EXT_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_EXT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_EXT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- varidx[1] = count[0];
- }
-
- if ((status = nc_inq_varid(exoid, VAR_NODE_MAP_EXT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NODE_MAP_EXT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_get_vara_longlong(exoid, varid, start, count, node_mape);
- } else {
- status = nc_get_vara_int(exoid, varid, start, count, node_mape);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_NODE_MAP_EXT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "if (nmstat == 1)" */
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_prop.c b/cbind/src/ex_get_prop.c
deleted file mode 100644
index 5deb345..0000000
--- a/cbind/src/ex_get_prop.c
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <string.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_get_prop() reads an integer object property value
-stored for a single element block, node set, or side set.
-
-\return In case of an error, ex_get_prop() returns a negative number; a
-warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - invalid object type specified.
- - a warning value is returned if a property with the specified name is not found.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Type of object; use one of the options in the table below.
-\param[in] obj_id The element block, node set, or side set ID.
-\param[in] prop_name The name of the property (maximum length is \p MAX_STR_LENGTH ) for
- which the value is desired.
-\param[out] value Returned value of the property.
-
-<table>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-<tr><td> \c EX_ELEM_MAP </td><td> Element Map entity type </td></tr>
-<tr><td> \c EX_NODE_MAP </td><td> Node Map entity type </td></tr>
-<tr><td> \c EX_EDGE_MAP </td><td> Edge Map entity type </td></tr>
-<tr><td> \c EX_FACE_MAP </td><td> Face Map entity type </td></tr>
-</table>
-
-For an example of code to read an object property, refer to the
-description for ex_get_prop_names().
-
-*/
-
-int ex_get_prop (int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- const char *prop_name,
- void_int *value)
-{
- int status;
- int num_props, i, propid;
- int found = FALSE;
- size_t start[1];
- char name[MAX_VAR_NAME_LENGTH+1];
- char tmpstr[MAX_STR_LENGTH+1];
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* open appropriate variable, depending on obj_type and prop_name */
- num_props = ex_get_num_props(exoid,obj_type);
-
- for (i=1; i<=num_props; i++) {
- switch (obj_type){
- case EX_ELEM_BLOCK:
- strcpy (name, VAR_EB_PROP(i));
- break;
- case EX_EDGE_BLOCK:
- strcpy (name, VAR_ED_PROP(i));
- break;
- case EX_FACE_BLOCK:
- strcpy (name, VAR_FA_PROP(i));
- break;
- case EX_NODE_SET:
- strcpy (name, VAR_NS_PROP(i));
- break;
- case EX_EDGE_SET:
- strcpy (name, VAR_ES_PROP(i));
- break;
- case EX_FACE_SET:
- strcpy (name, VAR_FS_PROP(i));
- break;
- case EX_ELEM_SET:
- strcpy (name, VAR_ELS_PROP(i));
- break;
- case EX_SIDE_SET:
- strcpy (name, VAR_SS_PROP(i));
- break;
- case EX_ELEM_MAP:
- strcpy (name, VAR_EM_PROP(i));
- break;
- case EX_FACE_MAP:
- strcpy (name, VAR_FAM_PROP(i));
- break;
- case EX_EDGE_MAP:
- strcpy (name, VAR_EDM_PROP(i));
- break;
- case EX_NODE_MAP:
- strcpy (name, VAR_NM_PROP(i));
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- obj_type, exoid);
- ex_err("ex_get_prop",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, name, &propid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate property array %s in file id %d",
- name, exoid);
- ex_err("ex_get_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* compare stored attribute name with passed property name */
- memset(tmpstr, 0, MAX_STR_LENGTH+1);
- if ((status = nc_get_att_text(exoid, propid, ATT_PROP_NAME, tmpstr)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get property name in file id %d", exoid);
- ex_err("ex_get_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (strcmp(tmpstr, prop_name) == 0) {
- found = TRUE;
- break;
- }
- }
-
- /* if property is not found, return warning */
- if (!found) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: %s property %s not defined in file id %d",
- ex_name_of_object(obj_type), prop_name, exoid);
- ex_err("ex_get_prop",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* find index into property array using obj_id; read value from property */
- /* array at proper index; ex_id_lkup returns an index that is 1-based, */
- /* but netcdf expects 0-based arrays so subtract 1 */
- start[0] = ex_id_lkup (exoid, obj_type, obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: %s id %"PRId64" is NULL in file id %d",
- ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_get_prop",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate id %"PRId64" in %s property array in file id %d",
- obj_id, ex_name_of_object(obj_type), exoid);
- ex_err("ex_get_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- start[0] = start[0] - 1;
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- long long l_val;
- status = nc_get_var1_longlong (exoid, propid, start, &l_val);
- if (status == NC_NOERR) {
- int64_t *val = (int64_t*)value;
- *val = l_val;
- }
- } else {
- int i_val;
- status = nc_get_var1_int (exoid, propid, start, &i_val);
- if (status == NC_NOERR) {
- int *val = (int*)value;
- *val = i_val;
- }
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to read value in %s property array in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("ex_get_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_prop_array.c b/cbind/src/ex_get_prop_array.c
deleted file mode 100644
index c423325..0000000
--- a/cbind/src/ex_get_prop_array.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgpa - ex_get_prop_array: read object property array
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type type of object (element block, node
-* set or side set)
-* char* prop_name name of the property for which the
-* values will be read
-*
-* exit conditions -
-* int* values returned array of property values
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <string.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_get_prop_array() reads an array of integer property
-values for all element blocks, node sets, or side sets. The order of
-the values in the array correspond to the order in which the element
-blocks, node sets, or side sets were introduced into the file. Before
-this function is invoked, memory must be allocated for the returned
-array of(\c num_elem_blk, \c num_node_sets, or {num_side_sets})
-integer values.
-
-
-This function can be used in place of
- - ex_get_elem_blk_ids(),
- - ex_get_node_set_ids(), and
- - ex_get_side_set_ids()
-to get element block, node set, and side set IDs, respectively, by
-requesting the property name \b ID. One should also note that this
-same function can be accomplished with multiple calls to
-ex_get_prop().
-
-\return In case of an error, ex_get_prop_array() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - invalid object type specified.
- - a warning value is returned if a property with the specified name is not found.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Type of object; use one of the options in the table below.
-\param[in] prop_name The name of the property (maximum length of \p MAX_STR_LENGTH )
- for which the values are desired.
-\param[out] values Returned array of property values.
-
-<table>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-<tr><td> \c EX_ELEM_MAP </td><td> Element Map entity type </td></tr>
-<tr><td> \c EX_NODE_MAP </td><td> Node Map entity type </td></tr>
-<tr><td> \c EX_EDGE_MAP </td><td> Edge Map entity type </td></tr>
-<tr><td> \c EX_FACE_MAP </td><td> Face Map entity type </td></tr>
-</table>
-
-For an example of code to read an array of object properties, refer to
-the description for ex_get_prop_names().
-*/
-
-int ex_get_prop_array (int exoid,
- ex_entity_type obj_type,
- const char *prop_name,
- void_int *values)
-{
- int num_props, i, propid, status;
- int found = FALSE;
- char name[MAX_VAR_NAME_LENGTH+1];
- char tmpstr[MAX_STR_LENGTH+1];
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
-/* open appropriate variable, depending on obj_type and prop_name */
-
- num_props = ex_get_num_props(exoid, obj_type);
-
- for (i=1; i<=num_props; i++)
- {
- switch (obj_type){
- case EX_ELEM_BLOCK:
- strcpy (name, VAR_EB_PROP(i));
- break;
- case EX_EDGE_BLOCK:
- strcpy (name, VAR_ED_PROP(i));
- break;
- case EX_FACE_BLOCK:
- strcpy (name, VAR_FA_PROP(i));
- break;
- case EX_NODE_SET:
- strcpy (name, VAR_NS_PROP(i));
- break;
- case EX_EDGE_SET:
- strcpy (name, VAR_ES_PROP(i));
- break;
- case EX_FACE_SET:
- strcpy (name, VAR_FS_PROP(i));
- break;
- case EX_ELEM_SET:
- strcpy (name, VAR_ELS_PROP(i));
- break;
- case EX_SIDE_SET:
- strcpy (name, VAR_SS_PROP(i));
- break;
- case EX_ELEM_MAP:
- strcpy (name, VAR_EM_PROP(i));
- break;
- case EX_FACE_MAP:
- strcpy (name, VAR_FAM_PROP(i));
- break;
- case EX_EDGE_MAP:
- strcpy (name, VAR_EDM_PROP(i));
- break;
- case EX_NODE_MAP:
- strcpy (name, VAR_NM_PROP(i));
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- obj_type, exoid);
- ex_err("ex_get_prop_array",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, name, &propid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate property array %s in file id %d",
- name, exoid);
- ex_err("ex_get_prop_array",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* compare stored attribute name with passed property name */
- memset(tmpstr, 0, MAX_STR_LENGTH+1);
- if ((status = nc_get_att_text(exoid, propid, ATT_PROP_NAME, tmpstr)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get property name in file id %d", exoid);
- ex_err("ex_get_prop_array",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (strcmp(tmpstr, prop_name) == 0) {
- found = TRUE;
- break;
- }
- }
-
- /* if property is not found, return warning */
- if (!found) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: object type %d, property %s not defined in file id %d",
- obj_type, prop_name, exoid);
- ex_err("ex_get_prop_array",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* read num_obj values from property variable */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_get_var_longlong(exoid, propid, values);
- } else {
- status = nc_get_var_int(exoid, propid, values);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to read values in %s property array in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("ex_get_prop_array",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_prop_names.c b/cbind/src/ex_get_prop_names.c
deleted file mode 100644
index 6e101a3..0000000
--- a/cbind/src/ex_get_prop_names.c
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <string.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_get_prop_names() returns names of integer properties
-stored for an element block, node set, or side set. The number of
-properties (needed to allocate space for the property names) can be
-obtained via a call to ex_inquire() or ex_inquire_int().
-
-\return In case of an error, ex_get_prop_names() returns a negative number; a
-warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - invalid object type specified.
-
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Type of object; use one of the options in the table below.
-\param[out] prop_names Returned array containing \c num_props (obtained from call to
- ex_inquire() or ex_inquire_int()) names (of maximum length
- \p MAX_STR_LENGTH ) of properties to be stored. \b ID, a
- reserved property name, will be the first name in the array.
-
-<table>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-<tr><td> \c EX_ELEM_MAP </td><td> Element Map entity type </td></tr>
-<tr><td> \c EX_NODE_MAP </td><td> Node Map entity type </td></tr>
-<tr><td> \c EX_EDGE_MAP </td><td> Edge Map entity type </td></tr>
-<tr><td> \c EX_FACE_MAP </td><td> Face Map entity type </td></tr>
-</table>
-
-As an example, the following code segment reads in properties assigned
-to node sets:
-
-\code
-#include "exodusII.h";
-int error, exoid, num_props, *prop_values;
-char *prop_names[MAX_PROPS];
-
-\comment{read node set properties}
-num_props = ex_inquire_int(exoid, EX_INQ_NS_PROP);
-
-for (i=0; i < num_props; i++) {
- prop_names[i] = (char *) malloc ((MAX_STR_LENGTH+1), sizeof(char));
- prop_values = (int *) malloc (num_node_sets, sizeof(int));
-}
-
-error = ex_get_prop_names(exoid,EX_NODE_SET,prop_names);
-
-for (i=0; i < num_props; i++) {
- error = ex_get_prop_array(exoid, EX_NODE_SET, prop_names[i],
- prop_values);
-}
-\endcode
-
-*/
-
-int ex_get_prop_names (int exoid,
- ex_entity_type obj_type,
- char **prop_names)
-{
- int status;
- int i, num_props, propid;
- char var_name[12];
- size_t att_len;
- nc_type att_type;
- int api_name_size = ex_inquire_int(exoid, EX_INQ_MAX_READ_NAME_LENGTH);
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0;
-
- /* determine which type of object property names are desired for */
-
- num_props = ex_get_num_props (exoid, obj_type);
-
- for (i=0; i<num_props; i++) {
- switch (obj_type) {
- case EX_ELEM_BLOCK:
- strcpy (var_name, VAR_EB_PROP(i+1));
- break;
- case EX_FACE_BLOCK:
- strcpy (var_name, VAR_FA_PROP(i+1));
- break;
- case EX_EDGE_BLOCK:
- strcpy (var_name, VAR_ED_PROP(i+1));
- break;
- case EX_NODE_SET:
- strcpy (var_name, VAR_NS_PROP(i+1));
- break;
- case EX_SIDE_SET:
- strcpy (var_name, VAR_SS_PROP(i+1));
- break;
- case EX_EDGE_SET:
- strcpy (var_name, VAR_ES_PROP(i+1));
- break;
- case EX_FACE_SET:
- strcpy (var_name, VAR_FS_PROP(i+1));
- break;
- case EX_ELEM_SET:
- strcpy (var_name, VAR_ELS_PROP(i+1));
- break;
- case EX_ELEM_MAP:
- strcpy (var_name, VAR_EM_PROP(i+1));
- break;
- case EX_FACE_MAP:
- strcpy (var_name, VAR_FAM_PROP(i+1));
- break;
- case EX_EDGE_MAP:
- strcpy (var_name, VAR_EDM_PROP(i+1));
- break;
- case EX_NODE_MAP:
- strcpy (var_name, VAR_NM_PROP(i+1));
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- obj_type, exoid);
- ex_err("ex_get_prop_names",errmsg,EX_BADPARAM);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, var_name, &propid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate property array %s in file id %d",
- var_name, exoid);
- ex_err("ex_get_prop_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* for each property, read the "name" attribute of property array variable */
- if ((status = nc_inq_att(exoid, propid, ATT_PROP_NAME, &att_type, &att_len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get property attributes (type, len) in file id %d", exoid);
- ex_err("ex_get_prop_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (att_len-1 <= api_name_size) {
- /* Client has large enough char string to hold text... */
- if ((status = nc_get_att_text(exoid, propid, ATT_PROP_NAME, prop_names[i])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get property name in file id %d", exoid);
- ex_err("ex_get_prop_names",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- else {
- /* FIXME */
- exerrval = NC_ESTS;
- sprintf(errmsg,
- "Error: property name length exceeds space available to store it in file id %d", exoid);
- ex_err("ex_get_prop_names",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_qa.c b/cbind/src/ex_get_qa.c
deleted file mode 100644
index 3349d25..0000000
--- a/cbind/src/ex_get_qa.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-The function ex_get_qa() reads the QA records from the database. Each
-QA record contains four \c MAX_STR_LENGTH-byte character
-strings. The character strings are:
- - the analysis code name
- - the analysis code QA descriptor
- - the analysis date
- - the analysis time
-
-Memory must be allocated for the QA records before this call is
-made. The number of QA records can be determined by invoking
-ex_inquire().
-
-\return In case of an error, ex_get_qa() returns a negative number; a
- warning will return a positive number. Possible causes of errors
- include:
- - data file not properly opened with call to ex_create() or ex_open()
- - a warning value is returned if no QA records were stored.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[out] qa_record Returned array containing the QA records.
-
-The following will determine the number of QA records and
-read them from the open exodus file:
-
-\code
-#include "exodusII.h"
-int num_qa_rec, error, exoid
-char *qa_record[MAX_QA_REC][4];
-
-\comment{read QA records}
-num_qa_rec = ex_inquire_int(exoid, EX_INQ_QA);
-
-for (i=0; i<num_qa_rec; i++) {
- for (j=0; j<4; j++)
- qa_record[i][j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
-}
-error = ex_get_qa (exoid, qa_record);
-\endcode
-
- */
-
-int ex_get_qa (int exoid,
- char *qa_record[][4])
-{
- int status;
- int dimid, varid;
- size_t i, j;
- size_t num_qa_records, start[3], count[3];
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined dimensions and variables */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_QA, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no qa records stored in file id %d",
- exoid);
- ex_err("ex_get_qa",errmsg,exerrval);
- return (EX_WARN);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_qa_records)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of qa records in file id %d",
- exoid);
- ex_err("ex_get_qa",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* do this only if there are any QA records */
- if (num_qa_records > 0) {
- if ((status = nc_inq_varid(exoid, VAR_QA_TITLE, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate qa record data in file id %d", exoid);
- ex_err("ex_get_qa",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* read the QA records */
- for (i=0; i<num_qa_records; i++) {
- for (j=0; j<4; j++) {
- start[0] = i; count[0] = 1;
- start[1] = j; count[1] = 1;
- start[2] = 0; count[2] = MAX_STR_LENGTH+1;
- if ((status = nc_get_vara_text(exoid, varid, start, count, qa_record[i][j])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get qa record data in file id %d", exoid);
- ex_err("ex_get_qa",errmsg,exerrval);
- return (EX_FATAL);
- }
- qa_record[i][j][MAX_STR_LENGTH] = '\0';
- ex_trim_internal(qa_record[i][j]);
- }
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_set.c b/cbind/src/ex_get_set.c
deleted file mode 100644
index d33ad8a..0000000
--- a/cbind/src/ex_get_set.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgset - ex_get_set
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int set_type the type of set
-* int set_id set id
-*
-* exit conditions -
-* int* set_entry_list array of entries in set
-* int* set_extra_list array of extras in set
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the set entry list and set extra list for a single set
- */
-
-int ex_get_set (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- void_int *set_entry_list,
- void_int *set_extra_list) /* NULL if dont want to retrieve data */
-{
-
- int dimid, entry_list_id, extra_list_id, status;
- int set_id_ndx;
- char errmsg[MAX_ERR_LENGTH];
- char* entryptr = NULL;
- char* extraptr = NULL;
-
- exerrval = 0; /* clear error code */
-
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(set_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no %ss stored in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_get_set",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of set id in VAR_*S_IDS array */
- set_id_ndx = ex_id_lkup(exoid,set_type,set_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: %s %"PRId64" is NULL in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
-
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in VAR_*S_IDS array in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* setup more pointers based on set_type */
- if (set_type == EX_NODE_SET) {
- entryptr = VAR_NODE_NS(set_id_ndx);
- extraptr = NULL;
- }
- else if (set_type == EX_EDGE_SET) {
- entryptr = VAR_EDGE_ES(set_id_ndx);
- extraptr = VAR_ORNT_ES(set_id_ndx);
- }
- else if (set_type == EX_FACE_SET) {
- entryptr = VAR_FACE_FS(set_id_ndx);
- extraptr = VAR_ORNT_FS(set_id_ndx);
- }
- else if (set_type == EX_SIDE_SET) {
- entryptr = VAR_ELEM_SS(set_id_ndx);
- extraptr = VAR_SIDE_SS(set_id_ndx);
- }
- if (set_type == EX_ELEM_SET) {
- entryptr = VAR_ELEM_ELS(set_id_ndx);
- extraptr = NULL;
- }
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_varid(exoid, entryptr, &entry_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate entry list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* If client doet not pass in an array to store the
- extra list, don't access it at all */
-
- /* only do extra list for edge, face and side sets */
- if (set_extra_list) {
- if ((status = nc_inq_varid (exoid, extraptr, &extra_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate extra list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
-
- /* read in the entry list and extra list arrays unless they are NULL */
- if (set_entry_list) {
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, entry_list_id, set_entry_list);
- } else {
- status = nc_get_var_int(exoid, entry_list_id, set_entry_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get entry list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* only do extra list for edge, face and side sets */
- if (set_extra_list) {
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, extra_list_id, set_extra_list);
- } else {
- status = nc_get_var_int(exoid, extra_list_id, set_extra_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get extra list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id, exoid);
- ex_err("ex_get_set", errmsg, exerrval);
- return (EX_FATAL);
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_set_dist_fact.c b/cbind/src/ex_get_set_dist_fact.c
deleted file mode 100644
index b9e6f42..0000000
--- a/cbind/src/ex_get_set_dist_fact.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgssd - ex_get_set_dist_fact
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int set_type type of set
-* int set_id set id
-*
-* exit conditions -
-* float* set_dist_fact array of dist factors for set
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the distribution factors for a single set
- */
-
-int ex_get_set_dist_fact (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- void *set_dist_fact)
-{
-
- int dimid, dist_id, set_id_ndx;
- int status;
- char errmsg[MAX_ERR_LENGTH];
- char* factptr = NULL;
-
- exerrval = 0; /* clear error code */
-
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid (exoid, ex_dim_num_objects(set_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no %s sets stored in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_get_set_dist_fact",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of set id in VAR_*S_IDS array */
- set_id_ndx = ex_id_lkup(exoid,set_type,set_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: %s set %"PRId64" is NULL in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set_dist_fact",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s set %"PRId64" in VAR_*S_IDS array in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* setup more pointers based on set_type */
- if (set_type == EX_NODE_SET) {
- factptr = VAR_FACT_NS(set_id_ndx);
- }
- else if (set_type == EX_EDGE_SET) {
- factptr = VAR_FACT_ES(set_id_ndx);
- }
- else if (set_type == EX_FACE_SET) {
- factptr = VAR_FACT_FS(set_id_ndx);
- }
- else if (set_type == EX_SIDE_SET) {
- factptr = VAR_FACT_SS(set_id_ndx);
- }
- if (set_type == EX_ELEM_SET) {
- factptr = VAR_FACT_ELS(set_id_ndx);
- }
-
- /* inquire id's of previously defined dimensions and variables */
- if ((status = nc_inq_varid(exoid, factptr, &dist_id)) != NC_NOERR) {
- exerrval = status;
- /* not an error for node sets because this is how we check that df's exist */
- if (set_type == EX_NODE_SET) {
- sprintf(errmsg,
- "Warning: dist factors not stored for %s set %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id, exoid);
- ex_err("ex_get_set_dist_fact",errmsg,exerrval);
- return (EX_WARN); /* complain - but not too loud */
- }
- /* is an error for other sets */
- else {
- sprintf(errmsg,
- "Error: failed to locate dist factors list for %s set %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* read in the distribution factors array */
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_var_float(exoid, dist_id, set_dist_fact);
- } else {
- status = nc_get_var_double(exoid, dist_id, set_dist_fact);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get dist factors list for %s set %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_set_param.c b/cbind/src/ex_get_set_param.c
deleted file mode 100644
index b6a29a8..0000000
--- a/cbind/src/ex_get_set_param.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgsetp - ex_get_set_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int set_type the type of set
-* int set_id set id
-*
-* exit conditions -
-* int* num_entries_in_set number of entries in the set
-* int* num_dist_fact_in_set number of distribution factors in the
-* set
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the number of entries and the number of distribution factors which
- * describe a single set
- */
-
-int ex_get_set_param (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- void_int *num_entry_in_set,
- void_int *num_dist_fact_in_set)
-{
- int status;
- int varid, dimid, set_id_ndx;
- size_t lnum_entry_in_set;
- size_t lnum_dist_fact_in_set;
- char errmsg[MAX_ERR_LENGTH];
- char* numentryptr = NULL;
- char* numdfptr = NULL;
-
- exerrval = 0; /* clear error code */
-
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- if (num_entry_in_set)
- *(int64_t*)num_entry_in_set = 0;
- if (num_dist_fact_in_set)
- *(int64_t*)num_dist_fact_in_set = 0;
- } else {
- if (num_entry_in_set)
- *(int*)num_entry_in_set = 0;
- if (num_dist_fact_in_set)
- *(int*)num_dist_fact_in_set = 0;
- }
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(set_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no %ss stored in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_get_set_param",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* Lookup index of set id in VAR_*S_IDS array */
- set_id_ndx = ex_id_lkup(exoid,set_type,set_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) /* NULL set? */
- {
- return (EX_NOERR);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set_param",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* setup more pointers based on set_type */
- if (set_type == EX_NODE_SET) {
- numentryptr = DIM_NUM_NOD_NS(set_id_ndx);
- /* note we are using DIM_NUM_NODE_NS instead of DIM_NUM_DF_NS */
- numdfptr = DIM_NUM_NOD_NS(set_id_ndx);
- }
- else if (set_type == EX_EDGE_SET) {
- numentryptr = DIM_NUM_EDGE_ES(set_id_ndx);
- numdfptr = DIM_NUM_DF_ES(set_id_ndx);
- }
- else if (set_type == EX_FACE_SET) {
- numentryptr = DIM_NUM_FACE_FS(set_id_ndx);
- numdfptr = DIM_NUM_DF_FS(set_id_ndx);
- }
- else if (set_type == EX_SIDE_SET) {
- numentryptr = DIM_NUM_SIDE_SS(set_id_ndx);
- numdfptr = DIM_NUM_DF_SS(set_id_ndx);
- }
- if (set_type == EX_ELEM_SET) {
- numentryptr = DIM_NUM_ELE_ELS(set_id_ndx);
- numdfptr = DIM_NUM_DF_ELS(set_id_ndx);
- }
-
- /* inquire values of dimension for number of entities in set */
- if (ex_get_dimension(exoid, numentryptr,"entries", &lnum_entry_in_set,
- &dimid, "ex_get_set_param") != NC_NOERR)
- return EX_FATAL;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- if (num_entry_in_set)
- *(int64_t*)num_entry_in_set = lnum_entry_in_set;
- } else {
- if (num_entry_in_set)
- *(int*)num_entry_in_set = lnum_entry_in_set;
- }
-
- /* Inquire value of dimension of number of dist factors for this set.
- NOTE: For node sets, because DIM_NUM_DF_NS is not used, we check to see
- if the dist factor variable for a node set index exits. If it does not,
- the dist factor count is assumed to be zero, otherwise the dist factor
- count will be the same as the number of nodes in the set. */
-
- if (set_type == EX_NODE_SET) {
- if ((status = nc_inq_varid(exoid, VAR_FACT_NS(set_id_ndx), &varid)) != NC_NOERR) {
- if (status == NC_ENOTVAR)
- return (EX_NOERR);
- else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate the dist factors for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_get_set_param",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- if (num_dist_fact_in_set)
- *(int64_t*)num_dist_fact_in_set = lnum_entry_in_set;
- } else {
- if (num_dist_fact_in_set)
- *(int*)num_dist_fact_in_set = lnum_entry_in_set;
- }
- }
- else {/* all other set types */
- if ((status = nc_inq_dimid(exoid, numdfptr, &dimid)) != NC_NOERR) {
- if (status == NC_EBADDIM)
- return (EX_NOERR);
- else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of dist factors in %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id, exoid);
- ex_err("ex_get_set_param",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &lnum_dist_fact_in_set)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of dist factors in %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id, exoid);
- ex_err("ex_get_set_param",errmsg,exerrval);
- return (EX_FATAL);
- }
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- if (num_dist_fact_in_set)
- *(int64_t*)num_dist_fact_in_set = lnum_dist_fact_in_set;
- } else {
- if (num_dist_fact_in_set)
- *(int*)num_dist_fact_in_set = lnum_dist_fact_in_set;
- }
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_sets.c b/cbind/src/ex_get_sets.c
deleted file mode 100644
index a474cb7..0000000
--- a/cbind/src/ex_get_sets.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2012 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-int ex_get_sets (int exoid,
- size_t set_count,
- struct ex_set *sets)
-{
- size_t i;
- int status = EX_NOERR;
- int stat;
- for (i=0; i < set_count; i++) {
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- stat = ex_get_set_param(exoid, sets[i].type, sets[i].id,
- &sets[i].num_entry, &sets[i].num_distribution_factor);
- } else {
- /* API expecting 32-bit ints; ex_set structure has 64-bit ints. */
- int num_entry;
- int num_dist;
- stat = ex_get_set_param(exoid, sets[i].type, sets[i].id,
- &num_entry, &num_dist);
- sets[i].num_entry = num_entry;
- sets[i].num_distribution_factor = num_dist;
- }
- if (stat != EX_NOERR) status = (status == EX_FATAL) ? EX_FATAL : stat;
-
- if (stat == EX_NOERR && (sets[i].entry_list != NULL || sets[i].extra_list != NULL)) {
- stat = ex_get_set(exoid, sets[i].type, sets[i].id, sets[i].entry_list, sets[i].extra_list);
- if (stat != EX_NOERR) status = (status == EX_FATAL) ? EX_FATAL : stat;
- }
-
- if (stat == EX_NOERR && sets[i].distribution_factor_list != NULL) {
- stat = ex_get_set_dist_fact(exoid, sets[i].type, sets[i].id, sets[i].distribution_factor_list);
- if (stat != EX_NOERR) status = (status == EX_FATAL) ? EX_FATAL : stat;
- }
- }
- return status;
-}
diff --git a/cbind/src/ex_get_side_set.c b/cbind/src/ex_get_side_set.c
deleted file mode 100644
index 3e02b26..0000000
--- a/cbind/src/ex_get_side_set.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgss - ex_get_side_set
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int side_set_id side set id
-*
-* exit conditions -
-* int* side_set_elem_list array of elements in side set
-* int* side_set_side_list array of sides in side set
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the side set element list and side set side list for a single side set
- * \deprecated Use ex_get_set()(exoid, EX_SIDE_SET, side_set_id, side_set_elem_list, side_set_side_list)
- */
-
-int ex_get_side_set (int exoid,
- ex_entity_id side_set_id,
- void_int *side_set_elem_list,
- void_int *side_set_side_list)
-{
- return ex_get_set(exoid, EX_SIDE_SET, side_set_id,
- side_set_elem_list, side_set_side_list);
-}
diff --git a/cbind/src/ex_get_side_set_dist_fact.c b/cbind/src/ex_get_side_set_dist_fact.c
deleted file mode 100644
index d2a2d21..0000000
--- a/cbind/src/ex_get_side_set_dist_fact.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgssd - ex_get_side_set_dist_fact
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int side_set_id side set id
-*
-* exit conditions -
-* float* side_set_dist_fact array of dist factors for side set
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the distribution factors for a single side set
- * \deprecated Use ex_get_set_dist_fact()(exoid, EX_SIDE_SET, side_set_id, side_set_dist_fact)
- */
-
-int ex_get_side_set_dist_fact (int exoid,
- ex_entity_id side_set_id,
- void *side_set_dist_fact)
-{
- return ex_get_set_dist_fact(exoid, EX_SIDE_SET, side_set_id,
- side_set_dist_fact);
-}
diff --git a/cbind/src/ex_get_side_set_ids.c b/cbind/src/ex_get_side_set_ids.c
deleted file mode 100644
index 9a537c9..0000000
--- a/cbind/src/ex_get_side_set_ids.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgssi - ex_get_side_set_ids
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-* int* size_set_ids array of side set IDs
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the side set ids from the database
- * \deprecated Use ex_get_ids()(exoid, EX_SIDE_SET, ids)
- */
-
-int ex_get_side_set_ids (int exoid,
- void_int *ids)
-{
- return ex_get_ids( exoid, EX_SIDE_SET, ids );
-}
diff --git a/cbind/src/ex_get_side_set_node_count.c b/cbind/src/ex_get_side_set_node_count.c
deleted file mode 100644
index ebb30c9..0000000
--- a/cbind/src/ex_get_side_set_node_count.c
+++ /dev/null
@@ -1,623 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgssc - ex_get_side_set_node_count
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int side_set_id side set id
-*
-* exit conditions -
-* int *side_set_node_cnt_list returned array of number of nodes for
-* side or face
-* revision history -
-*
-*****************************************************************************/
-
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/* Generic error message for element type/node count mapping...*/
-static int el_node_count_error(struct elem_blk_parm elem_blk_parms)
-{
- char errmsg[MAX_ERR_LENGTH];
- sprintf(errmsg,
- "Error: An element of type '%s' with %d nodes is not valid.",
- elem_blk_parms.elem_type,
- elem_blk_parms.num_nodes_per_elem);
- ex_err("ex_get_side_set_node_count",errmsg,EX_MSG);
- return(EX_FATAL);
-}
-
-int ex_get_side_set_node_count(int exoid,
- ex_entity_id side_set_id,
- int *side_set_node_cnt_list)
-{
- size_t m;
- int ii, i, j;
- int num_side_sets, num_elem_blks, num_df, ndim;
- size_t tot_num_ss_elem = 0;
- int64_t side, elem;
- void_int *elem_blk_ids;
- void_int *ss_elem_ndx;
- void_int *side_set_elem_list, *side_set_side_list;
- size_t elem_ctr;
-
- struct elem_blk_parm *elem_blk_parms;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any side sets are specified */
- /* inquire how many side sets have been stored */
- num_side_sets = ex_inquire_int(exoid, EX_INQ_SIDE_SETS);
- if (num_side_sets < 0) {
- sprintf(errmsg,
- "Error: failed to get number of side sets in file id %d",exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (num_side_sets == 0) {
- sprintf(errmsg,
- "Warning: no side sets defined in file id %d",exoid);
- ex_err("ex_get_side_set_node_count",errmsg,EX_WARN);
- return(EX_WARN);
- }
-
- /* Lookup index of side set id in VAR_SS_IDS array */
- ex_id_lkup(exoid,EX_SIDE_SET,side_set_id);
- if (exerrval != 0)
- {
- if (exerrval == EX_NULLENTITY)
- {
- sprintf(errmsg,
- "Warning: side set %"PRId64" is NULL in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_side_set_node_count",errmsg,EX_MSG);
- return (EX_WARN);
- }
- else
- {
-
- sprintf(errmsg,
- "Error: failed to locate side set %"PRId64" in VAR_SS_IDS array in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- num_elem_blks = ex_inquire_int(exoid, EX_INQ_ELEM_BLK);
- if (num_elem_blks < 0) {
- sprintf(errmsg,
- "Error: failed to get number of element blocks in file id %d",exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* get the dimensionality of the coordinates; this is necessary to
- distinguish between 2d TRIs and 3d TRIs */
- ndim = ex_inquire_int(exoid, EX_INQ_DIM);
- if (ndim < 0) {
- sprintf(errmsg,
- "Error: failed to get dimensionality in file id %d",exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* First determine the # of elements in the side set*/
- if ((ex_get_side_set_param(exoid,side_set_id,&tot_num_ss_elem,&num_df)) == -1)
- {
- sprintf(errmsg,
- "Error: failed to get number of elements in side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* Allocate space for the side set element list */
- {
- int int_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_BULK_INT64_API)
- int_size = sizeof(int64_t);
-
- if (!(side_set_elem_list=malloc(tot_num_ss_elem*int_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set element list for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Allocate space for the side set side list */
- if (!(side_set_side_list=malloc(tot_num_ss_elem*int_size))) {
- free(side_set_elem_list);
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set side list for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_side_set(exoid, side_set_id,
- side_set_elem_list, side_set_side_list) == -1) {
- free(side_set_elem_list);
- free(side_set_side_list);
- sprintf(errmsg,
- "Error: failed to get side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Allocate space for the ss element index array */
- if (!(ss_elem_ndx=malloc(tot_num_ss_elem*int_size))) {
- free(side_set_elem_list);
- free(side_set_side_list);
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set elem sort array for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (int_size == sizeof(int64_t)) {
- /* Sort side set element list into index array - non-destructive */
- int64_t *elems = (int64_t*)ss_elem_ndx;
- for (i=0;i<tot_num_ss_elem;i++) {
- elems[i] = i; /* init index array to current position */
- }
- ex_iqsort64(side_set_elem_list, elems,tot_num_ss_elem);
- } else {
- /* Sort side set element list into index array - non-destructive */
- int *elems = (int*)ss_elem_ndx;
- for (i=0;i<tot_num_ss_elem;i++) {
- elems[i] = i; /* init index array to current position */
- }
- ex_iqsort(side_set_elem_list, elems,tot_num_ss_elem);
- }
- }
-
- /* Allocate space for the element block ids */
- {
- int int_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- int_size = sizeof(int64_t);
- }
-
- if (!(elem_blk_ids=malloc(num_elem_blks*int_size))) {
- exerrval = EX_MEMFAIL;
- free(ss_elem_ndx);
- free(side_set_side_list);
- free(side_set_elem_list);
- sprintf(errmsg,
- "Error: failed to allocate space for element block ids for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_elem_blk_ids(exoid, elem_blk_ids) == -1) {
- free(elem_blk_ids);
- free(ss_elem_ndx);
- free(side_set_side_list);
- free(side_set_elem_list);
- sprintf(errmsg,
- "Error: failed to get element block ids in file id %d",
- exoid);
- ex_err("ex_get_side_set_node_count",errmsg,EX_MSG);
- return(EX_FATAL);
- }
- }
-
- /* Allocate space for the element block params */
- if (!(elem_blk_parms=malloc(num_elem_blks*sizeof(struct elem_blk_parm)))) {
- free(elem_blk_ids);
- free(ss_elem_ndx);
- free(side_set_side_list);
- free(side_set_elem_list);
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element block params for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_count",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- elem_ctr = 0;
- for (i=0; i<num_elem_blks; i++) {
- ex_entity_id id;
- ex_block block;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- id = ((int64_t*)elem_blk_ids)[i];
- } else {
- id = ((int*)elem_blk_ids)[i];
- }
-
- /* read in an element block parameter */
- block.type = EX_ELEM_BLOCK;
- block.id = id;
- if ((ex_get_block_param (exoid, &block)) == -1) {
- free(elem_blk_parms);
- free(elem_blk_ids);
- free(ss_elem_ndx);
- free(side_set_side_list);
- free(side_set_elem_list);
- sprintf(errmsg,
- "Error: failed to get element block %"PRId64" parameters in file id %d",
- block.id, exoid);
- ex_err("ex_get_side_set_node_count",errmsg,EX_MSG);
- return(EX_FATAL);
- }
-
- elem_blk_parms[i].num_elem_in_blk = block.num_entry;
- elem_blk_parms[i].num_nodes_per_elem = block.num_nodes_per_entry;
- elem_blk_parms[i].num_attr = block.num_attribute;
-
- for (m=0; m < strlen(block.topology); m++) {
- elem_blk_parms[i].elem_type[m] = toupper(block.topology[m]);
- }
- elem_blk_parms[i].elem_type[m] = '\0';
-
- if (strncmp(elem_blk_parms[i].elem_type,"CIRCLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_CIRCLE;
- elem_blk_parms[i].num_sides = 1;
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SPHERE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SPHERE;
- elem_blk_parms[i].num_sides = 1;
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"QUAD",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_QUAD;
- elem_blk_parms[i].num_sides = 4;
- if (elem_blk_parms[i].num_nodes_per_elem == 4) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- elem_blk_parms[i].num_nodes_per_side[3] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 5) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- elem_blk_parms[i].num_nodes_per_side[3] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 9 ||
- elem_blk_parms[i].num_nodes_per_elem == 8) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- } else {
- return el_node_count_error(elem_blk_parms[i]);
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TRIANGLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRIANGLE;
- if (ndim == 2) { /* 2d TRIs */
- elem_blk_parms[i].num_sides = 3;
- if (elem_blk_parms[i].num_nodes_per_elem == 3) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 6) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- }
- } else if (ndim == 3) { /* 3d TRIs -- triangular shell*/
- elem_blk_parms[i].num_sides = 5; /* 2 Faces and 3 Edges */
- if (elem_blk_parms[i].num_nodes_per_elem == 3) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- elem_blk_parms[i].num_nodes_per_side[3] = 2;
- elem_blk_parms[i].num_nodes_per_side[4] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 6) {
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- elem_blk_parms[i].num_nodes_per_side[1] = 6;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- elem_blk_parms[i].num_nodes_per_side[4] = 3;
- } else {
- return el_node_count_error(elem_blk_parms[i]);
- }
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SHELL",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SHELL;
-
- if (elem_blk_parms[i].num_nodes_per_elem == 2) {/* KLUDGE for 2D Shells*/
- elem_blk_parms[i].num_sides = 2;
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 4) {
- elem_blk_parms[i].num_sides = 6; /* 2 Faces, 4 Edges */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 2;
- elem_blk_parms[i].num_nodes_per_side[3] = 2;
- elem_blk_parms[i].num_nodes_per_side[4] = 2;
- elem_blk_parms[i].num_nodes_per_side[5] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 8 ||
- elem_blk_parms[i].num_nodes_per_elem == 9) {
- elem_blk_parms[i].num_sides = 6; /* 2 Faces, 4 Edges */
- elem_blk_parms[i].num_nodes_per_side[0] =
- elem_blk_parms[i].num_nodes_per_elem; /* 8 or 9 */
- elem_blk_parms[i].num_nodes_per_side[1] =
- elem_blk_parms[i].num_nodes_per_elem; /* 8 or 9 */
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- elem_blk_parms[i].num_nodes_per_side[4] = 3;
- elem_blk_parms[i].num_nodes_per_side[5] = 3;
- } else {
- return el_node_count_error(elem_blk_parms[i]);
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"HEX",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_HEX;
- elem_blk_parms[i].num_sides = 6;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 8) { /* 8-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 4;
- elem_blk_parms[i].num_nodes_per_side[3] = 4;
- elem_blk_parms[i].num_nodes_per_side[4] = 4;
- elem_blk_parms[i].num_nodes_per_side[5] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 9) { /* 9-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 4;
- elem_blk_parms[i].num_nodes_per_side[3] = 4;
- elem_blk_parms[i].num_nodes_per_side[4] = 4;
- elem_blk_parms[i].num_nodes_per_side[5] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 12) { /* HEXSHELLS */
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- elem_blk_parms[i].num_nodes_per_side[1] = 6;
- elem_blk_parms[i].num_nodes_per_side[2] = 6;
- elem_blk_parms[i].num_nodes_per_side[3] = 6;
- elem_blk_parms[i].num_nodes_per_side[4] = 4;
- elem_blk_parms[i].num_nodes_per_side[5] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 20) { /* 20-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- elem_blk_parms[i].num_nodes_per_side[1] = 8;
- elem_blk_parms[i].num_nodes_per_side[2] = 8;
- elem_blk_parms[i].num_nodes_per_side[3] = 8;
- elem_blk_parms[i].num_nodes_per_side[4] = 8;
- elem_blk_parms[i].num_nodes_per_side[5] = 8;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 27) { /* 27-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 9;
- elem_blk_parms[i].num_nodes_per_side[1] = 9;
- elem_blk_parms[i].num_nodes_per_side[2] = 9;
- elem_blk_parms[i].num_nodes_per_side[3] = 9;
- elem_blk_parms[i].num_nodes_per_side[4] = 9;
- elem_blk_parms[i].num_nodes_per_side[5] = 9;
- } else {
- return el_node_count_error(elem_blk_parms[i]);
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TETRA",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TETRA;
- elem_blk_parms[i].num_sides = 4;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 4) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 8) {
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 4;
- elem_blk_parms[i].num_nodes_per_side[3] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 10) {
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- elem_blk_parms[i].num_nodes_per_side[1] = 6;
- elem_blk_parms[i].num_nodes_per_side[2] = 6;
- elem_blk_parms[i].num_nodes_per_side[3] = 6;
- } else {
- return el_node_count_error(elem_blk_parms[i]);
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"WEDGE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_WEDGE;
- elem_blk_parms[i].num_sides = 5;
- if (elem_blk_parms[i].num_nodes_per_elem == 6) {
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- elem_blk_parms[i].num_nodes_per_side[1] = 4;
- elem_blk_parms[i].num_nodes_per_side[2] = 4;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- elem_blk_parms[i].num_nodes_per_side[4] = 3;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 15){
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- elem_blk_parms[i].num_nodes_per_side[1] = 8;
- elem_blk_parms[i].num_nodes_per_side[2] = 8;
- elem_blk_parms[i].num_nodes_per_side[3] = 6;
- elem_blk_parms[i].num_nodes_per_side[4] = 6;
- } else {
- return el_node_count_error(elem_blk_parms[i]);
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"PYRAMID",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_PYRAMID;
- elem_blk_parms[i].num_sides = 5;
- if (elem_blk_parms[i].num_nodes_per_elem == 5) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- elem_blk_parms[i].num_nodes_per_side[2] = 3;
- elem_blk_parms[i].num_nodes_per_side[3] = 3;
- elem_blk_parms[i].num_nodes_per_side[4] = 4;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 13){
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- elem_blk_parms[i].num_nodes_per_side[1] = 6;
- elem_blk_parms[i].num_nodes_per_side[2] = 6;
- elem_blk_parms[i].num_nodes_per_side[3] = 6;
- elem_blk_parms[i].num_nodes_per_side[4] = 8;
- } else {
- return el_node_count_error(elem_blk_parms[i]);
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"BEAM",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_BEAM;
- elem_blk_parms[i].num_sides = 2;
-
- if (elem_blk_parms[i].num_nodes_per_elem == 2) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 3){
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- } else {
- return el_node_count_error(elem_blk_parms[i]);
- }
- }
- else if ( (strncmp(elem_blk_parms[i].elem_type,"TRUSS",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"BAR",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"EDGE",3) == 0) )
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRUSS;
- elem_blk_parms[i].num_sides = 2;
-
- if (elem_blk_parms[i].num_nodes_per_elem == 2) {
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- elem_blk_parms[i].num_nodes_per_side[1] = 2;
- } else if (elem_blk_parms[i].num_nodes_per_elem == 3) {
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- elem_blk_parms[i].num_nodes_per_side[1] = 3;
- } else {
- return el_node_count_error(elem_blk_parms[i]);
- }
- }
- /* Used for an empty block in a parallel decomposition */
- else if (strncmp(elem_blk_parms[i].elem_type,"NULL",3) == 0) {
- elem_blk_parms[i].elem_type_val = EX_EL_NULL_ELEMENT;
- elem_blk_parms[i].num_sides = 0;
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- elem_blk_parms[i].num_elem_in_blk = 0;
- } else {
- /* unsupported element type; no problem if no sides specified for
- this element block */
- elem_blk_parms[i].elem_type_val = EX_EL_UNK;
- elem_blk_parms[i].num_sides = 0;
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- }
-
- elem_blk_parms[i].elem_blk_id = id; /* save id */
- elem_ctr += elem_blk_parms[i].num_elem_in_blk;
- elem_blk_parms[i].elem_ctr = elem_ctr; /* save elem number max */
- }
-
-
- /* Finally... Create the list of node counts for each face in the
- * side set.
- */
-
- j = 0; /* The current element block... */
- for (ii=0;ii<tot_num_ss_elem;ii++) {
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- i = ((int64_t*)ss_elem_ndx)[ii];
- elem = ((int64_t*)side_set_elem_list)[i];
- side = ((int64_t*)side_set_side_list)[i]-1; /* Convert to 0-based sides */
- } else {
- i = ((int*)ss_elem_ndx)[ii];
- elem = ((int*)side_set_elem_list)[i];
- side = ((int*)side_set_side_list)[i]-1; /* Convert to 0-based sides */
- }
-
- /*
- * Since the elements are being accessed in sorted, order, the
- * block that contains the elements must progress sequentially
- * from block 0 to block[num_elem_blks-1]. Once we find an element
- * not in this block, find a following block that contains it...
- */
- for ( ; j<num_elem_blks; j++) {
- if (elem <= elem_blk_parms[j].elem_ctr) {
- break;
- }
- }
-
- if (j < num_elem_blks) {
- assert(side < elem_blk_parms[j].num_sides);
- side_set_node_cnt_list[i] = elem_blk_parms[j].num_nodes_per_side[side];
- } else {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid element number %"PRId64" found in side set %"PRId64" in file %d",
- elem, side_set_id, exoid);
- free(elem_blk_parms);
- free(elem_blk_ids);
- free(ss_elem_ndx);
- free(side_set_side_list);
- free(side_set_elem_list);
- ex_err("ex_get_side_set_node_count",errmsg,EX_MSG);
- return (EX_FATAL);
- }
- }
-
- /* All done: release connectivity array space, element block ids
- * array, element block parameters array, and side set element index
- * array
- */
- free(elem_blk_ids);
- free(elem_blk_parms);
- free(ss_elem_ndx);
- free(side_set_side_list);
- free(side_set_elem_list);
-
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_get_side_set_node_list.c b/cbind/src/ex_get_side_set_node_list.c
deleted file mode 100644
index bd19303..0000000
--- a/cbind/src/ex_get_side_set_node_list.c
+++ /dev/null
@@ -1,1037 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgssn - ex_get_side_set_node_list
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int side_set_id side set id
-*
-* exit conditions -
-* int *side_set_node_cnt_list returned array of number of nodes for
-* side or face
-* int *side_set_node_list array of nodes
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-/*!
- * This routine is designed to read the Exodus II V 2.0 side set side
- * definition and return a ExodusI style side set node definition.
- */
-static void* safe_free(void* array)
-{
- if (array != 0) free(array);
- return 0;
-}
-
-static void set_count(int exoid, void_int *cnt, size_t ndx, size_t val)
-{
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ((int64_t*)cnt)[ndx] = val;
- } else {
- ((int*)cnt)[ndx] = val;
- }
-}
-
-static void get_nodes(int exoid, void_int *to, size_t ito, void_int *from, size_t ifrom)
-{
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ((int64_t*)to)[ito] = ((int64_t*)from)[ifrom];
- } else {
- ((int*)to)[ito] = ((int*)from)[ifrom];
- }
-}
-
-int ex_get_side_set_node_list(int exoid,
- ex_entity_id side_set_id,
- void_int *side_set_node_cnt_list,
- void_int *side_set_node_list)
-{
- size_t m;
- size_t i, j;
- int64_t elem, side;
- int64_t num_side_sets, num_elem_blks, num_df, ndim;
- int64_t tot_num_elem = 0, tot_num_ss_elem = 0, elem_num = 0;
- size_t connect_offset, side_num, node_pos;
- void_int *elem_blk_ids = NULL;
- void_int *connect = NULL;
- void_int *ss_elem_ndx = NULL;
- void_int *ss_elem_node_ndx = NULL;
- void_int *ss_parm_ndx = NULL;
- void_int *side_set_elem_list = NULL;
- void_int *side_set_side_list = NULL;
- size_t elem_ctr, node_ctr, elem_num_pos;
- size_t num_nodes_per_elem;
- int int_size, ids_size;
-
- int err_stat = EX_NOERR;
- int status;
-
- struct elem_blk_parm *elem_blk_parms = NULL;
-
- /* side to node translation tables -
- These tables are used to look up the side number based on the
- first and second node in the side/face list. The side node order
- is found in the original Exodus document, SAND87-2997. The element
- node order is found in the ExodusII document, SAND92-2137. These
- tables were generated by following the right-hand rule for determining
- the outward normal.
- */
- /* triangle */
- static int tri_table[3][3] = {
- /* 1 2 3 side */
- {1,2,4}, {2,3,5}, {3,1,6} /* nodes */
- };
-
- /* triangle 3d */
- static int tri3_table[5][7] = {
- /* 1 2 side */
- {1,2,3,4,5,6,7}, {3,2,1,6,5,4,7}, /* nodes */
- /* 3 4 5 side */
- {1,2,4,0,0,0,0}, {2,3,5,0,0,0,0}, {3,1,6,0,0,0,0} /* nodes */
- };
-
- /* quad */
- static int quad_table[4][3] = {
- /* 1 2 3 4 side */
- {1,2,5}, {2,3,6}, {3,4,7}, {4,1,8} /* nodes */
- };
-
- /* shell */
- static int shell_table[6][8] = {
- /* 1 2 side */
- {1,2,3,4,5,6,7,8}, {1,4,3,2,8,7,6,5} , /* nodes */
- /* 3 4 side */
- {1,2,5,0,0,0,0,0}, {2,3,6,0,0,0,0,0} , /* nodes */
- /* 5 6 side */
- {3,4,7,0,0,0,0,0}, {4,1,8,0,0,0,0,0} /* nodes */
- };
-
- /* tetra */
- static int tetra_table[4][6] = {
- /* 1 2 3 4 side */
- {1,2,4,5,9,8}, {2,3,4,6,10,9}, {1,4,3,8,10,7}, {1,3,2,7,6,5} /* nodes */
- };
-
- /* wedge */
- static int wedge_table[5][8] = {
- /* 1 2 3 side */
- {1,2,5,4,7,11,13,10}, {2,3,6,5,8,12,14,11}, {1,4,6,3,10,15,12,9},
- /* 4 5 side */
- {1,3,2,0,9,8,7,0}, {4,5,6,0,13,14,15,0} /* nodes */
- };
-
- /* hex */
- static int hex_table[6][9] = {
- /* 1 2 side */
- {1,2,6,5,9,14,17,13,26}, {2,3,7,6,10,15,18,14,25}, /* nodes */
- /* 3 4 side */
- {3,4,8,7,11,16,19,15,27}, {1,5,8,4,13,20,16,12,24}, /* nodes */
- /* 5 6 side */
- {1,4,3,2,12,11,10,9,22}, {5,6,7,8,17,18,19,20,23} /* nodes */
- };
-
- /* pyramid */
- static int pyramid_table[5][8] = {
- /* 1 2 3 side */
- {1,2,5,0,6,11,10,0}, {2,3,5,0,7,12,11,0}, {3,4,5,0,8,13,12,0}, /* nodes */
- /* 4 5 side */
- {1,5,4,0,10,13,9,0}, {1,4,3,2,9,8,7,6} /* nodes */
- };
-
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any side sets are specified */
- /* inquire how many side sets have been stored */
-
- num_side_sets = ex_inquire_int(exoid, EX_INQ_SIDE_SETS);
- if (num_side_sets < 0) {
- sprintf(errmsg,
- "Error: failed to get number of side sets in file id %d",exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (num_side_sets == 0) {
- sprintf(errmsg,
- "Warning: no side sets defined in file id %d",exoid);
- ex_err("ex_get_side_set_node_list",errmsg,EX_WARN);
- return(EX_WARN);
- }
-
- /* Lookup index of side set id in VAR_SS_IDS array */
- ex_id_lkup(exoid,EX_SIDE_SET,side_set_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: side set %"PRId64" is NULL in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_side_set_node_list",errmsg,EX_MSG);
- return (EX_WARN);
- }
- else {
-
- sprintf(errmsg,
- "Error: failed to locate side set %"PRId64" in VAR_SS_IDS array in file id %d",
- side_set_id,exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- num_elem_blks = ex_inquire_int(exoid, EX_INQ_ELEM_BLK);
- if (num_elem_blks < 0) {
- sprintf(errmsg,
- "Error: failed to get number of element blocks in file id %d",exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- tot_num_elem = ex_inquire_int(exoid, EX_INQ_ELEM);
- if (tot_num_elem < 0) {
- sprintf(errmsg,
- "Error: failed to get total number of elements in file id %d",exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* get the dimensionality of the coordinates; this is necessary to
- distinguish between 2d TRIs and 3d TRIs */
- ndim = ex_inquire_int(exoid, EX_INQ_DIM);
- if (ndim < 0) {
- sprintf(errmsg,
- "Error: failed to get dimensionality in file id %d",exoid);
- ex_err("ex_cvt_nodes_to_sides",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- int_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- int_size = sizeof(int64_t);
- }
-
- ids_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- ids_size = sizeof(int64_t);
- }
-
- /* First determine the # of elements in the side set*/
- if (int_size == sizeof(int64_t)) {
- status = ex_get_set_param(exoid,EX_SIDE_SET, side_set_id,&tot_num_ss_elem,&num_df);
- } else {
- int tot, df;
- status = ex_get_set_param(exoid,EX_SIDE_SET, side_set_id,&tot,&df);
- tot_num_ss_elem = tot;
- num_df = df;
- }
-
- if (status != EX_NOERR) {
- sprintf(errmsg,
- "Error: failed to get number of elements in side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* Allocate space for the side set element list */
- if (!(side_set_elem_list=malloc(tot_num_ss_elem*int_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set element list for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Allocate space for the side set side list */
- if (!(side_set_side_list=malloc(tot_num_ss_elem*int_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set side list for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- if (ex_get_set(exoid, EX_SIDE_SET, side_set_id,
- side_set_elem_list, side_set_side_list) == -1) {
- safe_free(side_set_elem_list);
- safe_free(side_set_side_list);
- sprintf(errmsg,
- "Error: failed to get side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Allocate space for the ss element index array */
- if (!(ss_elem_ndx= malloc(tot_num_ss_elem*int_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set elem sort array for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- /* Sort side set element list into index array - non-destructive */
- if (int_size == sizeof(int64_t)) {
- /* Sort side set element list into index array - non-destructive */
- int64_t *elems = (int64_t*)ss_elem_ndx;
- for (i=0;i<tot_num_ss_elem;i++) {
- elems[i] = i; /* init index array to current position */
- }
- ex_iqsort64(side_set_elem_list, ss_elem_ndx,tot_num_ss_elem);
- } else {
- /* Sort side set element list into index array - non-destructive */
- int *elems = (int*)ss_elem_ndx;
- for (i=0;i<tot_num_ss_elem;i++) {
- elems[i] = i; /* init index array to current position */
- }
- ex_iqsort(side_set_elem_list, ss_elem_ndx,tot_num_ss_elem);
- }
-
- /* Allocate space for the element block ids */
- if (!(elem_blk_ids= malloc(num_elem_blks*ids_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element block ids for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- if (ex_get_elem_blk_ids(exoid, elem_blk_ids) == -1) {
- sprintf(errmsg,
- "Error: failed to get element block ids in file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,EX_MSG);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- /* Allocate space for the element block params */
- if (!(elem_blk_parms= malloc(num_elem_blks*sizeof(struct elem_blk_parm)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element block params for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- elem_ctr = 0;
- for (i=0; i<num_elem_blks; i++) {
- ex_block block;
-
- if (ids_size == sizeof(int64_t)) {
- block.id = ((int64_t*)elem_blk_ids)[i];
- } else {
- block.id = ((int*)elem_blk_ids)[i];
- }
- block.type = EX_ELEM_BLOCK;
-
- /* read in an element block parameter */
- if ((ex_get_block_param (exoid, &block)) == -1) {
- sprintf(errmsg,
- "Error: failed to get element block %"PRId64" parameters in file id %d",
- block.id, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,EX_MSG);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- elem_blk_parms[i].num_elem_in_blk = block.num_entry;
- elem_blk_parms[i].num_nodes_per_elem = block.num_nodes_per_entry;
- elem_blk_parms[i].num_attr = block.num_attribute;
- elem_blk_parms[i].elem_blk_id = block.id;
-
- for (m=0; m < strlen(block.topology); m++) {
- elem_blk_parms[i].elem_type[m] = toupper(block.topology[m]);
- }
- elem_blk_parms[i].elem_type[m] = '\0';
-
- if (strncmp(elem_blk_parms[i].elem_type,"CIRCLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_CIRCLE;
- /* set side set node stride */
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SPHERE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SPHERE;
- /* set side set node stride */
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"QUAD",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_QUAD;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 4)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else if (elem_blk_parms[i].num_nodes_per_elem == 5)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TRIANGLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRIANGLE;
- /* set default side set node stride */
- if (ndim == 2) /* 2d TRIs */
- {
- if (elem_blk_parms[i].num_nodes_per_elem == 3)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if (ndim == 3) /* 3d TRIs */
- {
- if (elem_blk_parms[i].num_nodes_per_elem == 3)
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SHELL",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SHELL;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 2) /* KLUDGE for 2D Shells*/
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else if (elem_blk_parms[i].num_nodes_per_elem == 4)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"HEX",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_HEX;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 8) /* 8-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else if (elem_blk_parms[i].num_nodes_per_elem == 9) /* 9-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else if (elem_blk_parms[i].num_nodes_per_elem == 12) /* HEXSHELLS */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else if (elem_blk_parms[i].num_nodes_per_elem == 27) /* 27-node bricks */
- elem_blk_parms[i].num_nodes_per_side[0] = 9;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TETRA",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TETRA;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 4)
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- else if (elem_blk_parms[i].num_nodes_per_elem == 8)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"WEDGE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_WEDGE;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 6)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"PYRAMID",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_PYRAMID;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 5)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"BEAM",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_BEAM;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 2)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if ( (strncmp(elem_blk_parms[i].elem_type,"TRUSS",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"BAR",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"EDGE",3) == 0) )
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRUSS;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 2)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"NULL",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_NULL_ELEMENT;
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- elem_blk_parms[i].num_elem_in_blk = 0;
- }
- else
- { /* unsupported element type; no problem if no sides specified for
- this element block */
- elem_blk_parms[i].elem_type_val = EX_EL_UNK;
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- }
- elem_blk_parms[i].elem_blk_id = block.id; /* save id */
- elem_ctr += elem_blk_parms[i].num_elem_in_blk;
- elem_blk_parms[i].elem_ctr = elem_ctr; /* save elem number max */
- }
-
-
- /* Allocate space for the ss element to element block parameter index array */
- if (!(ss_parm_ndx=malloc(tot_num_ss_elem*int_size)))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set elem parms index for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
-
- /* Allocate space for the ss element to node list index array */
- if (!(ss_elem_node_ndx=malloc(tot_num_ss_elem*int_size)))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set elem to node index for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
-
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- /* Build side set element to node list index and side set element
- parameter index.
- */
- node_ctr = 0;
- for (i=0;i<tot_num_ss_elem;i++) {
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- elem = ((int64_t*)side_set_elem_list)[i];
- side = ((int64_t*)side_set_side_list)[i];
- } else {
- elem = ((int*)side_set_elem_list)[i];
- side = ((int*)side_set_side_list)[i];
- }
-
- for (j=0; j<num_elem_blks; j++) {
- if (elem_blk_parms[j].elem_type_val != EX_EL_NULL_ELEMENT)
- if (elem <= elem_blk_parms[j].elem_ctr)
- break;
- }
-
- if (j >= num_elem_blks) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid element number %"PRId64" found in side set %"PRId64" in file %d",
- elem, side_set_id, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,EX_MSG);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- if (int_size == sizeof(int64_t)) {
- ((int64_t*)ss_parm_ndx)[i] = j; /* assign parameter block index */
- ((int64_t*)ss_elem_node_ndx)[i] = node_ctr; /* assign node list index */
- } else {
- ((int*)ss_parm_ndx)[i] = j; /* assign parameter block index */
- ((int*)ss_elem_node_ndx)[i] = node_ctr; /* assign node list index */
- }
-
- /* Update node_ctr (which points to next node in chain */
-
- /* WEDGEs with 3 node sides (side 4 or 5) are special cases */
- if (elem_blk_parms[j].elem_type_val == EX_EL_WEDGE &&
- (side == 4 || side == 5))
- {
- if (elem_blk_parms[j].num_nodes_per_elem == 6)
- node_ctr += 3; /* 3 node side */
- else
- node_ctr += 6; /* 6 node side */
- }
- /* PYRAMIDSs with 3 node sides (sides 1,2,3,4) are also special */
- else if (elem_blk_parms[j].elem_type_val == EX_EL_PYRAMID &&
- (side < 5))
- {
- if (elem_blk_parms[j].num_nodes_per_elem == 5)
- node_ctr += 3; /* 3 node side */
- else
- node_ctr += 6; /* 6 node side */
- }
- /* side numbers 3,4,5,6 for SHELLs are also special */
- else if (elem_blk_parms[j].elem_type_val == EX_EL_SHELL &&
- (side > 2 ))
- {
- if (elem_blk_parms[j].num_nodes_per_elem == 4)
- node_ctr += 2; /* 2 node side */
- else
- node_ctr += 3; /* 3 node side */
- }
- /* side numbers 3,4,5 for 3d TRIs are also special */
- else if (elem_blk_parms[j].elem_type_val == EX_EL_TRIANGLE &&
- ndim == 3 &&
- side > 2 )
- {
- if (elem_blk_parms[j].num_nodes_per_elem == 3) /* 3-node TRI */
- node_ctr += 2; /* 2 node side */
- else /* 6-node TRI */
- node_ctr += 3; /* 3 node side */
- }
- else /* all other element types */
- node_ctr += elem_blk_parms[j].num_nodes_per_side[0];
- }
-
- /* All setup, ready to go ... */
-
- elem_ctr=0;
-
- for (j=0; j < tot_num_ss_elem; j++) {
- int64_t elem_ndx;
- size_t parm_ndx;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- elem_ndx = ((int64_t*)ss_elem_ndx)[j];
- elem = ((int64_t*)side_set_elem_list)[elem_ndx];
- side = ((int64_t*)side_set_side_list)[elem_ndx];
- parm_ndx = ((int64_t*)ss_parm_ndx)[elem_ndx];
- } else {
- elem_ndx = ((int*)ss_elem_ndx)[j];
- elem = ((int*)side_set_elem_list)[elem_ndx];
- side = ((int*)side_set_side_list)[elem_ndx];
- parm_ndx = ((int*)ss_parm_ndx)[elem_ndx];
- }
-
- if (elem > elem_ctr) {
- /* release connectivity array space and get next one */
- if (elem_ctr > 0) {
- safe_free(connect);
- }
-
- /* Allocate space for the connectivity array for new element block */
- if (!(connect=malloc(elem_blk_parms[parm_ndx].num_elem_in_blk*
- elem_blk_parms[parm_ndx].num_nodes_per_elem*
- int_size)))
- {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for connectivity array for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- /* get connectivity array */
- if (ex_get_elem_conn(exoid,
- elem_blk_parms[parm_ndx].elem_blk_id,
- connect) == -1)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for connectivity array for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
- elem_ctr = elem_blk_parms[parm_ndx].elem_ctr;
- }
- /* For each side in side set, use the appropriate lookup table to
- determine the nodes from the connect array. */
-
- elem_num = elem-1;/* element number 0-based*/
- /* calculate the relative element number position in it's block*/
-
- elem_num_pos = elem_num -
- (elem_blk_parms[parm_ndx].elem_ctr -
- elem_blk_parms[parm_ndx].num_elem_in_blk);
-
- /* calculate the beginning of the node list for this element by
- using the ss_elem_node_ndx index into the side_sets_node_index
- and adding the element number position * number of nodes per elem */
-
- num_nodes_per_elem = elem_blk_parms[parm_ndx].num_nodes_per_elem;
- connect_offset = num_nodes_per_elem*elem_num_pos;
- side_num = side-1;
-
- if (int_size == sizeof(int64_t)) {
- node_pos = ((int64_t*)ss_elem_node_ndx)[elem_ndx];
- } else {
- node_pos = ((int*)ss_elem_node_ndx)[elem_ndx];
- }
-
- switch (elem_blk_parms[parm_ndx].elem_type_val)
- {
- case EX_EL_CIRCLE:
- case EX_EL_SPHERE:
- { /* Note: no side-node lookup table is used for this simple case */
- get_nodes(exoid, side_set_node_list, node_pos, connect, connect_offset);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 1); /* 1 node object */
- break;
- }
- case EX_EL_TRUSS:
- case EX_EL_BEAM:
- { /* Note: no side-node lookup table is used for this simple case */
- for (i=0; i < num_nodes_per_elem; i++) {
- get_nodes(exoid, side_set_node_list, node_pos+i, connect, connect_offset+i);
- }
- set_count(exoid, side_set_node_cnt_list, elem_ndx, num_nodes_per_elem);
- break;
- }
- case EX_EL_TRIANGLE:
- {
- if (side_num+1 < 1 || side_num+1 > 5) /* side number range check */
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid triangle edge number %"ST_ZU" in file id %d",
- side_num+1, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- if (ndim == 2) /* 2d TRIs */
- {
- get_nodes(exoid, side_set_node_list, node_pos, connect, connect_offset+tri_table[side_num][0]-1);
- get_nodes(exoid, side_set_node_list, node_pos+1, connect, connect_offset+tri_table[side_num][1]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 2); /* 2 node object */
- if (num_nodes_per_elem > 3) /* 6-node TRI */
- {
- get_nodes(exoid, side_set_node_list, node_pos+2, connect, connect_offset+tri_table[side_num][2]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 3); /* 3 node object */
- }
- }
- else if (ndim == 3) /* 3d TRIs */
- {
- get_nodes(exoid, side_set_node_list, node_pos, connect, connect_offset+tri3_table[side_num][0]-1);
- get_nodes(exoid, side_set_node_list, node_pos+1, connect, connect_offset+tri3_table[side_num][1]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 2); /* 2 node object */
- if (side_num+1 <= 2) /* 3- or 6-node face */
- {
- if (num_nodes_per_elem == 3) /* 3-node face */
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 3); /* 3 node object */
- get_nodes(exoid, side_set_node_list, node_pos+2, connect, connect_offset+tri3_table[side_num][2]-1);
- }
- else /* 6-node face */
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 6); /* 6 node object */
- get_nodes(exoid, side_set_node_list, node_pos+2, connect, connect_offset+tri3_table[side_num][2]-1);
- get_nodes(exoid, side_set_node_list, node_pos+3, connect, connect_offset+tri3_table[side_num][3]-1);
- get_nodes(exoid, side_set_node_list, node_pos+4, connect, connect_offset+tri3_table[side_num][4]-1);
- get_nodes(exoid, side_set_node_list, node_pos+5, connect, connect_offset+tri3_table[side_num][5]-1);
- }
- }
- else /* 2- or 3-node edge */
- {
- if (num_nodes_per_elem > 3) /* 3-node edge */
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 3); /* 3 node object */
- get_nodes(exoid, side_set_node_list, node_pos+2, connect, connect_offset+tri3_table[side_num][2]-1);
- }
- }
- }
- break;
- }
- case EX_EL_QUAD:
- {
- if (side_num+1 < 1 || side_num+1 > 4) /* side number range check */
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid quad edge number %"ST_ZU" in file id %d",
- side_num+1, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- get_nodes(exoid, side_set_node_list, node_pos+0, connect, connect_offset+quad_table[side_num][0]-1);
- get_nodes(exoid, side_set_node_list, node_pos+1, connect, connect_offset+quad_table[side_num][1]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 2); /* 2 node object */
- if (num_nodes_per_elem > 5)
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 3); /* 3 node object */
- get_nodes(exoid, side_set_node_list, node_pos+2, connect, connect_offset+quad_table[side_num][2]-1);
- }
- break;
- }
- case EX_EL_SHELL:
- {
- if (side_num+1 < 1 || side_num+1 > 6) /* side number range check */
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid shell face number %"ST_ZU" in file id %d",
- side_num+1, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- get_nodes(exoid, side_set_node_list, node_pos+0, connect, connect_offset+shell_table[side_num][0]-1);
- get_nodes(exoid, side_set_node_list, node_pos+1, connect, connect_offset+shell_table[side_num][1]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 2); /* 2 node object */
- if (num_nodes_per_elem > 2) /*** KLUDGE for 2D shells ***/
- {
- if (side_num+1 <= 2) /* 4-node face */
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 4); /* 4 node object */
- get_nodes(exoid, side_set_node_list, node_pos+2, connect, connect_offset+shell_table[side_num][2]-1);
- get_nodes(exoid, side_set_node_list, node_pos+3, connect, connect_offset+shell_table[side_num][3]-1);
- }
- }
- if (num_nodes_per_elem == 8)
- {
- if (side_num+1 <= 2) /* 8-node face */
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 8); /* 8 node object */
- get_nodes(exoid, side_set_node_list, node_pos+4, connect, connect_offset+shell_table[side_num][4]-1);
- get_nodes(exoid, side_set_node_list, node_pos+5, connect, connect_offset+shell_table[side_num][5]-1);
- get_nodes(exoid, side_set_node_list, node_pos+6, connect, connect_offset+shell_table[side_num][6]-1);
- get_nodes(exoid, side_set_node_list, node_pos+7, connect, connect_offset+shell_table[side_num][7]-1);
- }
- else
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 3); /* 3 node edge */
- get_nodes(exoid, side_set_node_list, node_pos+2, connect, connect_offset+shell_table[side_num][2]-1);
- }
- }
- break;
- }
- case EX_EL_TETRA:
- {
- if (side_num+1 < 1 || side_num+1 > 4) /* side number range check */
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid tetra face number %"ST_ZU" in file id %d",
- side_num+1, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- get_nodes(exoid, side_set_node_list, node_pos+0, connect, connect_offset+tetra_table[side_num][0]-1);
- get_nodes(exoid, side_set_node_list, node_pos+1, connect, connect_offset+tetra_table[side_num][1]-1);
- get_nodes(exoid, side_set_node_list, node_pos+2, connect, connect_offset+tetra_table[side_num][2]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 3); /* 3 node object */
- if (num_nodes_per_elem == 8)
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 4); /* 4 node object */
- get_nodes(exoid, side_set_node_list, node_pos+3, connect, connect_offset+tetra_table[side_num][3]-1);
- }
- else if (num_nodes_per_elem > 8)
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 6); /* 6 node object */
- get_nodes(exoid, side_set_node_list, node_pos+3, connect, connect_offset+tetra_table[side_num][3]-1);
- get_nodes(exoid, side_set_node_list, node_pos+4, connect, connect_offset+tetra_table[side_num][4]-1);
- get_nodes(exoid, side_set_node_list, node_pos+5, connect, connect_offset+tetra_table[side_num][5]-1);
- }
- break;
- }
- case EX_EL_WEDGE:
- {
- if (side_num+1 < 1 || side_num+1 > 5) /* side number range check */
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid wedge face number %"ST_ZU" in file id %d",
- side_num+1, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+wedge_table[side_num][0]-1);
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+wedge_table[side_num][1]-1);
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+wedge_table[side_num][2]-1);
-
- if (wedge_table[side_num][3] == 0) { /* degenerate side? */
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 3); /* 3 node side */
- }
- else
- {
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+wedge_table[side_num][3]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 4); /* 4 node side */
- }
-
-
- if (num_nodes_per_elem > 6)
- {
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+wedge_table[side_num][4]-1);
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+wedge_table[side_num][5]-1);
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+wedge_table[side_num][6]-1);
-
- if (wedge_table[side_num][7] == 0) /* degenerate side? */
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 7); /* 6 node side */
- else
- {
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+wedge_table[side_num][7]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 8); /* 8 node side */
- }
- }
- break;
- }
- case EX_EL_PYRAMID:
- {
- if (side_num+1 < 1 || side_num+1 > 5) /* side number range check */
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid pyramid face number %"ST_ZU" in file id %d",
- side_num+1, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+pyramid_table[side_num][0]-1);
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+pyramid_table[side_num][1]-1);
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+pyramid_table[side_num][2]-1);
-
- if (pyramid_table[side_num][3] == 0) { /* degenerate side? */
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 3); /* 3 node side */
- }
- else
- {
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+pyramid_table[side_num][3]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 4); /* 4 node side */
- }
-
-
- if (num_nodes_per_elem > 5)
- {
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+pyramid_table[side_num][4]-1);
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+pyramid_table[side_num][5]-1);
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+pyramid_table[side_num][6]-1);
-
- if (pyramid_table[side_num][7] == 0) /* degenerate side? */
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 7); /* 6 node side */
- else
- {
- get_nodes(exoid, side_set_node_list, node_pos++, connect, connect_offset+pyramid_table[side_num][7]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 8); /* 8 node side */
- }
- }
- break;
- }
- case EX_EL_HEX:
- {
- if (side_num+1 < 1 || side_num+1 > 6) /* side number range check */
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid hex face number %"ST_ZU" in file id %d",
- side_num+1, exoid);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- err_stat = EX_FATAL;
- goto cleanup;
- }
-
- get_nodes(exoid, side_set_node_list, node_pos+0, connect, connect_offset+hex_table[side_num][0]-1);
- get_nodes(exoid, side_set_node_list, node_pos+1, connect, connect_offset+hex_table[side_num][1]-1);
- get_nodes(exoid, side_set_node_list, node_pos+2, connect, connect_offset+hex_table[side_num][2]-1);
- get_nodes(exoid, side_set_node_list, node_pos+3, connect, connect_offset+hex_table[side_num][3]-1);
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 4); /* 4 node object */
- if (num_nodes_per_elem > 12) /* more nodes than HEXSHELL */
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 8); /* 8 node object */
- get_nodes(exoid, side_set_node_list, node_pos+4, connect, connect_offset+hex_table[side_num][4]-1);
- get_nodes(exoid, side_set_node_list, node_pos+5, connect, connect_offset+hex_table[side_num][5]-1);
- get_nodes(exoid, side_set_node_list, node_pos+6, connect, connect_offset+hex_table[side_num][6]-1);
- get_nodes(exoid, side_set_node_list, node_pos+7, connect, connect_offset+hex_table[side_num][7]-1);
- }
- if (num_nodes_per_elem == 27) /* 27-node brick */
- {
- set_count(exoid, side_set_node_cnt_list, elem_ndx, 9); /* 9 node object */
- get_nodes(exoid, side_set_node_list, node_pos+8, connect, connect_offset+hex_table[side_num][8]-1);
- }
- break;
- }
- default:
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: %s is an unsupported element type",
- elem_blk_parms[parm_ndx].elem_type);
- ex_err("ex_get_side_set_node_list",errmsg,exerrval);
- return(EX_FATAL);
- }
- }
- }
-
-
- /* All done: release connectivity array space, element block ids array,
- element block parameters array, and side set element index array */
- cleanup:
- safe_free(connect);
- safe_free(ss_parm_ndx);
- safe_free(elem_blk_ids);
- safe_free(elem_blk_parms);
- safe_free(ss_elem_ndx);
- safe_free(ss_elem_node_ndx);
- safe_free(side_set_side_list);
- safe_free(side_set_elem_list);
-
- return(err_stat);
-}
diff --git a/cbind/src/ex_get_side_set_node_list_len.c b/cbind/src/ex_get_side_set_node_list_len.c
deleted file mode 100644
index 7754e42..0000000
--- a/cbind/src/ex_get_side_set_node_list_len.c
+++ /dev/null
@@ -1,575 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgsnl - ex_get_side_set_node_list_len
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int side_set_id side set id
-*
-* exit conditions -
-* int *side_set_node_list_len length of node list
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <ctype.h>
-#include <string.h>
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-static void *safe_free(void *array);
-
-/*!
- * This routine is designed to read the Exodus II V 2.0 side set side
- * definition and return the length of a ExodusI style side set node list.
- * \param exoid exodus file id
- * \param side_set_id side set id
- * \param[out] *side_set_node_list_len length of node list
- */
-
-int ex_get_side_set_node_list_len(int exoid,
- ex_entity_id side_set_id,
- void_int *side_set_node_list_len)
-{
- size_t i, j;
- size_t m;
- int64_t num_side_sets, num_elem_blks, num_df, ndim;
- size_t list_len = 0;
- int64_t tot_num_elem = 0, tot_num_ss_elem = 0;
- void_int *elem_blk_ids;
- int *ss_elem_ndx = NULL;
- int64_t *ss_elem_ndx_64 = NULL;
-
- void_int *side_set_elem_list;
- void_int *side_set_side_list;
- int elem_ctr;
- int status;
-
- struct elem_blk_parm *elem_blk_parms;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API)
- *(int64_t*)side_set_node_list_len = 0; /* default value */
- else
- *(int*)side_set_node_list_len = 0; /* default value */
-
- /* first check if any side sets are specified */
- /* inquire how many side sets have been stored */
-
- /* get the dimensionality of the coordinates; this is necessary to
- distinguish between 2d TRIs and 3d TRIs */
-
- ndim = ex_inquire_int(exoid, EX_INQ_DIM);
- if (ndim < 0) {
- sprintf(errmsg,
- "Error: failed to get dimensionality in file id %d",exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- tot_num_elem = ex_inquire_int(exoid, EX_INQ_ELEM);
- if (tot_num_elem < 0) {
- sprintf(errmsg,
- "Error: failed to get total number of elements in file id %d",exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- num_elem_blks = ex_inquire_int(exoid, EX_INQ_ELEM_BLK);
- if (num_elem_blks < 0) {
- sprintf(errmsg,
- "Error: failed to get number of element blocks in file id %d",exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- num_side_sets = ex_inquire_int(exoid, EX_INQ_SIDE_SETS);
- if (num_side_sets < 0) {
- sprintf(errmsg,
- "Error: failed to get number of side sets in file id %d",exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (num_side_sets == 0) {
- sprintf(errmsg,
- "Warning: no side sets defined in file id %d",exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,EX_WARN);
- return(EX_WARN);
- }
-
- /* First determine the # of elements in the side set*/
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = ex_get_side_set_param(exoid,side_set_id,&tot_num_ss_elem,&num_df);
- } else {
- int tot;
- int df;
- status = ex_get_side_set_param(exoid,side_set_id,&tot,&df);
- tot_num_ss_elem = tot;
- num_df = df;
- }
-
- if (status != NC_NOERR) {
- sprintf(errmsg,
- "Error: failed to get number of elements in side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (tot_num_ss_elem == 0) /* NULL side set? */
- return (EX_NOERR); /* return zero */
-
- /* Minor optimization/kluge -- If num_df is nonzero, or 1 per face
- then assume that it matches the number of nodes in the sideset... */
- if (num_df > 0 && num_df != tot_num_ss_elem) {
- if (ex_int64_status(exoid) & EX_BULK_INT64_API)
- *(int64_t*)side_set_node_list_len = num_df;
- else
- *(int*)side_set_node_list_len = num_df;
- return(EX_NOERR);
- }
-
- /* Allocate space for the side set element list */
- {
- int int_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_BULK_INT64_API)
- int_size = sizeof(int64_t);
- if (!(side_set_elem_list=malloc(tot_num_ss_elem*int_size))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set element list for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Allocate space for the side set side list */
- if (!(side_set_side_list=malloc(tot_num_ss_elem*int_size))) {
- safe_free(side_set_elem_list);
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set side list for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_side_set(exoid, side_set_id,
- side_set_elem_list, side_set_side_list) != NC_NOERR) {
- safe_free(side_set_elem_list);
- safe_free(side_set_side_list);
- sprintf(errmsg,
- "Error: failed to get side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Allocate space for the ss element index array */
- if (int_size == sizeof(int64_t)) {
- ss_elem_ndx_64=malloc(tot_num_ss_elem*int_size);
- } else {
- ss_elem_ndx =malloc(tot_num_ss_elem*int_size);
- }
-
- if (ss_elem_ndx_64==NULL && ss_elem_ndx == NULL) {
- safe_free(side_set_elem_list);
- safe_free(side_set_side_list);
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for side set elem sort array for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* Sort side set element list into index array - non-destructive */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- for (i=0;i<tot_num_ss_elem;i++)
- ss_elem_ndx_64[i] = i; /* init index array to current position */
- ex_iqsort64(side_set_elem_list, ss_elem_ndx_64,tot_num_ss_elem);
- } else {
- for (i=0;i<tot_num_ss_elem;i++)
- ss_elem_ndx[i] = i; /* init index array to current position */
- ex_iqsort(side_set_elem_list, ss_elem_ndx,tot_num_ss_elem);
- }
-
-
- /* Allocate space for the element block ids */
- {
- int int_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- int_size = sizeof(int64_t);
- }
-
- if (!(elem_blk_ids=malloc(num_elem_blks*int_size))) {
- exerrval = EX_MEMFAIL;
- safe_free(ss_elem_ndx);
- safe_free(ss_elem_ndx_64);
- safe_free(side_set_side_list);
- safe_free(side_set_elem_list);
- sprintf(errmsg,
- "Error: failed to allocate space for element block ids for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if (ex_get_elem_blk_ids(exoid, elem_blk_ids)) {
- safe_free(elem_blk_ids);
- safe_free(ss_elem_ndx);
- safe_free(ss_elem_ndx_64);
- safe_free(side_set_side_list);
- safe_free(side_set_elem_list);
- sprintf(errmsg,
- "Error: failed to get element block ids in file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,EX_MSG);
- return(EX_FATAL);
- }
-
- /* Allocate space for the element block params */
- if (!(elem_blk_parms=malloc(num_elem_blks*sizeof(struct elem_blk_parm)))) {
- safe_free(elem_blk_ids);
- safe_free(ss_elem_ndx);
- safe_free(ss_elem_ndx_64);
- safe_free(side_set_side_list);
- safe_free(side_set_elem_list);
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element block params for file id %d",
- exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- elem_ctr = 0;
- for (i=0; i<num_elem_blks; i++) {
- ex_block block;
- block.type = EX_ELEM_BLOCK;
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- block.id = ((int64_t*)elem_blk_ids)[i];
- } else {
- block.id = ((int*)elem_blk_ids)[i];
- }
-
- /* read in an element block parameter */
- if ((ex_get_block_param (exoid, &block)) != NC_NOERR) {
- safe_free(elem_blk_parms);
- safe_free(elem_blk_ids);
- safe_free(ss_elem_ndx);
- safe_free(ss_elem_ndx_64);
- safe_free(side_set_side_list);
- safe_free(side_set_elem_list);
- sprintf(errmsg,
- "Error: failed to get element block %"PRId64" parameters in file id %d",
- block.id, exoid);
- ex_err("ex_get_side_set_node_list_len",errmsg,EX_MSG);
- return(EX_FATAL);
- }
-
- elem_blk_parms[i].num_elem_in_blk = block.num_entry;
- elem_blk_parms[i].num_nodes_per_elem = block.num_nodes_per_entry;
- elem_blk_parms[i].num_attr = block.num_attribute;
- elem_blk_parms[i].elem_blk_id = block.id;
-
- for (m=0; m < strlen(block.topology); m++) {
- elem_blk_parms[i].elem_type[m] = toupper(block.topology[m]);
- }
- elem_blk_parms[i].elem_type[m] = '\0';
-
- if (strncmp(elem_blk_parms[i].elem_type,"CIRCLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_CIRCLE;
- /* set side set node stride */
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SPHERE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SPHERE;
- /* set side set node stride */
- elem_blk_parms[i].num_nodes_per_side[0] = 1;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"QUAD",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_QUAD;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 4)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else if (elem_blk_parms[i].num_nodes_per_elem == 5)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TRIANGLE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRIANGLE;
- /* determine side set node stride */
- if (ndim == 2) /* 2d TRIs */
- {
- if (elem_blk_parms[i].num_nodes_per_elem == 3)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if (ndim == 3) /* 3d TRIs */
- { /* set the default number of nodes per side; catch exceptions later */
- if (elem_blk_parms[i].num_nodes_per_elem == 3)
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- }
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"SHELL",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_SHELL;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 2) /* KLUDGE for 2D Shells*/
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else if (elem_blk_parms[i].num_nodes_per_elem == 4)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"HEX",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_HEX;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 8)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else if (elem_blk_parms[i].num_nodes_per_elem == 9)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else if (elem_blk_parms[i].num_nodes_per_elem == 12) /* HEXSHELL */
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else if (elem_blk_parms[i].num_nodes_per_elem == 27)
- elem_blk_parms[i].num_nodes_per_side[0] = 9;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"TETRA",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TETRA;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 4)
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- else if (elem_blk_parms[i].num_nodes_per_elem == 8)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 6;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"WEDGE",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_WEDGE;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 6)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"PYRAMID",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_PYRAMID;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 5)
- elem_blk_parms[i].num_nodes_per_side[0] = 4;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 8;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"BEAM",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_BEAM;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 2)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if ( (strncmp(elem_blk_parms[i].elem_type,"TRUSS",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"BAR",3) == 0) ||
- (strncmp(elem_blk_parms[i].elem_type,"EDGE",3) == 0))
- {
- elem_blk_parms[i].elem_type_val = EX_EL_TRUSS;
- /* determine side set node stride */
- if (elem_blk_parms[i].num_nodes_per_elem == 2)
- elem_blk_parms[i].num_nodes_per_side[0] = 2;
- else
- elem_blk_parms[i].num_nodes_per_side[0] = 3;
- }
- else if (strncmp(elem_blk_parms[i].elem_type,"NULL",3) == 0)
- {
- elem_blk_parms[i].elem_type_val = EX_EL_NULL_ELEMENT;
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- elem_blk_parms[i].num_elem_in_blk = 0;
- }
- else
- { /* unsupported element type; no problem if no sides specified for
- this element block */
- elem_blk_parms[i].elem_type_val = EX_EL_UNK;
- elem_blk_parms[i].num_nodes_per_side[0] = 0;
- }
-
- elem_ctr += elem_blk_parms[i].num_elem_in_blk;
- elem_blk_parms[i].elem_ctr = elem_ctr; /* save elem number max */
- }
-
-/* Walk through element list and keep a running count of the node length */
-
- list_len = 0;
- for (i=0;i<tot_num_ss_elem;i++)
- {
- size_t elem;
- size_t side;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- elem = ((int64_t*)side_set_elem_list)[i];
- side = ((int64_t*)side_set_side_list)[i];
- } else {
- elem = ((int*)side_set_elem_list)[i];
- side = ((int*)side_set_side_list)[i];
- }
-
- for (j=0; j<num_elem_blks; j++)
- {
- if (elem_blk_parms[j].elem_type_val != EX_EL_NULL_ELEMENT)
- if (elem <= elem_blk_parms[j].elem_ctr)
- break; /* stop because we found the parameters for this element */
- }
- if (j >= num_elem_blks)
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid element number %"ST_ZU" found in side set %"PRId64" in file %d",
- elem, side_set_id, exoid);
- safe_free(elem_blk_parms);
- safe_free(elem_blk_ids);
- safe_free(ss_elem_ndx);
- safe_free(ss_elem_ndx_64);
- safe_free(side_set_side_list);
- safe_free(side_set_elem_list);
- ex_err("ex_get_side_set_node_list_len",errmsg,EX_MSG);
- return (EX_FATAL);
- }
-
- /* Update *side_set_node_list_len (which points to next node in chain */
-
- /* WEDGEs with 3 node sides (side 4 or 5) are special cases */
- if (elem_blk_parms[j].elem_type_val == EX_EL_WEDGE &&
- (side == 4 || side == 5))
- {
- if (elem_blk_parms[j].num_nodes_per_elem == 6)
- list_len += 3; /* 3 node side */
- else
- list_len += 6; /* 6 node side */
- }
- /* PYRAMIDSs with 3 node sides (sides 1,2,3,4) are also special */
- else if (elem_blk_parms[j].elem_type_val == EX_EL_PYRAMID &&
- (side < 5))
- {
- if (elem_blk_parms[j].num_nodes_per_elem == 5)
- list_len += 3; /* 3 node side */
- else
- list_len += 6; /* 6 node side */
- }
- /* side numbers 3,4,5,6 for SHELLs are also special */
- else if (elem_blk_parms[j].elem_type_val == EX_EL_SHELL &&
- (side > 2 ))
- {
- if (elem_blk_parms[j].num_nodes_per_elem == 4)
- list_len += 2; /* 2 node side */
- else
- list_len += 3; /* 3 node side */
- }
- /* sides 3, 4, and 5 of 3d TRIs are special cases */
- else if (elem_blk_parms[j].elem_type_val == EX_EL_TRIANGLE &&
- ndim == 3 && side > 2 )
- {
- if (elem_blk_parms[j].num_nodes_per_elem == 3) /* 3-node TRI */
- list_len += 2; /* 2 node side */
- else /* 6-node TRI */
- list_len += 3; /* 3 node side */
- }
- else if (elem_blk_parms[j].elem_type_val == EX_EL_UNK)
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: %s in elem block %"PRId64" is an unsupported element type",
- elem_blk_parms[i].elem_type, elem_blk_parms[i].elem_blk_id);
- safe_free(elem_blk_parms);
- safe_free(elem_blk_ids);
- safe_free(ss_elem_ndx);
- safe_free(ss_elem_ndx_64);
- safe_free(side_set_side_list);
- safe_free(side_set_elem_list);
- ex_err("ex_get_side_set_node_list_len",errmsg,EX_MSG);
- return (EX_FATAL);
- }
- else /* all other element types */
- list_len += elem_blk_parms[j].num_nodes_per_side[0];
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API)
- *(int64_t*)side_set_node_list_len = list_len;
- else
- *(int*)side_set_node_list_len = list_len;
-
- /* All done: release element block ids array,
- element block parameters array, and side set element index array */
- safe_free(elem_blk_ids);
- safe_free(elem_blk_parms);
- safe_free(ss_elem_ndx);
- safe_free(ss_elem_ndx_64);
- safe_free(side_set_side_list);
- safe_free(side_set_elem_list);
-
- return(EX_NOERR);
-}
-
-static void *safe_free(void *array)
-{
- if (array != 0) free(array);
- return 0;
-}
diff --git a/cbind/src/ex_get_side_set_param.c b/cbind/src/ex_get_side_set_param.c
deleted file mode 100644
index 1f584e2..0000000
--- a/cbind/src/ex_get_side_set_param.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************
- *
- * exgsp - ex_get_side_set_param
- *
- * entry conditions -
- * input parameters:
- * int exoid exodus file id
- * int side_set_id side set id
- *
- * exit conditions -
- * int* num_side_in_set number of sides in the side set
- * int* num_dist_fact_in_set number of distribution factors in the
- * side set
- *
- * revision history -
- *
- *
- *****************************************************************************/
-
-#include "exodusII.h"
-
-/*!
- * reads the number of sides and the number of distribution factors which
- * describe a single side set
- * \param exoid exodus file id
- * \param side_set_id side set id
- * \param[out] num_side_in_set number of sides in the side set
- * \param[out] num_dist_fact_in_set number of distribution factors in the
- * \deprecated Use ex_get_set_param()(exoid, EX_SIDE_SET, side_set_id, num_side_in_set, num_dist_fact_in_set)
- */
-
-int ex_get_side_set_param (int exoid,
- ex_entity_id side_set_id,
- void_int *num_side_in_set,
- void_int *num_dist_fact_in_set)
-{
- return ex_get_set_param(exoid, EX_SIDE_SET, side_set_id,
- num_side_in_set, num_dist_fact_in_set);
-}
diff --git a/cbind/src/ex_get_ss_param_global.c b/cbind/src/ex_get_ss_param_global.c
deleted file mode 100644
index 97f010d..0000000
--- a/cbind/src/ex_get_ss_param_global.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_get_ss_param_global()
- *****************************************************************************
- * This function retrieves the global side-set parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * global_ids - Pointer to a vector of global node-set IDs.
- * side_cnts - Pointer to a vector of global node counts in
- * each global node set.
- * df_cnts - Pointer to a vector of global distribution
- * factors in each global node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_get_ss_param_global(int exoid,
- void_int *global_ids,
- void_int *side_cnts,
- void_int *df_cnts
- )
-{
- const char *func_name="ex_get_ss_param_global";
- int varid, status;
-
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Get the variable ID for the vector of global side set IDs */
- if ((status = nc_inq_varid(exoid, VAR_SS_IDS_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_SS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the vector of side set IDs */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_get_var_longlong(exoid, varid, global_ids);
- } else {
- status = nc_get_var_int(exoid, varid, global_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_SS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the vector of global side set side count */
- if (side_cnts != NULL) {
- if ((status = nc_inq_varid(exoid, VAR_SS_SIDE_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_SS_SIDE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the vector of side set side counts */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, varid, side_cnts);
- } else {
- status = nc_get_var_int(exoid, varid, side_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_SS_SIDE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- } /* End "if (side_cnts != NULL)" */
-
- /* Get the variable ID for the vector of global side set dist. fact count */
- if (df_cnts != NULL) {
- if ((status = nc_inq_varid(exoid, VAR_SS_DF_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_SS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the vector of side set dist. fact counts */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_get_var_longlong(exoid, varid, df_cnts);
- } else {
- status = nc_get_var_int(exoid, varid, df_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_SS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- } /* End "if (df_cnts != NULL)" */
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_sset_var.c b/cbind/src/ex_get_sset_var.c
deleted file mode 100644
index 7390a1a..0000000
--- a/cbind/src/ex_get_sset_var.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgssv - ex_get_sset_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* int sset_var_index sideset variable index
-* int sset_blk_id sideset id
-* int num_side_this_sset number of sides in this sideset
-*
-*
-* exit conditions -
-* float* sset_var_vals array of sideset variable values
-*
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the values of a single sideset variable for one sideset at
- * one time step in the database; assume the first time step and
- * sideset variable index is 1
- * \deprecated Use ex_get_var()(exoid, time_step, EX_SIDE_SET, sset_var_index, sset_id, num_side_this_sset, sset_var_vals) instead
- */
-
-int ex_get_sset_var (int exoid,
- int time_step,
- int sset_var_index,
- ex_entity_id sset_id,
- int64_t num_side_this_sset,
- void *sset_var_vals)
-{
- return ex_get_var(exoid, time_step, EX_SIDE_SET, sset_var_index,
- sset_id, num_side_this_sset, sset_var_vals);
-}
diff --git a/cbind/src/ex_get_sset_var_tab.c b/cbind/src/ex_get_sset_var_tab.c
deleted file mode 100644
index 2420d76..0000000
--- a/cbind/src/ex_get_sset_var_tab.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvtt - ex_get_sset_var_tab
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_sidesets number of sidesets
-* int num_sset_var number of sideset variables
-*
-* exit conditions -
-* int* sset_var_tab sideset variable truth table array
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the EXODUS II sideset variable truth table from the database
- * \deprecated Use ex_get_truth_table()(exoid, EX_SIDE_SET, num_sidesets, num_sset_var, sset_var_tab)
- */
-
-int ex_get_sset_var_tab (int exoid,
- int num_sidesets,
- int num_sset_var,
- int *sset_var_tab)
-{
- return ex_get_truth_table(exoid, EX_SIDE_SET, num_sidesets, num_sset_var, sset_var_tab);
-}
diff --git a/cbind/src/ex_get_time.c b/cbind/src/ex_get_time.c
deleted file mode 100644
index 92d6350..0000000
--- a/cbind/src/ex_get_time.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <string.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_get_time() reads the time value for a specified time
-step.
-
-Because time values are floating point values, the application code
-must declare the array passed to be the appropriate type (\c float or
-\c double) to match the compute word size passed in ex_create() or
-ex_open().
-
-\return In case of an error, ex_get_time() returns a negative number; a
-warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - no time steps have been stored in the file.
-
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] time_step The time step number. This is essentially an index (in the time
- dimension) into the global, nodal, and element variables arrays stored
- in the database. The first time step is 1.
-\param[out] time_value Returned time at the specified time step.
-
-As an example, the following coding will read the time value stored in
-the data file for time step n:
-
-\code
-int n, error, exoid;
-float time_value;
-
-\comment{read time value at time step 3}
-n = 3;
-error = ex_get_time (exoid, n, &time_value);
-\endcode
-
-*/
-
-int ex_get_time (int exoid,
- int time_step,
- void *time_value)
-{
- int status;
- int varid;
- size_t start[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined variable */
- if ((status = nc_inq_varid(exoid, VAR_WHOLE_TIME, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate time variable in file id %d", exoid);
- ex_err("ex_get_time",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read time value */
- start[0] = --time_step;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_var1_float(exoid, varid, start, time_value);
- } else {
- status = nc_get_var1_double(exoid, varid, start, time_value);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get time value in file id %d", exoid);
- ex_err("ex_get_time",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_truth_table.c b/cbind/src/ex_get_truth_table.c
deleted file mode 100644
index b475e15..0000000
--- a/cbind/src/ex_get_truth_table.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvtt - ex_get_truth_table
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_blk number of blocks
-* int num_var number of variables
-*
-* exit conditions -
-* int* var_tab element variable truth table array
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-
-/*!
- * reads the EXODUS II specified variable truth table from the database
- */
-
-int ex_get_truth_table (int exoid,
- ex_entity_type obj_type,
- int num_blk,
- int num_var,
- int *var_tab)
-{
- int dimid, varid, tabid, i, j, status, status1;
- size_t num_entity = 0;
- size_t num_var_db = 0;
- char errmsg[MAX_ERR_LENGTH];
- const char* routine = "ex_get_truth_table";
-
- /*
- * The ent_type and the var_name are used to build the netcdf
- * variables name. Normally this is done via a macro defined in
- * exodusII_int.h
- */
- const char* ent_type = NULL;
- const char* var_name = NULL;
-
- exerrval = 0; /* clear error code */
-
- switch (obj_type) {
- case EX_EDGE_BLOCK:
- status = ex_get_dimension(exoid, DIM_NUM_EDG_VAR, "edge variables", &num_var_db, &varid, routine);
- status1 = nc_inq_varid (exoid, VAR_EBLK_TAB, &tabid);
- var_name = "vals_edge_var";
- ent_type = "eb";
- break;
- case EX_FACE_BLOCK:
- status = ex_get_dimension(exoid, DIM_NUM_FAC_VAR, "face variables", &num_var_db, &varid, routine);
- status1 = nc_inq_varid (exoid, VAR_FBLK_TAB, &tabid);
- var_name = "vals_face_var";
- ent_type = "fb";
- break;
- case EX_ELEM_BLOCK:
- status = ex_get_dimension(exoid, DIM_NUM_ELE_VAR, "element variables", &num_var_db, &varid, routine);
- status1 = nc_inq_varid (exoid, VAR_ELEM_TAB, &tabid);
- var_name = "vals_elem_var";
- ent_type = "eb";
- break;
- case EX_NODE_SET:
- status = ex_get_dimension(exoid, DIM_NUM_NSET_VAR, "nodeset variables", &num_var_db, &varid, routine);
- status1 = nc_inq_varid (exoid, VAR_NSET_TAB, &tabid);
- var_name = "vals_nset_var";
- ent_type = "ns";
- break;
- case EX_EDGE_SET:
- status = ex_get_dimension(exoid, DIM_NUM_ESET_VAR, "edgeset variables", &num_var_db, &varid, routine);
- status1 = nc_inq_varid (exoid, VAR_ESET_TAB, &tabid);
- var_name = "vals_eset_var";
- ent_type = "es";
- break;
- case EX_FACE_SET:
- status = ex_get_dimension(exoid, DIM_NUM_FSET_VAR, "faceset variables", &num_var_db, &varid, routine);
- status1 = nc_inq_varid (exoid, VAR_FSET_TAB, &tabid);
- var_name = "vals_fset_var";
- ent_type = "fs";
- break;
- case EX_SIDE_SET:
- status = ex_get_dimension(exoid, DIM_NUM_SSET_VAR, "sideset variables", &num_var_db, &varid, routine);
- status1 = nc_inq_varid (exoid, VAR_SSET_TAB, &tabid);
- var_name = "vals_sset_var";
- ent_type = "ss";
- break;
- case EX_ELEM_SET:
- status = ex_get_dimension(exoid, DIM_NUM_ELSET_VAR, "elemset variables", &num_var_db, &varid, routine);
- status1 = nc_inq_varid (exoid, VAR_ELSET_TAB, &tabid);
- var_name = "vals_elset_var";
- ent_type = "es";
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid variable type %d specified in file id %d",
- obj_type, exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_WARN);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- return (EX_WARN);
- }
-
- status = ex_get_dimension(exoid, ex_dim_num_objects(obj_type),
- ex_name_of_object(obj_type), &num_entity, &dimid, routine);
- if (status != NC_NOERR) {
- exerrval = status;
- return (EX_FATAL);
- }
-
- if (num_entity != (size_t)num_blk) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: # of %s doesn't match those defined in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_var_db != (size_t)num_var) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: # of %s variables doesn't match those defined in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (status1 != NC_NOERR) {
- /* since truth table isn't stored in the data file, derive it dynamically */
- for (j=0; j<num_blk; j++) {
-
- for (i=0; i<num_var; i++) {
- /* NOTE: names are 1-based */
- if (nc_inq_varid (exoid, ex_catstr2(var_name, i+1, ent_type, j+1), &tabid) == NC_NOERR) {
- /* variable exists; put a 1 in the truth table */
- var_tab[j*num_var+i] = 1;
- } else {
- /* variable doesn't exist; put a 0 in the truth table */
- var_tab[j*num_var+i] = 0;
- }
- }
- }
- } else {
- /* read in the truth table */
- status = nc_get_var_int(exoid, tabid, var_tab);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s truth table from file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_var.c b/cbind/src/ex_get_var.c
deleted file mode 100644
index 49522a6..0000000
--- a/cbind/src/ex_get_var.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgev - ex_get_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* ex_entity_type var_type block/variable type
-* node, edge/face/element block, or
-* node/edge/face/side/element set
-* int var_index variable index
-* int obj_id object id
-* int num_entry_this_obj number of entries in this object
-*
-*
-* exit conditions -
-* float* var_vals array of element variable values
-*
-*
-* revision history -
-* 20061002 - David Thompson - Adapted from ex_get_elem_var
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the values of a single element variable for one element block at
- * one time step in the database; assume the first time step and
- * element variable index is 1
- */
-
-int ex_get_var( int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t num_entry_this_obj,
- void* var_vals )
-{
- int status;
- int varid, obj_id_ndx;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- if (var_type == EX_NODAL) {
- /* FIXME: Special case: ignore obj_id, possible large_file complications, etc. */
- return ex_get_nodal_var( exoid, time_step, var_index, num_entry_this_obj, var_vals );
- } else if (var_type == EX_GLOBAL) {
- /* FIXME: Special case: all vars stored in 2-D single array. */
- return ex_get_glob_vars( exoid, time_step, num_entry_this_obj, var_vals );
- }
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of obj_id in VAR_ID_EL_BLK array */
- obj_id_ndx = ex_id_lkup(exoid,var_type,obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no %s variables for NULL block %"PRId64" in file id %d",
- ex_name_of_object(var_type), obj_id,exoid);
- ex_err("ex_get_var",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id variable in file id %d",
- ex_name_of_object(var_type), obj_id, exoid);
- ex_err("ex_get_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire previously defined variable */
-
- if((status = nc_inq_varid(exoid, ex_name_var_of_object(var_type,var_index,
- obj_id_ndx), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s %"PRId64" var %d in file id %d",
- ex_name_of_object(var_type),obj_id,var_index,exoid);
- ex_err("ex_get_var",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read values of element variable */
- start[0] = --time_step;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = num_entry_this_obj;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, varid, start, count, var_vals);
- } else {
- status = nc_get_vara_double(exoid, varid, start, count, var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s %"PRId64" variable %d in file id %d",
- ex_name_of_object(var_type), obj_id, var_index,exoid);
- ex_err("ex_get_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_var_name.c b/cbind/src/ex_get_var_name.c
deleted file mode 100644
index 2292c56..0000000
--- a/cbind/src/ex_get_var_name.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvnm - ex_get_var_name
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* char* var_type variable type: G,N, or E
-* int var_num variable index to read 1..num_var
-*
-* exit conditions -
-* char* var_name ptr to variable name
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the name of a particular results variable from the database
- * \deprecated use ex_get_variable_name()(exoid, obj_type, var_num, *var_name)
- */
-
-int ex_get_var_name (int exoid,
- const char *var_type,
- int var_num,
- char *var_name)
-{
- ex_entity_type obj_type;
- obj_type = ex_var_type_to_ex_entity_type(*var_type);
- return ex_get_variable_name(exoid, obj_type, var_num, var_name);
-}
diff --git a/cbind/src/ex_get_var_names.c b/cbind/src/ex_get_var_names.c
deleted file mode 100644
index 1985eac..0000000
--- a/cbind/src/ex_get_var_names.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvan - ex_get_var_names
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* char* var_type variable type: G,N, or E
-* int num_vars # of variables to read
-*
-* exit conditions -
-* char* var_names ptr array of variable names
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-
-/*!
- * reads the names of the results variables from the database
- * \deprecated Use ex_get_variable_names()(exoid, obj_type, num_vars, var_names)
- */
-
-int ex_get_var_names (int exoid,
- const char *var_type,
- int num_vars,
- char *var_names[])
-{
- ex_entity_type obj_type;
- obj_type = ex_var_type_to_ex_entity_type(*var_type);
- return ex_get_variable_names(exoid, obj_type, num_vars, var_names);
-}
diff --git a/cbind/src/ex_get_var_param.c b/cbind/src/ex_get_var_param.c
deleted file mode 100644
index 5a30204..0000000
--- a/cbind/src/ex_get_var_param.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvp - ex_get_var_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* char* var_type variable type G,N, or E
-*
-* exit conditions -
-* int* num_vars number of variables in database
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-
-/*!
- * reads the number of global, nodal, or element variables that are
- * stored in the database
- * \deprecated Use ex_get_variable_param()(exoid, obj_type, *num_vars)
- */
-
-int ex_get_var_param (int exoid,
- const char *var_type,
- int *num_vars)
-{
- ex_entity_type obj_type;
- obj_type = ex_var_type_to_ex_entity_type(*var_type);
- return (ex_get_variable_param(exoid, obj_type, num_vars));
-}
diff --git a/cbind/src/ex_get_var_tab.c b/cbind/src/ex_get_var_tab.c
deleted file mode 100644
index 99846a7..0000000
--- a/cbind/src/ex_get_var_tab.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvtt - ex_get_var_tab
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_blk number of blocks
-* int num_var number of variables
-*
-* exit conditions -
-* int* var_tab element variable truth table array
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-
-/*!
- * reads the EXODUS II specified variable truth table from the database
- * \deprecated Use ex_get_truth_table()(exoid, obj_type, num_blk, num_var, var_tab)
- */
-
-int ex_get_var_tab (int exoid,
- const char *var_type,
- int num_blk,
- int num_var,
- int *var_tab)
-{
- ex_entity_type obj_type;
- obj_type = ex_var_type_to_ex_entity_type(*var_type);
- return ex_get_truth_table(exoid, obj_type, num_blk, num_var, var_tab);
-}
diff --git a/cbind/src/ex_get_var_time.c b/cbind/src/ex_get_var_time.c
deleted file mode 100644
index 1e7dd9f..0000000
--- a/cbind/src/ex_get_var_time.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvart - ex_get_var_time
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int var_type variable type global, nodal,
-* edge/face/elem block,
-* node/edge/face/side/elem set
-* int var_index element variable index
-* int id entry number
-* int beg_time_step time step number
-* int end_time_step time step number
-*
-* exit conditions -
-* float* var_vals array of element variable values
-*
-* revision history -
-* 20061002 - David Thompson - Adapted from ex_get_var_time
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * reads the values of a variable for a single entry of an object (block or set) through a
- * specified number of time steps in the database; assume the first
- * variable index, entry number, and time step are 1
- */
-
-int ex_get_var_time( int exoid,
- ex_entity_type var_type,
- int var_index,
- int64_t id,
- int beg_time_step,
- int end_time_step,
- void* var_vals )
-{
- int dimid, varid, numel = 0, offset;
- int status;
- int *stat_vals;
- size_t num_obj, i;
- size_t num_entries_this_obj = 0;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
- const char* varobjids;
- const char* varobstat;
-
- switch (var_type) {
- case EX_GLOBAL:
- return ex_get_glob_var_time( exoid, var_index, beg_time_step, end_time_step, var_vals );
- case EX_NODAL:
- return ex_get_nodal_var_time( exoid, var_index, id, beg_time_step, end_time_step, var_vals );
- case EX_EDGE_BLOCK:
- varobjids = VAR_ID_ED_BLK;
- varobstat = VAR_STAT_ED_BLK;
- break;
- case EX_FACE_BLOCK:
- varobjids = VAR_ID_FA_BLK;
- varobstat = VAR_STAT_FA_BLK;
- break;
- case EX_ELEM_BLOCK:
- varobjids = VAR_ID_EL_BLK;
- varobstat = VAR_STAT_EL_BLK;
- break;
- case EX_NODE_SET:
- varobjids = VAR_NS_IDS;
- varobstat = VAR_NS_STAT;
- break;
- case EX_EDGE_SET:
- varobjids = VAR_ES_IDS;
- varobstat = VAR_ES_STAT;
- break;
- case EX_FACE_SET:
- varobjids = VAR_FS_IDS;
- varobstat = VAR_FS_STAT;
- break;
- case EX_SIDE_SET:
- varobjids = VAR_SS_IDS;
- varobstat = VAR_SS_STAT;
- break;
- case EX_ELEM_SET:
- varobjids = VAR_ELS_IDS;
- varobstat = VAR_ELS_STAT;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg, "Error: Invalid variable type (%d) specified for file id %d", var_type, exoid );
- ex_err( "ex_get_var_time", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- exerrval = 0; /* clear error code */
-
- /* assume entry number is 1-based (the first entry of an object is 1, not 0);
- * adjust so it is 0-based
- */
- id--;
-
- /* find what object the entry is in */
-
- /* first, find out how many objects there are */
- status = ex_get_dimension(exoid, ex_dim_num_objects(var_type), ex_name_of_object(var_type),
- &num_obj, &dimid, "ex_get_var_time");
- if (status != NC_NOERR) return status;
-
- /* get the array of object ids */
- /* don't think we need this anymore since the netcdf variable names
- associated with objects don't contain the object ids */
-
- if ((status = nc_inq_varid (exoid, varobjids, &varid )) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s ids in file id %d",
- ex_name_of_object(var_type),exoid);
- ex_err("ex_get_var_time",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* allocate space for stat array */
- if (!(stat_vals = malloc((int)num_obj*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for %s status array for file id %d",
- ex_name_of_object(var_type),exoid);
- ex_err("ex_get_var_time",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* get variable id of status array */
- if (nc_inq_varid (exoid, varobstat, &varid) == NC_NOERR) {
- /* if status array exists, use it, otherwise assume, object exists
- to be backward compatible */
-
- if ((status = nc_get_var_int(exoid, varid, stat_vals)) != NC_NOERR) {
- exerrval = status;
- free(stat_vals);
- sprintf(errmsg,
- "Error: failed to get %s status array from file id %d",
- ex_name_of_object(var_type),exoid);
- ex_err("ex_get_var_time",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- else { /* default: status is true */
- for(i=0;i<num_obj;i++)
- stat_vals[i]=1;
- }
-
- /* loop through each object until id is found; since entry
- * numbers are sequential (beginning with 1) id is in obj_i
- * when id_first_i <= id <= id_last_i, where
- * id_first_i is the entry number of the first entry in
- * obj_i and id_last_i is the entry number of the last
- * entry in obj_i
- */
-
- i = 0;
- if (stat_vals[i] != 0) {
- if ((status = nc_inq_dimid(exoid, ex_dim_num_entries_in_object(var_type,i+1), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of entries in %"ST_ZU"th %s in file id %d",
- i, ex_name_of_object(var_type), exoid);
- ex_err("ex_get_var_time",errmsg,exerrval);
- free(stat_vals);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_entries_this_obj)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of entries in %"ST_ZU"th %s in file id %d",
- i, ex_name_of_object(var_type), exoid);
- ex_err("ex_get_var_time",errmsg,exerrval);
- free(stat_vals);
- return (EX_FATAL);
- }
- } /* End NULL object check */
-
- numel = num_entries_this_obj;
-
- while (numel <= id) {
- if (stat_vals[++i] != 0) {
- if ((status = nc_inq_dimid(exoid,ex_dim_num_entries_in_object(var_type,i+1), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of entries in %"ST_ZU"th %s in file id %d",
- i, ex_name_of_object(var_type), exoid);
- ex_err("ex_get_var_time",errmsg,exerrval);
- free(stat_vals);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_entries_this_obj)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of entries in %"ST_ZU"th %s in file id %d",
- i, ex_name_of_object(var_type), exoid);
- ex_err("ex_get_var_time",errmsg,exerrval);
- free(stat_vals);
- return (EX_FATAL);
- }
- numel += num_entries_this_obj;
- }
- }
- offset = id - (numel - num_entries_this_obj);
-
- /* inquire previously defined variable */
- if ((status = nc_inq_varid(exoid,ex_name_var_of_object(var_type,var_index,i+1), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate variable %"ST_ZU" for %dth %s in file id %d",
- i, var_index,ex_name_of_object(var_type),exoid);
- ex_err("ex_get_var_time",errmsg,exerrval);
- free(stat_vals);
- return (EX_FATAL);
- }
-
- free(stat_vals);
-
- /* read values of object variable */
- start[0] = --beg_time_step;
- start[1] = offset;
-
- if (end_time_step < 0) {
- /* user is requesting the maximum time step; we find this out using the
- * database inquire function to get the number of time steps; the ending
- * time step number is 1 less due to 0 based array indexing in C
- */
- end_time_step = ex_inquire_int (exoid, EX_INQ_TIME);
- }
-
- end_time_step--;
-
- count[0] = end_time_step - beg_time_step + 1;
- count[1] = 1;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_get_vara_float(exoid, varid, start, count, var_vals);
- } else {
- status = nc_get_vara_double(exoid, varid, start, count, var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s variable values in file id %d",
- ex_name_of_object(var_type),exoid);
- ex_err("ex_get_var_time",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_variable_name.c b/cbind/src/ex_get_variable_name.c
deleted file mode 100644
index b9d5843..0000000
--- a/cbind/src/ex_get_variable_name.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvnm - ex_get_variable_name
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type variable type
-* int var_num variable index to read 1..num_var
-*
-* exit conditions -
-* char* var_name ptr to variable name
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * reads the name of a particular results variable from the database
- */
-
-int ex_get_variable_name (int exoid,
- ex_entity_type obj_type,
- int var_num,
- char *var_name)
-{
- int status;
- int varid;
- char errmsg[MAX_ERR_LENGTH];
- const char *vname = NULL;
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined variables */
-
- switch (obj_type) {
- case EX_GLOBAL:
- vname = VAR_NAME_GLO_VAR;
- break;
- case EX_NODAL:
- vname = VAR_NAME_NOD_VAR;
- break;
- case EX_EDGE_BLOCK:
- vname = VAR_NAME_EDG_VAR;
- break;
- case EX_FACE_BLOCK:
- vname = VAR_NAME_FAC_VAR;
- break;
- case EX_ELEM_BLOCK:
- vname = VAR_NAME_ELE_VAR;
- break;
- case EX_NODE_SET:
- vname = VAR_NAME_NSET_VAR;
- break;
- case EX_EDGE_SET:
- vname = VAR_NAME_ESET_VAR;
- break;
- case EX_FACE_SET:
- vname = VAR_NAME_FSET_VAR;
- break;
- case EX_SIDE_SET:
- vname = VAR_NAME_SSET_VAR;
- break;
- case EX_ELEM_SET:
- vname = VAR_NAME_ELSET_VAR;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg, "Error: Invalid variable type (%d) given for file id %d", obj_type, exoid );
- ex_err( "ex_get_variable_name", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, vname, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: no %s variable names stored in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("ex_get_variable_name",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* read the variable name */
- {
- int db_name_size = ex_inquire_int(exoid, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH);
- int api_name_size = ex_inquire_int(exoid, EX_INQ_MAX_READ_NAME_LENGTH);
- int name_size = db_name_size < api_name_size ? db_name_size : api_name_size;
-
- status = ex_get_name_internal(exoid, varid, var_num-1, var_name, name_size, obj_type, "ex_get_variable_name");
- if (status != NC_NOERR) {
- return (EX_FATAL);
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_variable_names.c b/cbind/src/ex_get_variable_names.c
deleted file mode 100644
index 24092bd..0000000
--- a/cbind/src/ex_get_variable_names.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-
-/*!
-The function ex_get_variable_names() reads the names of the results
-variables from the database. Memory must be allocated for the name
-array before this function is invoked. The names are \p
-MAX_STR_LENGTH-characters in length.
-
-\return In case of an error, ex_get_variable_names() returns a
-negative number; a warning will return a positive number. Possible
-causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - invalid variable type specified.
- - a warning value is returned if no variables of the specified
- type are stored in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Variable indicating the type of variable which is described. Use one
- of the options in the table below.
-\param[in] num_vars The number of \c var_type variables that will be read
- from the database.
-\param[out] var_names Returned array of pointers to \c num_vars variable names.
-
-<table>
-<tr><td> \c EX_GLOBAL} </td><td> Global entity type </td></tr>
-<tr><td> \c EX_NODAL} </td><td> Nodal entity type </td></tr>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-</table>
-
-As an example, the following code segment will read the names of the
-nodal variables stored in the data file:
-
-\code
-#include "exodusII.h"
-int error, exoid, num_nod_vars;
-char *var_names[10];
-
-\comment{read nodal variables parameters and names}
-error = ex_get_variable_param(exoid, EX_NODAL, &num_nod_vars);
-for (i=0; i < num_nod_vars; i++) {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
-}
-error = ex_get_variable_names(exoid, EX_NODAL, num_nod_vars, var_names);
-\endcode
-
-*/
-
-int ex_get_variable_names (int exoid,
- ex_entity_type obj_type,
- int num_vars,
- char *var_names[])
-{
- int varid, status;
- char errmsg[MAX_ERR_LENGTH];
- const char* vvarname;
-
- exerrval = 0; /* clear error code */
-
- switch (obj_type) {
- case EX_NODAL:
- vvarname = VAR_NAME_NOD_VAR;
- break;
- case EX_EDGE_BLOCK:
- vvarname = VAR_NAME_EDG_VAR;
- break;
- case EX_FACE_BLOCK:
- vvarname = VAR_NAME_FAC_VAR;
- break;
- case EX_ELEM_BLOCK:
- vvarname = VAR_NAME_ELE_VAR;
- break;
- case EX_NODE_SET:
- vvarname = VAR_NAME_NSET_VAR;
- break;
- case EX_EDGE_SET:
- vvarname = VAR_NAME_ESET_VAR;
- break;
- case EX_FACE_SET:
- vvarname = VAR_NAME_FSET_VAR;
- break;
- case EX_SIDE_SET:
- vvarname = VAR_NAME_SSET_VAR;
- break;
- case EX_ELEM_SET:
- vvarname = VAR_NAME_ELSET_VAR;
- break;
- case EX_GLOBAL:
- vvarname = VAR_NAME_GLO_VAR;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: invalid variable type %d requested from file id %d",
- obj_type, exoid);
- ex_err("ex_get_variable_names",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* inquire previously defined variables */
- if ((status = nc_inq_varid(exoid, vvarname, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg, "Warning: no %s variables names stored in file id %d",
- ex_name_of_object(obj_type),exoid);
- ex_err("ex_get_variable_names",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* read the variable names */
- status = ex_get_names_internal(exoid, varid, num_vars, var_names, obj_type, "ex_get_variable_names");
- if (status != NC_NOERR) {
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_get_variable_param.c b/cbind/src/ex_get_variable_param.c
deleted file mode 100644
index ddc1659..0000000
--- a/cbind/src/ex_get_variable_param.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exgvp - ex_get_variable_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type variable type
-*
-* exit conditions -
-* int* num_vars number of variables in database
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-
-/*!
-
-The function ex_get_variable_param() reads the number of global,
-nodal, or element variables stored in the database.
-
-\return In case of an error, ex_get_variable_param() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - invalid variable type specified.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Variable indicating the type of variable which is described. Use one
- of the options in the table below.
-\param[out] num_vars Returned number of \c var_type variables that are stored in the database.
-
-<table>
-<tr><td> \c EX_GLOBAL} </td><td> Global entity type </td></tr>
-<tr><td> \c EX_NODAL} </td><td> Nodal entity type </td></tr>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-</table>
-
-As an example, the following coding will determine the number of
-global variables stored in the data file:
-
-\code
-int num_glo_vars, error, exoid;
-
-\comment{read global variables parameters}
-error = ex_get_variable_param(exoid, EX_GLOBAL, &num_glo_vars);
-\endcode
-
-*/
-
-int ex_get_variable_param (int exoid,
- ex_entity_type obj_type,
- int *num_vars)
-{
- int dimid;
- size_t dimlen;
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumvar;
- int status;
-
- exerrval = 0; /* clear error code */
- *num_vars = 0;
-
- switch (obj_type) {
- case EX_GLOBAL:
- dnumvar = DIM_NUM_GLO_VAR;
- break;
- case EX_NODAL:
- dnumvar = DIM_NUM_NOD_VAR;
- break;
- case EX_EDGE_BLOCK:
- dnumvar = DIM_NUM_EDG_VAR;
- break;
- case EX_FACE_BLOCK:
- dnumvar = DIM_NUM_FAC_VAR;
- break;
- case EX_ELEM_BLOCK:
- dnumvar = DIM_NUM_ELE_VAR;
- break;
- case EX_NODE_SET:
- dnumvar = DIM_NUM_NSET_VAR;
- break;
- case EX_EDGE_SET:
- dnumvar = DIM_NUM_ESET_VAR;
- break;
- case EX_FACE_SET:
- dnumvar = DIM_NUM_FSET_VAR;
- break;
- case EX_SIDE_SET:
- dnumvar = DIM_NUM_SSET_VAR;
- break;
- case EX_ELEM_SET:
- dnumvar = DIM_NUM_ELSET_VAR;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: invalid variable type %d requested from file id %d",
- obj_type, exoid);
- ex_err("ex_get_var_param",errmsg,exerrval);
- return (EX_WARN);
- }
-
- if ((status = nc_inq_dimid (exoid, dnumvar, &dimid)) != NC_NOERR) {
- *num_vars = 0;
- if (status == NC_EBADDIM)
- return(EX_NOERR); /* no global variables defined */
- else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s variable names in file id %d",
- ex_name_of_object(obj_type),exoid);
- ex_err("ex_get_var_param",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &dimlen)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of %s variables in file id %d",
- ex_name_of_object(obj_type),exoid);
- ex_err("ex_get_var_param",errmsg,exerrval);
- return (EX_FATAL);
- }
- *num_vars = dimlen;
-
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_inquire.c b/cbind/src/ex_inquire.c
deleted file mode 100644
index db21f62..0000000
--- a/cbind/src/ex_inquire.c
+++ /dev/null
@@ -1,1053 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\fn{int ex_inquire (int exoid, int req_info, void_int *ret_int, float *ret_float, char *ret_char)}
-
-The function ex_inquire() is used to inquire values of certain
-data entities in an exodus file. Memory must be allocated for the
-returned values before this function is invoked.query database. \sa ex_inquire_int().
-
-\return In case of an error, ex_inquire() returns a negative
- number; a warning will return a positive number.
- Possible causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open().
- - requested information not stored in the file.
- - invalid request flag.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] req_info A flag which designates what information is requested. It must be one
- of the following constants in the table below.
-
-\param[out] ret_int Returned integer, if an integer value is requested (according
- to \c req_info); otherwise, supply a dummy argument.
-
-\param[out] ret_float Returned float, if a float value is requested
- (according to \c req_info); otherwise, supply a dummy
- argument. This argument is always a float even if the database IO
- and/or CPU word size is a double.
-
-\param[out] ret_char Returned character string, if a character value is requested (according
- to \c req_info); otherwise, supply a dummy argument.
-
-<table>
-<tr><td>\c EX_INQ_API_VERS</td><td> The exodus API version number is returned
- in \c ret_float and an undotted version number is returned in
- \c ret_int. The API version number reflects the release of the
- function library (i.e., function names, argument list, etc.). The API
- and LIB version numbers are synchronized and will always
- match. Initially, it was thought that maintaining the two versions
- separately would be a benefit, but that was more confusing than
- helpful, so the numbers were made the same.</td></tr>
-
- <tr><td> \c EX_INQ_DB_VERS </td><td> The exodus database version number is
- returned in \c ret_float and an ``undotted'' version number is
- returned in \c ret_int. The database version number reflects the
- version of the library that was used to \e write the file pointed to by
- \c exoid. </td></tr>
-
- <tr><td> \c EX_INQ_LIB_VERS </td><td>The exodus library version number is
- returned in \c ret_float and an undotted version number is
- returned in \c ret_int. The API library version number reflects
- the version number of the exodus library linked with this
- application. </td></tr>
-
- <tr><td> \c EX_INQ_TITLE </td><td>The title stored in the database is returned in \c ret_char. </td></tr>
-
- <tr><td> \c EX_INQ_DIM </td><td>The dimensionality, or number of coordinates
- per node (1, 2 or 3), of the database is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_NODES </td><td>The number of nodes is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ELEM </td><td>The number of elements is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ELEM_BLK </td><td>The number of element blocks is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_NODE_SETS </td><td>The number of node sets is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_NS_NODE_LEN </td><td>The length of the concatenated node
- sets node list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_NS_DF_LEN </td><td>The length of the concatenated node
- sets distribution list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_SIDE_SETS </td><td>The number of side sets is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_SS_ELEM_LEN </td><td>The length of the concatenated side
- sets element list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_SS_DF_LEN </td><td>The length of the concatenated side
- sets distribution factor list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_SS_NODE_LEN </td><td>The aggregate length of all of the
- side sets node lists is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_EB_PROP </td><td>The number of integer properties stored
- for each element block is returned in \c ret_int; this number
- includes the property named \c ID. </td></tr>
-
- <tr><td> \c EX_INQ_NS_PROP </td><td>The number of integer properties stored
- for each node set is returned in \c ret_int; this number includes
- the property named \c ID. </td></tr>
-
- <tr><td> \c EX_INQ_SS_PROP </td><td>The number of integer properties stored
- for each side set is returned in \c ret_int; this number includes
- the property named \c ID. </td></tr>
-
- <tr><td> \c EX_INQ_QA </td><td>The number of QA records is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_INFO </td><td>The number of information records is returned
- in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_TIME </td><td>The number of time steps stored in the
- database is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_EDGE_BLK </td><td>The number of edge blocks is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_EDGE_MAP </td><td>The number of edge maps is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_EDGE_PROP </td><td>The number of properties stored per
- edge blockis returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_EDGE_SETS </td><td>The number of edge sets is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_EDGE </td><td>The number of edges is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_FACE </td><td>The number of faces is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_EB_PROP </td><td>The number of element block properties is
- returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ELEM_MAP </td><td>The number of element maps is returned
- in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ELEM_SETS </td><td>The number of element sets is returned
- in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ELS_DF_LEN </td><td>The length of the concatenated
- element set distribution factor list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ELS_LEN </td><td>The length of the concatenated element
- set element list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ELS_PROP </td><td>The number of properties stored per elem
- set is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_EM_PROP </td><td>The number of element map properties is
- returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ES_DF_LEN </td><td>The length of the concatenated edge
- set distribution factor list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ES_LEN </td><td>The length of the concatenated edge set
- edge list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_ES_PROP </td><td>The number of properties stored per edge
- set is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_FACE_BLK </td><td>The number of face blocks is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_FACE_MAP </td><td>The number of face maps is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_FACE_PROP </td><td>The number of properties stored per
- face block is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_FACE_SETS </td><td>The number of face sets is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_FS_DF_LEN </td><td>The length of the concatenated face
- set distribution factor list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_FS_LEN </td><td>The length of the concatenated face set
- face list is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_FS_PROP </td><td>The number of properties stored per face
- set is returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_NM_PROP </td><td>The number of node map properties is
- returned in \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_NODE_MAP </td><td>The number of node maps is returned in
- \c ret_int. </td></tr>
-
- <tr><td> \c EX_INQ_COORD_FRAMES </td><td>The number of coordinate frames is returned in \c ret_int. </td></tr>
-</table>
-
-As an example, the following will return the number of element
-block properties stored in the exodus file :
-
-\code
-#include "exodusII.h"
-int error, exoid, num_props;
-float fdum;
-char *cdum;
-
-\comment{determine the number of element block properties}
-error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props,
- &fdum, cdum);
-...Another way to get the same information
-num_props = ex_inquire_int(exoid, EX_INQ_EB_PROP);
-\endcode
-
-*/
-
-/*! \cond INTERNAL */
-static int ex_get_dimension_value(int exoid, int64_t *var, int default_value, const char *dimension_name, int missing_ok)
-{
- int status;
- char errmsg[MAX_ERR_LENGTH];
- size_t idum;
- int dimid;
-
- if ((status = nc_inq_dimid( exoid, dimension_name, &dimid)) != NC_NOERR) {
- *var = default_value;
- if ( missing_ok ) {
- return (EX_NOERR);
- } else {
- exerrval = status;
- sprintf( errmsg,
- "Error: failed to retrieve dimension %s for file id %d",
- dimension_name, exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- if ((status = nc_inq_dimlen( exoid, dimid, &idum)) != NC_NOERR) {
- *var = default_value;
- exerrval = status;
- sprintf( errmsg,
- "Error: failed to retrieve value for dimension %s for file id %d",
- dimension_name, exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- *var = idum;
- return (EX_NOERR);
-}
-
-static int ex_get_concat_set_len(int exoid, int64_t *set_length, const char *set_name,
- ex_entity_type set_type, const char *set_num_dim,
- const char *set_stat_var, const char *set_size_root,
- int missing_ok)
-{
- int i;
- int status;
- char errmsg[MAX_ERR_LENGTH];
- size_t idum;
- int dimid, varid;
- size_t num_sets;
- int *stat_vals = NULL;
-
- *set_length = 0; /* default return value */
-
- if ((status = nc_inq_dimid (exoid, set_num_dim, &dimid)) == NC_NOERR)
- {
- if ((status = nc_inq_dimlen (exoid, dimid, &num_sets)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of %s sets in file id %d",
- set_name, exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Allocate space for stat array */
- if (!(stat_vals = malloc((int)num_sets*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for %s set status array for file id %d",
- set_name, exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* get variable id of status array */
- if ((status = nc_inq_varid (exoid, set_stat_var, &varid)) == NC_NOERR) {
- /* if status array exists, use it, otherwise assume, object exists
- to be backward compatible */
- if ((status = nc_get_var_int(exoid, varid, stat_vals)) != NC_NOERR) {
- exerrval = status;
- free(stat_vals);
- sprintf(errmsg,
- "Error: failed to get %s set status array from file id %d",
- set_name, exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else /* default: status is true */
- for(i=0;i<num_sets;i++)
- stat_vals[i]=1;
-
- for (i=0; i<num_sets; i++) {
- if (stat_vals[i] == 0) /* is this object null? */
- continue;
-
-
- if ((status = nc_inq_dimid (exoid, ex_catstr(set_size_root,i+1), &dimid)) != NC_NOERR) {
- if ( missing_ok ) {
- idum = 0;
- } else {
- *set_length = 0;
- free(stat_vals);
- return (EX_FATAL);
- }
- } else {
- if ((status = nc_inq_dimlen (exoid, dimid, &idum)) != NC_NOERR) {
- *set_length = 0;
- free(stat_vals);
- return (EX_FATAL);
- }
- }
-
- *set_length += idum;
- }
-
- free(stat_vals);
- }
- return (EX_NOERR);
-}
-
-static void flt_cvt(float *xptr,double x)
-{
- *xptr = (float)x;
-}
-/*! \endcond */
-
-/*!
- A variant of ex_inquire() which queries integer-valued information only. \see ex_inquire().
- \param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
- \param[in] req_info A flag which designates what information is requested.
- (See ex_inquire() documentation)
- \return result of inquiry.
-
- As an example, the following will return the number of nodes,
- elements, and element blocks stored in the exodus file :
-
-\code
-#include "exodusII.h"
-int exoid;
-int num_nodes = ex_inquire_int(exoid, EX_INQ_NODES);
-int num_elems = ex_inquire_int(exoid, EX_INQ_ELEM);
-int num_block = ex_inquire_int(exoid, EX_INQ_ELEM_BLK);
-\endcode
-
-*/
-
-static int ex_inquire_internal (int exoid,
- int req_info,
- int64_t *ret_int,
- float *ret_float,
- char *ret_char)
-{
- int dimid, varid, tmp_num;
- void_int *ids = NULL;
- size_t i;
- size_t ldum = 0;
- size_t num_sets, idum;
- int *stat_vals;
- char errmsg[MAX_ERR_LENGTH];
- int status;
- char tmp_title[2048];
-
- exerrval = 0; /* clear error code */
-
- if (ret_char) *ret_char = '\0'; /* Only needs to be non-null for TITLE */
-
- if (!ret_int) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: integer argument is NULL which is not allowed.");
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- switch (req_info) {
- case EX_INQ_FILE_TYPE:
-
- /* obsolete call */
- /*returns "r" for regular EXODUS II file or "h" for history EXODUS file*/
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: file type inquire is obsolete");
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_WARN);
-
- case EX_INQ_API_VERS:
- /* returns the EXODUS II API version number */
- if (!ret_float) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: float argument is NULL for EX_INQ_API_VERS which is not allowed.");
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (nc_get_att_float(exoid, NC_GLOBAL, ATT_API_VERSION, ret_float) != NC_NOERR)
- { /* try old (prior to db version 2.02) attribute name */
- if ((status = nc_get_att_float (exoid, NC_GLOBAL, ATT_API_VERSION_BLANK,ret_float)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get EXODUS API version for file id %d", exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- break;
-
- case EX_INQ_DB_VERS:
- /* returns the EXODUS II database version number */
- if (!ret_float) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: float argument is NULL for EX_INQ_DB_VERS which is not allowed.");
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_get_att_float (exoid, NC_GLOBAL, ATT_VERSION, ret_float)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get EXODUS database version for file id %d", exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- break;
-
- case EX_INQ_LIB_VERS:
- /* returns the EXODUS II Library version number */
- if (ret_float)
- flt_cvt(ret_float, EX_API_VERS);
-
- *ret_int = EX_API_VERS_NODOT;
- break;
-
- case EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH:
- /* Return the MAX_NAME_LENGTH size for this database
- It will not include the space for the trailing null, so if it
- is defined as 33 on the database, 32 will be returned.
- */
- if ((status = nc_inq_dimid(exoid, DIM_STR_NAME, &dimid)) != NC_NOERR) {
- /* If not found, then an older database */
- *ret_int = 32;
- }
- else {
- /* Get the name string length */
- size_t name_length = 0;
- if ((status = nc_inq_dimlen(exoid,dimid,&name_length)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get name string length in file id %d", exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- else {
- *ret_int = name_length-1;
- }
- }
- break;
-
- case EX_INQ_DB_FLOAT_SIZE:
- {
- nc_get_att_longlong(exoid, NC_GLOBAL, ATT_FLT_WORDSIZE, (long long*)ret_int);
- }
- break;
-
- case EX_INQ_DB_MAX_USED_NAME_LENGTH:
- /* Return the value of the ATT_MAX_NAME_LENGTH attribute (if it
- exists) which is the maximum length of any entity, variable,
- attribute, property name written to this database. If the
- attribute does not exist, then '32' is returned. The length
- does not include the trailing null.
- */
- {
- nc_type att_type = NC_NAT;
- size_t att_len = 0;
-
- *ret_int = 32; /* Default size consistent with older databases */
-
- status = nc_inq_att(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, &att_type, &att_len);
- if (status == NC_NOERR && att_type == NC_INT) {
- /* The attribute exists, return it... */
- nc_get_att_longlong(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, (long long*)ret_int);
- }
- }
- break;
-
- case EX_INQ_MAX_READ_NAME_LENGTH:
- {
- /* Returns the user-specified maximum size of names that will be
- * returned to the user by any of the ex_get_ routines. If the
- * name is longer than this value, it will be truncated. The
- * default if not set by the client is 32 characters. The value
- * does not include the trailing null.
- */
- struct file_item* file = ex_find_file_item(exoid);
-
- if (!file ) {
- exerrval = EX_BADFILEID;
- sprintf(errmsg,"Error: unknown file id %d for ex_inquire_int().",exoid);
- ex_err("ex_intquire",errmsg,exerrval);
- *ret_int = 0;
- }
- else {
- *ret_int = file->maximum_name_length;
- }
- }
- break;
-
- case EX_INQ_TITLE:
- if (!ret_char) {
- sprintf(errmsg,
- "Error: Requested title, but character pointer was null for file id %d", exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- } else {
- /* returns the title of the database */
- if ((status = nc_get_att_text (exoid, NC_GLOBAL, ATT_TITLE, tmp_title)) != NC_NOERR) {
- *ret_char = '\0';
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get database title for file id %d", exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- } else {
- strncpy(ret_char, tmp_title, MAX_LINE_LENGTH+1);
- ret_char[MAX_LINE_LENGTH] = '\0';
- }
- }
- break;
-
- case EX_INQ_DIM:
- /* returns the dimensionality (2 or 3, for 2-d or 3-d) of the database */
- if (ex_get_dimension(exoid, DIM_NUM_DIM, "database dimensionality", &ldum, &dimid, "ex_inquire") != NC_NOERR)
- return EX_FATAL;
- *ret_int = ldum;
- break;
-
- case EX_INQ_NODES:
- /* returns the number of nodes */
- if (ex_get_dimension(exoid, DIM_NUM_NODES, "nodes", &ldum, &dimid, NULL) != NC_NOERR)
- *ret_int = 0;
- else
- *ret_int = ldum;
- break;
-
- case EX_INQ_ELEM:
- /* returns the number of elements */
- if (ex_get_dimension(exoid, DIM_NUM_ELEM, "elements", &ldum, &dimid, NULL) != NC_NOERR)
- *ret_int = 0;
- else
- *ret_int = ldum;
- break;
-
- case EX_INQ_ELEM_BLK:
- /* returns the number of element blocks */
- if (ex_get_dimension(exoid, DIM_NUM_EL_BLK, "element blocks", &ldum, &dimid, NULL) != NC_NOERR)
- *ret_int = 0;
- else
- *ret_int = ldum;
- break;
-
- case EX_INQ_NODE_SETS:
- /* returns the number of node sets */
- if (ex_get_dimension(exoid, DIM_NUM_NS, "node sets", &ldum, &dimid, NULL) != NC_NOERR)
- *ret_int = 0;
- else
- *ret_int = ldum;
- break;
-
- case EX_INQ_NS_NODE_LEN:
- /* returns the length of the concatenated node sets node list */
- ex_get_concat_set_len(exoid, ret_int,"node",EX_NODE_SET,DIM_NUM_NS,VAR_NS_STAT,"num_nod_ns",0);
- break;
-
- case EX_INQ_NS_DF_LEN:
- /* returns the length of the concatenated node sets dist factor list */
-
- /*
- Determine the concatenated node sets distribution factor length:
-
- 2. Check see if the dist factor variable for a node set id exists.
- 3. If it exists, goto step 4, else the length is zero.
- 4. Get the dimension of the number of nodes in the node set -0
- use this value as the length as by definition they are the same.
- 5. Sum the individual lengths for the total list length.
- */
-
- *ret_int = 0; /* default value if no node sets defined */
-
- if (nc_inq_dimid (exoid, DIM_NUM_NS, &dimid) == NC_NOERR) {
- if ((status = nc_inq_dimlen(exoid, dimid, &num_sets)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of node sets in file id %d",
- exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- for (i=0; i<num_sets; i++) {
- if ((status = nc_inq_varid (exoid, VAR_FACT_NS(i+1), &varid)) != NC_NOERR) {
- if (status == NC_ENOTVAR) {
- idum = 0; /* this dist factor doesn't exist */
- } else {
- *ret_int = 0;
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of dist fact for %"ST_ZU"'th node set in file id %d",
- i, exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NOD_NS(i+1), &dimid)) != NC_NOERR) {
- *ret_int = 0;
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of nodes in %"ST_ZU"'th node set in file id %d",
- i, exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- if ((status = nc_inq_dimlen (exoid, dimid, &idum)) != NC_NOERR) {
- *ret_int = 0;
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes in %"ST_ZU"'th node set in file id %d",
- i,exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- *ret_int += idum;
- }
- }
-
- break;
-
- case EX_INQ_SIDE_SETS:
- /* returns the number of side sets */
- if (ex_get_dimension(exoid, DIM_NUM_SS, "side sets", &ldum, &dimid, NULL) != NC_NOERR)
- *ret_int = 0;
- else
- *ret_int = ldum;
- break;
-
- case EX_INQ_SS_NODE_LEN:
-
- /* returns the length of the concatenated side sets node list */
-
- *ret_int = 0; /* default return value */
-
- if (nc_inq_dimid (exoid, DIM_NUM_SS, &dimid) == NC_NOERR) {
- if ((status = nc_inq_dimlen(exoid, dimid, &num_sets)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of side sets in file id %d",
- exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- if (!(ids = malloc(num_sets*sizeof(int64_t)))) { /* May be getting 2x what is needed, but should be OK */
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for side set ids for file id %d",
- exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_side_set_ids (exoid, ids) == EX_FATAL) {
- sprintf(errmsg,
- "Error: failed to get side set ids in file id %d",
- exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- free(ids);
- return (EX_FATAL);
- }
-
- /* allocate space for stat array */
- if (!(stat_vals = malloc((int)num_sets*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- free (ids);
- sprintf(errmsg,
- "Error: failed to allocate memory for side set status array for file id %d",
- exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- /* get variable id of status array */
- if ((status = nc_inq_varid (exoid, VAR_SS_STAT, &varid)) == NC_NOERR) {
- /* if status array exists, use it, otherwise assume, object exists
- to be backward compatible */
-
- if ((status = nc_get_var_int(exoid, varid, stat_vals)) != NC_NOERR) {
- exerrval = status;
- free (ids);
- free(stat_vals);
- sprintf(errmsg,
- "Error: failed to get element block status array from file id %d",
- exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- else /* default: status is true */
- for(i=0;i<num_sets;i++)
- stat_vals[i]=1;
-
- /* walk id list, get each side set node length and sum for total */
-
- for (i=0; i<num_sets; i++) {
- ex_entity_id id;
- if (stat_vals[i] == 0) /* is this object null? */
- continue;
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_API)
- id = ((int64_t*)ids)[i];
- else
- id = ((int*)ids)[i];
-
- if ((status = ex_get_side_set_node_list_len(exoid, id, &tmp_num)) != NC_NOERR) {
- *ret_int = 0;
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to side set %"PRId64" node length in file id %d",
- id,exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- free(stat_vals);
- free(ids);
- return (EX_FATAL);
- }
- *ret_int += tmp_num;
- }
-
- free(stat_vals);
- free (ids);
- }
-
- break;
-
- case EX_INQ_SS_ELEM_LEN:
- /* returns the length of the concatenated side sets element list */
- ex_get_concat_set_len(exoid, ret_int,"side",EX_SIDE_SET,DIM_NUM_SS,VAR_SS_STAT,"num_side_ss",0);
- break;
-
- case EX_INQ_SS_DF_LEN:
-
- /* returns the length of the concatenated side sets dist factor list */
-
- /*
- Determine the concatenated side sets distribution factor length:
-
- 1. Get the side set ids list.
- 2. Check see if the dist factor dimension for a side set id exists.
- 3. If it exists, goto step 4, else set the individual length to zero.
- 4. Sum the dimension value into the running total length.
- */
-
- *ret_int = 0;
-
- /* first check see if any side sets exist */
-
- if (nc_inq_dimid (exoid, DIM_NUM_SS, &dimid) == NC_NOERR) {
- if ((status = nc_inq_dimlen (exoid, dimid, &num_sets)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of side sets in file id %d",
- exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- for (i=0; i<num_sets; i++) {
- if ((status = nc_inq_dimid (exoid, DIM_NUM_DF_SS(i+1), &dimid)) != NC_NOERR) {
- if (status == NC_EBADDIM) {
- ldum = 0; /* this dist factor doesn't exist */
- } else {
- *ret_int = 0;
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of dist fact for %"ST_ZU"'th side set in file id %d",
- i, exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- if ((status = nc_inq_dimlen (exoid, dimid, &ldum)) != NC_NOERR) {
- *ret_int = 0;
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of dist factors in %"ST_ZU"'th side set in file id %d",
- i, exoid);
- ex_err("ex_inquire",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- *ret_int += ldum;
- }
- }
-
- break;
-
- case EX_INQ_QA:
- /* returns the number of QA records */
- if (ex_get_dimension(exoid, DIM_NUM_QA, "QA records", &ldum, &dimid, NULL) != NC_NOERR)
- *ret_int = 0;
- else
- *ret_int = ldum;
- break;
-
- case EX_INQ_INFO:
- /* returns the number of information records */
- if (ex_get_dimension(exoid, DIM_NUM_INFO, "info records", &ldum, &dimid, NULL) != NC_NOERR)
- *ret_int = 0;
- else
- *ret_int = ldum;
- break;
-
- case EX_INQ_TIME:
- /* returns the number of time steps stored in the database */
- if (ex_get_dimension(exoid, DIM_TIME, "time dimension", &ldum, &dimid, "ex_inquire") != NC_NOERR)
- return EX_FATAL;
- *ret_int = ldum;
- break;
-
- case EX_INQ_EB_PROP:
- /* returns the number of element block properties */
- *ret_int = ex_get_num_props (exoid, EX_ELEM_BLOCK);
- break;
-
- case EX_INQ_NS_PROP:
- /* returns the number of node set properties */
- *ret_int = ex_get_num_props (exoid, EX_NODE_SET);
- break;
-
- case EX_INQ_SS_PROP:
- /* returns the number of side set properties */
- *ret_int = ex_get_num_props (exoid, EX_SIDE_SET);
- break;
-
- case EX_INQ_ELEM_MAP:
- /* returns the number of element maps */
- if (ex_get_dimension(exoid, DIM_NUM_EM, "element maps", &ldum, &dimid, NULL) != NC_NOERR)
- *ret_int = 0;
- else
- *ret_int = ldum;
- break;
-
- case EX_INQ_EM_PROP:
- /* returns the number of element map properties */
- *ret_int = ex_get_num_props (exoid, EX_ELEM_MAP);
- break;
-
- case EX_INQ_NODE_MAP:
- /* returns the number of node maps */
- if (ex_get_dimension(exoid, DIM_NUM_NM, "node maps", &ldum, &dimid, NULL) != NC_NOERR)
- *ret_int = 0;
- else
- *ret_int = ldum;
- break;
-
- case EX_INQ_NM_PROP:
- /* returns the number of node map properties */
- *ret_int = ex_get_num_props (exoid, EX_NODE_MAP);
- break;
-
- case EX_INQ_EDGE:
- /* returns the number of edges (defined across all edge blocks). */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_EDGE, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- case EX_INQ_EDGE_BLK:
- /* returns the number of edge blocks. */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_ED_BLK, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- case EX_INQ_EDGE_SETS:
- /* returns the number of edge sets. */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_ES, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- case EX_INQ_ES_LEN:
- /* returns the length of the concatenated edge set edge list. */
- ex_get_concat_set_len(exoid, ret_int,"edge",EX_EDGE_SET,DIM_NUM_ES,VAR_ES_STAT,"num_edge_es",0);
- break;
-
- case EX_INQ_ES_DF_LEN:
- /* returns the length of the concatenated edge set distribution factor list. */
- ex_get_concat_set_len(exoid, ret_int,"edge",EX_EDGE_SET,DIM_NUM_ES,VAR_ES_STAT,"num_df_es",1);
- break;
-
- case EX_INQ_EDGE_PROP:
- /* returns the number of integer properties stored for each edge block. This includes the "ID" property. */
- *ret_int = ex_get_num_props( exoid, EX_EDGE_BLOCK );
- break;
-
- case EX_INQ_ES_PROP:
- /* returns the number of integer properties stored for each edge set.. This includes the "ID" property */
- *ret_int = ex_get_num_props( exoid, EX_EDGE_SET );
- break;
-
- case EX_INQ_FACE:
- /* returns the number of faces (defined across all face blocks). */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_FACE, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- case EX_INQ_FACE_BLK:
- /* returns the number of face blocks. */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_FA_BLK, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- case EX_INQ_FACE_SETS:
- /* returns the number of face sets. */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_FS, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- case EX_INQ_FS_LEN:
- /* returns the length of the concatenated edge set edge list. */
- ex_get_concat_set_len(exoid, ret_int,"face",EX_FACE_SET,DIM_NUM_FS,VAR_FS_STAT,"num_face_fs",0);
- break;
-
- case EX_INQ_FS_DF_LEN:
- /* returns the length of the concatenated edge set distribution factor list. */
- ex_get_concat_set_len(exoid, ret_int,"face",EX_FACE_SET,DIM_NUM_FS,VAR_FS_STAT,"num_df_fs",1);
- break;
-
- case EX_INQ_FACE_PROP:
- /* returns the number of integer properties stored for each edge block. This includes the "ID" property. */
- *ret_int = ex_get_num_props( exoid, EX_FACE_BLOCK );
- break;
-
- case EX_INQ_FS_PROP:
- /* returns the number of integer properties stored for each edge set.. This includes the "ID" property */
- *ret_int = ex_get_num_props( exoid, EX_FACE_SET );
- break;
-
- case EX_INQ_ELEM_SETS:
- /* returns the number of element sets. */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_ELS, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- case EX_INQ_ELS_LEN:
- /* returns the length of the concatenated element set element list. */
- ex_get_concat_set_len(exoid, ret_int,"element",EX_ELEM_SET,DIM_NUM_ELS,VAR_ELS_STAT,"num_ele_els",0);
- break;
-
- case EX_INQ_ELS_DF_LEN:
- /* returns the length of the concatenated element set distribution factor list. */
- ex_get_concat_set_len(exoid, ret_int,"element",EX_ELEM_SET,DIM_NUM_ELS,VAR_ELS_STAT,"num_df_els",1);
- break;
-
- case EX_INQ_ELS_PROP:
- /* returns the number of integer properties stored for each element set. */
- *ret_int = ex_get_num_props( exoid, EX_ELEM_SET );
- break;
-
- case EX_INQ_EDGE_MAP:
- /* returns the number of edge maps. */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_EDM, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- case EX_INQ_FACE_MAP:
- /* returns the number of face maps. */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_FAM, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- case EX_INQ_COORD_FRAMES:
- /* return the number of coordinate frames */
- if (ex_get_dimension_value(exoid, ret_int, 0, DIM_NUM_CFRAMES, 1) != EX_NOERR) return EX_FATAL;
- break;
-
- default:
- *ret_int = 0;
- exerrval = EX_FATAL;
- sprintf(errmsg, "Error: invalid inquiry %d", req_info);
- ex_err("ex_inquire",errmsg,exerrval);
- return(EX_FATAL);
- }
- return (EX_NOERR);
-}
-
-int64_t ex_inquire_int (int exoid, int req_info)
-{
- char *cdummy = NULL; /* Needed just for function call, unused. */
- float fdummy = 0; /* Needed just for function call, unused. */
- int64_t ret_val = 0;
- int error = ex_inquire_internal(exoid, req_info, &ret_val, &fdummy, cdummy);
- if (error < 0)
- ret_val = error;
-
- return ret_val;
-}
-
-int ex_inquire (int exoid,
- int req_info,
- void_int *ret_int,
- float *ret_float,
- char *ret_char)
-{
- if (ex_int64_status(exoid) & EX_INQ_INT64_API) {
- return ex_inquire_internal(exoid, req_info, ret_int, ret_float, ret_char);
- } else {
- /* ret_int is a 32-bit int */
- int64_t tmp_int;
- int *return_int = ret_int;
- int ierr = ex_inquire_internal(exoid, req_info, &tmp_int, ret_float, ret_char);
- *return_int = (int)tmp_int;
- return ierr;
- }
-}
-
diff --git a/cbind/src/ex_ne_util.c b/cbind/src/ex_ne_util.c
deleted file mode 100644
index be2e929..0000000
--- a/cbind/src/ex_ne_util.c
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_leavedef()
- * ex_catstrn12()
- * ne_id_lkup()
- * ex_get_file_type()
- * ex_put_nemesis_version()
- * ne_check_file_version()
- * ex_get_idx()
- *
- *****************************************************************************
- * Much of this code is a modified version of what is found in NemesisI.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-
-#include <string.h>
-#include <math.h>
-
-#include <netcdf.h>
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-/* Global variables */
-char *ne_ret_string;
-
-int ex_leavedef(int exoid,
- const char *call_rout
- )
-{
- char errmsg[MAX_ERR_LENGTH];
- int status;
-
- if ((status = nc_enddef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to end define mode for file id %d",
- exoid);
- ex_err(call_rout, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-char *ex_catstrn12(char *name,
- int num1,
- int num2
- )
-{
- const char *func_name="ex_catstrn12";
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if (ne_ret_string == NULL) {
- ne_ret_string = (char *)malloc((NC_MAX_NAME+1)*sizeof(char));
- if (ne_ret_string == NULL) {
- exerrval = EX_MSG;
- sprintf(errmsg, "Error: Insufficient memory!\n");
- ex_err(func_name, errmsg, exerrval);
- return NULL;
- }
- }
-
- if (strlen(name) > NC_MAX_NAME) {
- exerrval = EX_MSG;
- sprintf(errmsg, "Error: name too long!");
- ex_err(func_name, errmsg, exerrval);
-
- return (NULL);
- }
-
- sprintf(ne_ret_string, "%s%d-%d", name, num1, num2);
-
- return ne_ret_string;
-}
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Note: This function assumes a 1-d vector of data for "ne_var_name".
- */
-/*****************************************************************************/
-int ne_id_lkup(int exoid, const char *ne_var_name, int64_t *idx, ex_entity_id ne_var_id)
-{
- const char *func_name="ne_id_lkup";
-
- int status;
- int varid, ndims, dimid[1], ret=-1;
- nc_type var_type;
- size_t length, start[1];
- int64_t my_index, begin, end;
- long long id_val;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if ((status = nc_inq_varid(exoid, ne_var_name, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- ne_var_name, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* check if I need the length for this varible */
- if (idx[1] == -1) {
- /* Get the dimension IDs for this variable */
- if ((status = nc_inq_var(exoid, varid, (char *) 0, &var_type, &ndims,
- dimid, (int *) 0)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for variable \"%s\" in file ID %d",
- ne_var_name, exoid);
- ex_err(func_name, errmsg, exerrval);
- return -1;
- }
-
- /* Get the length of this variable */
- if ((status = nc_inq_dimlen(exoid, dimid[0], &length)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension for variable \"%s\" in file ID %d",
- ne_var_name, exoid);
- ex_err(func_name, errmsg, exerrval);
- return -1;
- }
-
- idx[1] = length;
- } /* End "if (idx[1] == -1)" */
-
- begin = idx[0];
- end = idx[1];
-
- /* Find the index by looping over each entry */
- for(my_index=begin; my_index < end; my_index++) {
- start[0] = my_index;
- status = nc_get_var1_longlong(exoid, varid, start, &id_val);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable \"%s\" in file ID %d",
- ne_var_name, exoid);
- ex_err(func_name, errmsg, exerrval);
- return -1;
- }
-
- if (id_val == ne_var_id) {
- ret = (int) my_index;
- break;
- }
- }
-
- return ret;
-}
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* This function retrieves the file type from a Nemesis file.
- */
-/*****************************************************************************/
-int ex_get_file_type(int exoid,
- char *ftype
- )
-{
- const char *func_name="ex_get_file_type";
-
- int status;
- int varid;
- int lftype;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if ((status = nc_inq_varid(exoid, VAR_FILE_TYPE, &varid)) != NC_NOERR) {
-
- /* If no file type is found, assume parallel */
- ftype[0] = 'p';
- ftype[1] = '\0';
-
- return (EX_NOERR);
- }
-
- if ((status = nc_get_var1_int(exoid, varid, NULL, &lftype)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_FILE_TYPE, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Set the appropriate character */
- if (lftype == 0) strcpy(ftype, "p");
- else if (lftype == 1) strcpy(ftype, "s");
-
- return (EX_NOERR);
-}
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* This function outputs the Nemesis version information to the file.
- */
-/*****************************************************************************/
-int ex_put_nemesis_version(int exoid)
-{
- const char *func_name="ex_put_nemesis_version";
- int status;
- float file_ver, api_ver;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear the error code */
-
- file_ver = NEMESIS_FILE_VERSION;
- api_ver = NEMESIS_API_VERSION;
-
- /* Check to see if the nemesis file version is already in the file */
- if (nc_get_att_float(exoid, NC_GLOBAL, "nemesis_file_version", &file_ver) != NC_NOERR) {
-
- /* Output the Nemesis file version */
- if ((status = nc_put_att_float(exoid, NC_GLOBAL, "nemesis_file_version", NC_FLOAT,
- 1, &file_ver)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output nemesis file version in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the Nemesis API version */
- if ((status = nc_put_att_float(exoid, NC_GLOBAL, "nemesis_api_version", NC_FLOAT,
- 1, &api_ver)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output nemesis api version in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
- return (EX_NOERR);
-}
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* This function checks that the version info is correct.
- */
-/*****************************************************************************/
-int ne_check_file_version(int exoid)
-{
-#if 0
- const char *func_name="ne_check_file_version";
-
- float file_ver;
-
- int status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* Get the file version */
- if ((status = nc_get_att_float(exoid, NC_GLOBAL, "nemesis_file_version", &file_ver)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get the nemesis file version from file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (fabs(NEMESIS_FILE_VERSION-file_ver) > 0.001) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: Nemesis version mismatch in file ID %d!\n", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-#endif
- return (EX_NOERR);
-}
-
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* This function gets the index for the given variable at the
- * position given.
- */
-/*****************************************************************************/
-int ex_get_idx(int exoid, const char *ne_var_name, int64_t *my_index, int pos)
-{
- const char *func_name="ex_get_idx";
-
- int status;
- int varid;
- size_t start[1], count[1];
-#if defined(NC_NETCDF4)
- long long varidx[2];
-#else
- int varidx[2];
-#endif
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* set default values for idx */
- my_index[0] = 0;
- my_index[1] = -1;
-
- /*
- * assume that if there is an error returned, that this
- * means that this is a parallel file, and the index does
- * not exists. This is not an error
- */
- if ((status = nc_inq_varid(exoid, ne_var_name, &varid)) == NC_NOERR) {
- /* check if we are at the beginning of the index vector */
- if (pos == 0) {
- start[0] = pos;
- count[0] = 1;
- } else {
- start[0] = pos - 1;
- count[0] = 2;
- }
-
-#if defined(NC_NETCDF4)
- status = nc_get_vara_longlong(exoid, varid, start, count, varidx);
-#else
- status = nc_get_vara_int(exoid, varid, start, count, varidx);
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable \"%s\" in file ID %d",
- ne_var_name, exoid);
- ex_err(func_name, errmsg, exerrval);
- return -1;
- }
-
- if (pos == 0) {
- my_index[0] = 0;
- my_index[1] = varidx[0];
- } else {
- my_index[0] = varidx[0];
- my_index[1] = varidx[1];
- }
- }
-
- return 1;
-}
diff --git a/cbind/src/ex_open.c b/cbind/src/ex_open.c
deleted file mode 100644
index 2fa88f0..0000000
--- a/cbind/src/ex_open.c
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exopen - ex_open
-*
-* entry conditions -
-* input parameters:
-* char* path exodus filename path
-* int mode access mode w/r
-*
-* exit conditions -
-* int exoid exodus file id
-* int* comp_ws computer word size
-* int* io_ws storage word size
-* float* version EXODUSII interface version number
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdio.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_open() opens an existing exodus file and returns
-an ID that can subsequently be used to refer to the file, the word
-size of the floating point values stored in the file, and the version
-of the exodus database (returned as a ``float'', regardless of the
-compute or I/O word size). Multiple files may be ``open'' simultaneously.
-
-\return In case of an error, ex_open() returns a negative
-number. Possible causes of errors include:
- - The specified file does not exist.
- - The mode specified is something other than the predefined constant \fparam{EX_READ} or \fparam{EX_WRITE}.
- - Database version is earlier than 2.0.
-
-\param path The file name of the exodus file. This can be given as either an
- absolute path name (from the root of the file system) or a relative
- path name (from the current directory).
-
-\param mode Access mode. Use one of the following predefined constants:
- - \fparam{EX_READ} To open the file just for reading.
- - \fparam{EX_WRITE} To open the file for writing and reading.
-
-\param[in,out] comp_ws The word size in bytes (0, 4 or 8) of the floating point variables
- used in the application program. If 0 (zero) is passed, the default
- size of floating point values for the machine will be used and
- returned in this variable. WARNING: all exodus functions requiring
- reals must be passed reals declared with this passed in or returned
- compute word size (4 or 8).
-
-
-\param[in,out] io_ws The word size in bytes (0, 4 or 8) of the floating
- point data as they are stored in the exodus file. If the word
- size does not match the word size of data stored in the file,
- a fatal error is returned. If this argument is 0, the word size
- of the floating point data already stored in the file is returned.
-
-\param[out] version Returned exodus database version number.
-
-The following opens an exodus file named \file{test.exo} for read
-only, using default settings for compute and I/O word sizes:
-
-\code
-#include "exodusII.h"
-int CPU_word_size,IO_word_size, exoid;
-float version;
-
-CPU_word_size = sizeof(float); \co{float or double}
-IO_word_size = 0; \co{use what is stored in file}
-
-\comment{open exodus files}
-exoid = ex_open ("test.exo", \co{filename path}
- EX_READ, \co{access mode = READ}
- &CPU_word_size, \co{CPU word size}
- &IO_word_size, \co{IO word size}
- &version); \co{ExodusII library version}
-\endcode
- */
-
-static int warning_output = 0;
-
-int ex_open_int (const char *path,
- int mode,
- int *comp_ws,
- int *io_ws,
- float *version,
- int run_version)
-{
- int exoid;
- int status, stat_att, stat_dim;
- nc_type att_type = NC_NAT;
- size_t att_len = 0;
- int old_fill;
- int file_wordsize;
- int dim_str_name;
- int int64_status = 0;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* set error handling mode to no messages, non-fatal errors */
- ex_opts(exoptval); /* call required to set ncopts first time through */
-
- if (run_version != EX_API_VERS_NODOT && warning_output == 0) {
- int run_version_major = run_version / 100;
- int run_version_minor = run_version % 100;
- int lib_version_major = EX_API_VERS_NODOT / 100;
- int lib_version_minor = EX_API_VERS_NODOT % 100;
- fprintf(stderr, "EXODUS: Warning: This code was compiled with exodus version %d.%02d,\n but was linked with exodus library version %d.%02d\n This is probably an error in the build process of this code.\n",
- run_version_major, run_version_minor, lib_version_major, lib_version_minor);
- warning_output = 1;
- }
-
-
- if ((mode & EX_READ) && (mode & EX_WRITE)) {
- exerrval = EX_BADFILEMODE;
- sprintf(errmsg,"Error: Cannot specify both EX_READ and EX_WRITE");
- ex_err("ex_open",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* The EX_READ mode is the default if EX_WRITE is not specified... */
- if (!(mode & EX_WRITE)) { /* READ ONLY */
-#if defined(__LIBCATAMOUNT__)
- if ((status = nc_open (path, NC_NOWRITE, &exoid)) != NC_NOERR)
-#else
- if ((status = nc_open (path, NC_NOWRITE|NC_SHARE, &exoid)) != NC_NOERR)
-#endif
- {
- /* NOTE: netCDF returns an id of -1 on an error - but no error code! */
- if (status == 0) {
- exerrval = EX_FATAL;
- }
- else {
- /* It is possible that the user is trying to open a netcdf4
- file, but the netcdf4 capabilities aren't available in the
- netcdf linked to this library. Note that we can't just use a
- compile-time define since we could be using a shareable
- netcdf library, so the netcdf4 capabilities aren't known
- until runtime...
-
- Netcdf-4.X does not (yet?) have a function that can be
- queried to determine whether the library being used was
- compiled with --enable-netcdf4, so that isn't very
- helpful..
-
- At this time, query the beginning of the file and see if it
- is an HDF-5 file and if it is assume that the open failure
- is due to the netcdf library not enabling netcdf4 features...
- */
- int type = 0;
- ex_check_file_type(path, &type);
-
- if (type == 5) {
- /* This is an hdf5 (netcdf4) file. Since the nc_open failed,
- the assumption is that the netcdf doesn't have netcdf4
- capabilities enabled. Tell the user...
- */
- fprintf(stderr,
- "EXODUS: Error: Attempting to open the netcdf-4 file:\n\t'%s'\n\twith a netcdf library that does not support netcdf-4\n",
- path);
- }
- exerrval = status;
- }
- sprintf(errmsg,"Error: failed to open %s read only",path);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
- }
- else /* (mode & EX_WRITE) READ/WRITE */
- {
-#if defined(__LIBCATAMOUNT__)
- if ((status = nc_open (path, NC_WRITE, &exoid)) != NC_NOERR)
-#else
- if ((status = nc_open (path, NC_WRITE|NC_SHARE, &exoid)) != NC_NOERR)
-#endif
- {
- /* NOTE: netCDF returns an id of -1 on an error - but no error code! */
- if (status == 0)
- exerrval = EX_FATAL;
- else
- exerrval = status;
- sprintf(errmsg,"Error: failed to open %s write only",path);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* turn off automatic filling of netCDF variables */
- if ((status = nc_set_fill (exoid, NC_NOFILL, &old_fill)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to set nofill mode in file id %d",
- exoid);
- ex_err("ex_open", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- stat_att = nc_inq_att(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, &att_type, &att_len);
- stat_dim = nc_inq_dimid(exoid, DIM_STR_NAME, &dim_str_name);
- if(stat_att != NC_NOERR || stat_dim != NC_NOERR) {
- nc_redef(exoid);
- if (stat_att != NC_NOERR) {
- int max_so_far = 32;
- nc_put_att_int(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, NC_INT, 1, &max_so_far);
- }
-
- /* If the DIM_STR_NAME variable does not exist on the database, we need to add it now. */
- if(stat_dim != NC_NOERR) {
- /* Not found; set to default value of 32+1. */
- int max_name = ex_default_max_name_length < 32 ? 32 : ex_default_max_name_length;
- nc_def_dim(exoid, DIM_STR_NAME, max_name+1, &dim_str_name);
- }
- nc_enddef (exoid);
- }
- }
-
- /* determine version of EXODUS II file, and the word size of
- * floating point and integer values stored in the file
- */
-
- if ((status = nc_get_att_float(exoid, NC_GLOBAL, ATT_VERSION, version)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to get database version for file id: %d",
- exoid);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* check ExodusII file version - old version 1.x files are not supported */
- if (*version < 2.0) {
- exerrval = EX_FATAL;
- sprintf(errmsg,"Error: Unsupported file version %.2f in file id: %d",
- *version, exoid);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (nc_get_att_int (exoid, NC_GLOBAL, ATT_FLT_WORDSIZE, &file_wordsize) != NC_NOERR)
- { /* try old (prior to db version 2.02) attribute name */
- if (nc_get_att_int (exoid,NC_GLOBAL,ATT_FLT_WORDSIZE_BLANK,&file_wordsize) != NC_NOERR)
- {
- exerrval = EX_FATAL;
- sprintf(errmsg,"Error: failed to get file wordsize from file id: %d",
- exoid);
- ex_err("ex_open",errmsg,exerrval);
- return(exerrval);
- }
- }
-
- /* See if int64 status attribute exists and if so, what data is stored as int64
- * Older files don't have the attribute, so it is not an error if it is missing
- */
- if (nc_get_att_int (exoid, NC_GLOBAL, ATT_INT64_STATUS, &int64_status) != NC_NOERR) {
- int64_status = 0; /* Just in case it gets munged by a failed get_att_int call */
- }
-
- /* Merge in API int64 status flags as specified by caller of function... */
- int64_status |= (mode & EX_ALL_INT64_API);
-
- /* initialize floating point and integer size conversion. */
- if (ex_conv_ini(exoid, comp_ws, io_ws, file_wordsize, int64_status, 0) != EX_NOERR ) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: failed to initialize conversion routines in file id %d",
- exoid);
- ex_err("ex_open", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- return (exoid);
-}
diff --git a/cbind/src/ex_open_par.c b/cbind/src/ex_open_par.c
deleted file mode 100644
index 455af47..0000000
--- a/cbind/src/ex_open_par.c
+++ /dev/null
@@ -1,318 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exopen - ex_open
-*
-* entry conditions -
-* input parameters:
-* char* path exodus filename path
-* int mode access mode w/r
-*
-* exit conditions -
-* int exoid exodus file id
-* int* comp_ws computer word size
-* int* io_ws storage word size
-* float* version EXODUSII interface version number
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdio.h>
-#include <mpi.h>
-
-#include "netcdf_par.h"
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_open() opens an existing exodus file and returns
-an ID that can subsequently be used to refer to the file, the word
-size of the floating point values stored in the file, and the version
-of the exodus database (returned as a ``float'', regardless of the
-compute or I/O word size). Multiple files may be ``open'' simultaneously.
-
-\return In case of an error, ex_open() returns a negative
-number. Possible causes of errors include:
- - The specified file does not exist.
- - The mode specified is something other than the predefined constant \fparam{EX_READ} or \fparam{EX_WRITE}.
- - Database version is earlier than 2.0.
-
-\param path The file name of the exodus file. This can be given as either an
- absolute path name (from the root of the file system) or a relative
- path name (from the current directory).
-
-\param mode Access mode. Use one of the following predefined constants:
- - \fparam{EX_READ} To open the file just for reading.
- - \fparam{EX_WRITE} To open the file for writing and reading.
-
-\param[in,out] comp_ws The word size in bytes (0, 4 or 8) of the floating point variables
- used in the application program. If 0 (zero) is passed, the default
- size of floating point values for the machine will be used and
- returned in this variable. WARNING: all exodus functions requiring
- reals must be passed reals declared with this passed in or returned
- compute word size (4 or 8).
-
-
-\param[in,out] io_ws The word size in bytes (0, 4 or 8) of the floating
- point data as they are stored in the exodus file. If the word
- size does not match the word size of data stored in the file,
- a fatal error is returned. If this argument is 0, the word size
- of the floating point data already stored in the file is returned.
-
-\param[out] version Returned exodus database version number.
-
-The following opens an exodus file named \file{test.exo} for read
-only, using default settings for compute and I/O word sizes:
-
-\code
-#include "exodusII.h"
-int CPU_word_size,IO_word_size, exoid;
-float version;
-
-CPU_word_size = sizeof(float); \co{float or double}
-IO_word_size = 0; \co{use what is stored in file}
-
-\comment{open exodus files}
-exoid = ex_open ("test.exo", \co{filename path}
- EX_READ, \co{access mode = READ}
- &CPU_word_size, \co{CPU word size}
- &IO_word_size, \co{IO word size}
- &version); \co{ExodusII library version}
-\endcode
- */
-
-static int warning_output = 0;
-
-int ex_open_par_int (const char *path,
- int mode,
- int *comp_ws,
- int *io_ws,
- float *version,
- MPI_Comm comm,
- MPI_Info info,
- int run_version)
-{
- int exoid;
- int status, stat_att, stat_dim;
- nc_type att_type = NC_NAT;
- size_t att_len = 0;
- int old_fill;
- int file_wordsize;
- int dim_str_name;
- int int64_status = 0;
- int pariomode = NC_MPIPOSIX;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* set error handling mode to no messages, non-fatal errors */
- ex_opts(exoptval); /* call required to set ncopts first time through */
-
- if (run_version != EX_API_VERS_NODOT && warning_output == 0) {
- int run_version_major = run_version / 100;
- int run_version_minor = run_version % 100;
- int lib_version_major = EX_API_VERS_NODOT / 100;
- int lib_version_minor = EX_API_VERS_NODOT % 100;
- fprintf(stderr, "EXODUS: Warning: This code was compiled with exodus version %d.%02d,\n but was linked with exodus library version %d.%02d\n This is probably an error in the build process of this code.\n",
- run_version_major, run_version_minor, lib_version_major, lib_version_minor);
- warning_output = 1;
- }
-
-
- if ((mode & EX_READ) && (mode & EX_WRITE)) {
- exerrval = EX_BADFILEMODE;
- sprintf(errmsg,"Error: Cannot specify both EX_READ and EX_WRITE");
- ex_err("ex_open",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check parallel io mode. Valid is NC_MPIPOSIX or NC_MPIIO or NC_PNETCDF
- * Exodus uses different flag values; map to netcdf values
- */
- if (mode & EX_MPIPOSIX)
- pariomode = NC_MPIPOSIX;
- else if (mode & EX_MPIIO)
- pariomode = NC_MPIIO;
- else if (mode & EX_PNETCDF)
- pariomode = NC_PNETCDF;
-
-
- /* The EX_READ mode is the default if EX_WRITE is not specified... */
- if (!(mode & EX_WRITE)) { /* READ ONLY */
- if ((status = nc_open_par (path, NC_NOWRITE|NC_SHARE|pariomode, comm, info, &exoid)) != NC_NOERR)
- {
- /* NOTE: netCDF returns an id of -1 on an error - but no error code! */
- if (status == 0) {
- exerrval = EX_FATAL;
- }
- else {
- /* It is possible that the user is trying to open a netcdf4
- file, but the netcdf4 capabilities aren't available in the
- netcdf linked to this library. Note that we can't just use a
- compile-time define since we could be using a shareable
- netcdf library, so the netcdf4 capabilities aren't known
- until runtime...
-
- Netcdf-4.X does not (yet?) have a function that can be
- queried to determine whether the library being used was
- compiled with --enable-netcdf4, so that isn't very
- helpful..
-
- At this time, query the beginning of the file and see if it
- is an HDF-5 file and if it is assume that the open failure
- is due to the netcdf library not enabling netcdf4 features...
- */
- int type = 0;
- ex_check_file_type(path, &type);
-
- if (type == 5) {
- /* This is an hdf5 (netcdf4) file. Since the nc_open failed,
- the assumption is that the netcdf doesn't have netcdf4
- capabilities enabled. Tell the user...
- */
- fprintf(stderr,
- "EXODUS: Error: Attempting to open the netcdf-4 file:\n\t'%s'\n\twith a netcdf library that does not support netcdf-4\n",
- path);
- }
- exerrval = status;
- }
- sprintf(errmsg,"Error: failed to open %s read only",path);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
- }
- else /* (mode & EX_WRITE) READ/WRITE */
- {
- if ((status = nc_open_par (path, NC_WRITE|NC_SHARE|pariomode, comm, info, &exoid)) != NC_NOERR)
- {
- /* NOTE: netCDF returns an id of -1 on an error - but no error code! */
- if (status == 0)
- exerrval = EX_FATAL;
- else
- exerrval = status;
- sprintf(errmsg,"Error: failed to open %s write only",path);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* turn off automatic filling of netCDF variables */
- if ((status = nc_set_fill (exoid, NC_NOFILL, &old_fill)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to set nofill mode in file id %d",
- exoid);
- ex_err("ex_open", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- stat_att = nc_inq_att(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, &att_type, &att_len);
- stat_dim = nc_inq_dimid(exoid, DIM_STR_NAME, &dim_str_name);
- if(stat_att != NC_NOERR || stat_dim != NC_NOERR) {
- nc_redef(exoid);
- if (stat_att != NC_NOERR) {
- int max_so_far = 32;
- nc_put_att_int(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, NC_INT, 1, &max_so_far);
- }
-
- /* If the DIM_STR_NAME variable does not exist on the database, we need to add it now. */
- if(stat_dim != NC_NOERR) {
- /* Not found; set to default value of 32+1. */
- int max_name = ex_default_max_name_length < 32 ? 32 : ex_default_max_name_length;
- nc_def_dim(exoid, DIM_STR_NAME, max_name+1, &dim_str_name);
- }
- nc_enddef (exoid);
- }
- }
-
- /* determine version of EXODUS II file, and the word size of
- * floating point and integer values stored in the file
- */
-
- if ((status = nc_get_att_float(exoid, NC_GLOBAL, ATT_VERSION, version)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to get database version for file id: %d",
- exoid);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* check ExodusII file version - old version 1.x files are not supported */
- if (*version < 2.0) {
- exerrval = EX_FATAL;
- sprintf(errmsg,"Error: Unsupported file version %.2f in file id: %d",
- *version, exoid);
- ex_err("ex_open",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (nc_get_att_int (exoid, NC_GLOBAL, ATT_FLT_WORDSIZE, &file_wordsize) != NC_NOERR)
- { /* try old (prior to db version 2.02) attribute name */
- if (nc_get_att_int (exoid,NC_GLOBAL,ATT_FLT_WORDSIZE_BLANK,&file_wordsize) != NC_NOERR)
- {
- exerrval = EX_FATAL;
- sprintf(errmsg,"Error: failed to get file wordsize from file id: %d",
- exoid);
- ex_err("ex_open",errmsg,exerrval);
- return(exerrval);
- }
- }
-
- /* See if int64 status attribute exists and if so, what data is stored as int64
- * Older files don't have the attribute, so it is not an error if it is missing
- */
- if (nc_get_att_int (exoid, NC_GLOBAL, ATT_INT64_STATUS, &int64_status) != NC_NOERR) {
- int64_status = 0; /* Just in case it gets munged by a failed get_att_int call */
- }
-
- /* Merge in API int64 status flags as specified by caller of function... */
- int64_status |= (mode & EX_ALL_INT64_API);
-
- /* initialize floating point and integer size conversion. */
- if (ex_conv_ini(exoid, comp_ws, io_ws, file_wordsize, int64_status, 1) != EX_NOERR ) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: failed to initialize conversion routines in file id %d",
- exoid);
- ex_err("ex_open", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- return (exoid);
-}
diff --git a/cbind/src/ex_opts.c b/cbind/src/ex_opts.c
deleted file mode 100644
index 07f90d3..0000000
--- a/cbind/src/ex_opts.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*! \cond INTERNAL */
-int ex_default_max_name_length = 32; /* For default compatibility with older clients */
-
-#if defined(VERBOSE)
-int exoptval = EX_VERBOSE; /* loud mode: set EX_VERBOSE */
-#else
-#if defined (DEBUG)
-int exoptval = EX_VERBOSE | EX_DEBUG;/* debug mode: set EX_VERBOSE & EX_DEBUG */
-#else
-int exoptval = EX_DEFAULT; /* set default global options value to NOT print error msgs*/
-#endif
-#endif
-/*! \endcond */
-
-/*!
-The function ex_opts() is used to set message reporting options.
-
-\return In case of an error, ex_opts() returns a negative number; a warning
- will return a positive number.
-
-\param[in] options Integer option value. Current options are shown in the table below.
-
-<table>
-<tr><td> \c EX_ABORT </td><td> Causes fatal errors to force program
- exit. (Default is false.) </td></tr>
-<tr><td> \c EX_DEBUG </td><td> Causes certain messages to print
- for debug use. (Default is false.)</td></tr>
-<tr><td> \c EX_VERBOSE</td><td> Causes all error messages to print when true,
- otherwise no error messages will print. (Default is false.)</td></tr>
-</table>
-
-\note Values may be OR'ed together to provide any combination
- of these capabilities.
-
-For example, the following will cause all messages to print
-and will cause the program to exit upon receipt of fatal error:
-
-\code
-#include "exodusII.h"
-ex_opts(EX_ABORT|EX_VERBOSE);
-\endcode
-
-*/
-void ex_opts (int options)
-{
- exerrval = 0; /* clear error code */
- exoptval = options;
-}
diff --git a/cbind/src/ex_put_all_var_param.c b/cbind/src/ex_put_all_var_param.c
deleted file mode 100644
index 9cb4e63..0000000
--- a/cbind/src/ex_put_all_var_param.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvp - ex_put_all_var_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_g global variable count
-* int num_n nodal variable count
-* int num_e element variable count
-* int* elem_var_tab element variable truth table array
-* int num_m nodeset variable count
-* int* nset_var_tab nodeset variable truth table array
-* int num_s sideset variable count
-* int* sset_var_tab sideset variable truth table array
-*
-* exit conditions -
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * defines the number of global, nodal, element, nodeset, and sideset variables
- * that will be written to the database
-* \param exoid exodus file id
-* \param num_g global variable count
-* \param num_n nodal variable count
-* \param num_e element variable count
-* \param *elem_var_tab element variable truth table array
-* \param num_m nodeset variable count
-* \param *nset_var_tab nodeset variable truth table array
-* \param num_s sideset variable count
-* \param *sset_var_tab sideset variable truth table array
- */
-
-int ex_put_all_var_param (int exoid,
- int num_g,
- int num_n,
- int num_e,
- int *elem_var_tab,
- int num_m,
- int *nset_var_tab,
- int num_s,
- int *sset_var_tab)
-{
- ex_var_params vparam;
-
- vparam.num_glob = num_g;
- vparam.num_node = num_n;
- vparam.num_edge = 0;
- vparam.edge_var_tab = 0;
- vparam.num_face = 0;
- vparam.face_var_tab = 0;
- vparam.num_elem = num_e;
- vparam.elem_var_tab = elem_var_tab;
- vparam.num_nset = num_m;
- vparam.nset_var_tab = nset_var_tab;
- vparam.num_eset = 0;
- vparam.eset_var_tab = 0;
- vparam.num_fset = 0;
- vparam.fset_var_tab = 0;
- vparam.num_sset = num_s;
- vparam.sset_var_tab = sset_var_tab;
- vparam.num_elset = 0;
- vparam.elset_var_tab = 0;
-
- return ex_put_all_var_param_ext( exoid, &vparam );
-}
diff --git a/cbind/src/ex_put_all_var_param_ext.c b/cbind/src/ex_put_all_var_param_ext.c
deleted file mode 100644
index 1b8a5af..0000000
--- a/cbind/src/ex_put_all_var_param_ext.c
+++ /dev/null
@@ -1,561 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvp - ex_put_all_var_param_ext
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* const ex_var_params* vp pointer to variable parameter info
-*
-* exit conditions -
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-static void *safe_free(void *array);
-static int define_dimension(int exoid, const char *DIMENSION, int count, const char *label, int *dimid);
-static int define_variable_name_variable(int exoid, const char *VARIABLE, int dimension,
- const char *label);
-static int *get_status_array(int exoid, int count, const char *VARIABLE, const char *label);
-static int put_truth_table(int exoid, int varid, int *table, const char *label);
-static int define_truth_table(ex_entity_type obj_type, int exoid, int num_ent, int num_var,
- int *var_tab, int *status, void_int *ids, const char *label);
-
-#define EX_GET_IDS_STATUS(TNAME,NUMVAR,DNAME,DID,DVAL,VIDS,EIDS,VSTAT,VSTATVAL) \
- if (NUMVAR > 0) { \
- status = ex_get_dimension(exoid, DNAME, TNAME "s", &DVAL, &DID, routine); \
- if (status != NC_NOERR) \
- goto error_ret; \
- \
- /* get element block IDs */ \
- if (!(VIDS = malloc(DVAL*sizeof(int64_t)))) { \
- exerrval = EX_MEMFAIL; \
- sprintf(errmsg, \
- "Error: failed to allocate memory for " TNAME " id array for file id %d", \
- exoid); \
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval); \
- goto error_ret; \
- } \
- ex_get_ids (exoid, EIDS, VIDS); \
- \
- /* Get element block status array for later use (allocates memory) */ \
- VSTATVAL = get_status_array(exoid, DVAL, VSTAT, TNAME); \
- if (VSTATVAL == NULL) { \
- goto error_ret; \
- } \
- }
-
-/*!
- * writes the number of global, nodal, element, nodeset, and sideset variables
- * that will be written to the database
- * \param exoid exodus file id
- * \param *vp pointer to variable parameter info
- */
-
-int ex_put_all_var_param_ext ( int exoid,
- const ex_var_params* vp )
-{
- int in_define = 0;
- int status;
- int temp;
- int time_dim, num_nod_dim, dimid;
- size_t num_elem_blk, num_edge_blk, num_face_blk;
- size_t num_nset, num_eset, num_fset, num_sset, num_elset;
- int numelblkdim, numelvardim, numedvardim, numedblkdim,
- numfavardim, numfablkdim, numnsetdim, nsetvardim,
- numesetdim, esetvardim, numfsetdim, fsetvardim,
- numssetdim, ssetvardim, numelsetdim, elsetvardim;
- int i;
-
- int edblk_varid, fablk_varid, eblk_varid, nset_varid,
- eset_varid, fset_varid, sset_varid, elset_varid, varid;
-
- void_int* eblk_ids = 0;
- void_int* edblk_ids = 0;
- void_int* fablk_ids = 0;
- void_int* nset_ids = 0;
- void_int* eset_ids = 0;
- void_int* fset_ids = 0;
- void_int* sset_ids = 0;
- void_int* elset_ids = 0;
-
- int* eblk_stat = 0;
- int* edblk_stat = 0;
- int* fablk_stat = 0;
- int* nset_stat = 0;
- int* eset_stat = 0;
- int* fset_stat = 0;
- int* sset_stat = 0;
- int* elset_stat = 0;
-
- int dims[3];
- char errmsg[MAX_ERR_LENGTH];
- const char* routine = "ex_put_all_var_param_ext";
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined dimensions */
-
- if ((status = nc_inq_dimid(exoid, DIM_TIME, &time_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate time dimension in file id %d", exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- goto error_ret;
- }
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NODES, &num_nod_dim)) != NC_NOERR) {
- num_nod_dim = -1; /* There is probably no nodes on this file */
- }
-
- /* Check this now so we can use it later without checking for errors */
- if ((status = nc_inq_dimid(exoid, DIM_STR_NAME, &temp)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get string length in file id %d",exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- goto error_ret;
- }
-
- EX_GET_IDS_STATUS( "edge block",vp->num_edge, DIM_NUM_ED_BLK,numedblkdim,num_edge_blk,edblk_ids,EX_EDGE_BLOCK,VAR_STAT_ED_BLK,edblk_stat);
- EX_GET_IDS_STATUS( "face block",vp->num_face, DIM_NUM_FA_BLK,numfablkdim,num_face_blk,fablk_ids,EX_FACE_BLOCK,VAR_STAT_FA_BLK,fablk_stat);
- EX_GET_IDS_STATUS("element block",vp->num_elem, DIM_NUM_EL_BLK,numelblkdim,num_elem_blk, eblk_ids,EX_ELEM_BLOCK,VAR_STAT_EL_BLK, eblk_stat);
- EX_GET_IDS_STATUS( "node set",vp->num_nset, DIM_NUM_NS, numnsetdim, num_nset, nset_ids,EX_NODE_SET, VAR_NS_STAT, nset_stat);
- EX_GET_IDS_STATUS( "edge set",vp->num_eset, DIM_NUM_ES, numesetdim, num_eset, eset_ids,EX_EDGE_SET, VAR_ES_STAT, eset_stat);
- EX_GET_IDS_STATUS( "face set",vp->num_fset, DIM_NUM_FS, numfsetdim, num_fset, fset_ids,EX_FACE_SET, VAR_FS_STAT, fset_stat);
- EX_GET_IDS_STATUS( "side set",vp->num_sset, DIM_NUM_SS, numssetdim, num_sset, sset_ids,EX_SIDE_SET, VAR_SS_STAT, sset_stat);
- EX_GET_IDS_STATUS( "element set",vp->num_elset,DIM_NUM_ELS, numelsetdim,num_elset, elset_ids,EX_ELEM_SET, VAR_ELS_STAT, elset_stat);
-
- /* put file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode", exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- goto error_ret;
- }
- in_define = 1;
-
- /* define dimensions and variables */
- if (vp->num_glob > 0) {
- if (define_dimension(exoid, DIM_NUM_GLO_VAR, vp->num_glob, "global", &dimid) != NC_NOERR)
- goto error_ret;
-
- dims[0] = time_dim;
- dims[1] = dimid;
- if ((status = nc_def_var (exoid, VAR_GLO_VAR, nc_flt_code(exoid), 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define global variables in file id %d",
- exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 2);
-
- /* Now define global variable name variable */
- if (define_variable_name_variable(exoid, VAR_NAME_GLO_VAR, dimid, "global") != NC_NOERR)
- goto error_ret;
- }
-
- if (vp->num_node > 0 && num_nod_dim > 0) {
- /*
- * There are two ways to store the nodal variables. The old way *
- * was a blob (#times,#vars,#nodes), but that was exceeding the
- * netcdf maximum dataset size for large models. The new way is
- * to store #vars separate datasets each of size (#times,#nodes)
- *
- * We want this routine to be capable of storing both formats
- * based on some external flag. Since the storage format of the
- * coordinates have also been changed, we key off of their
- * storage type to decide which method to use for nodal
- * variables. If the variable 'coord' is defined, then store old
- * way; otherwise store new.
- */
- if (define_dimension(exoid, DIM_NUM_NOD_VAR, vp->num_node, "nodal", &dimid) != NC_NOERR)
- goto error_ret;
-
- if (ex_large_model(exoid) == 0) { /* Old way */
- dims[0] = time_dim;
- dims[1] = dimid;
- dims[2] = num_nod_dim;
- if ((status = nc_def_var(exoid, VAR_NOD_VAR,
- nc_flt_code(exoid), 3, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define nodal variables in file id %d",
- exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- } else { /* Store new way */
- for (i = 1; i <= vp->num_node; i++) {
- dims[0] = time_dim;
- dims[1] = num_nod_dim;
- if ((status = nc_def_var(exoid, VAR_NOD_VAR_NEW(i),
- nc_flt_code(exoid), 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define nodal variable %d in file id %d",
- i, exoid);
- ex_err("ex_put_var_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 2);
- }
- }
-
- /* Now define nodal variable name variable */
- if (define_variable_name_variable(exoid, VAR_NAME_NOD_VAR, dimid, "nodal") != NC_NOERR)
- goto error_ret;
- }
-
-#define EX_DEFINE_VARS(TID,STNAME,TNAME,NUMVAR,DNAME,DID1,DID2,DVAL,VIDS,VNOV,VTV,VSTATVAL,VTABVAL,VTABVAR) \
- if (NUMVAR > 0) { \
- status = define_dimension(exoid, DNAME, NUMVAR, STNAME, &DID2); \
- if (status != NC_NOERR) goto error_ret; \
- \
- /* Now define STNAME variable name variable */ \
- if (define_variable_name_variable(exoid, VNOV, DID2, STNAME) != NC_NOERR) \
- goto error_ret; \
- \
- if (define_truth_table(TID, exoid, DVAL, NUMVAR, VTABVAL, VSTATVAL, VIDS, TNAME) != NC_NOERR) \
- goto error_ret; \
- \
- VSTATVAL = safe_free (VSTATVAL); \
- VIDS = safe_free (VIDS); \
- \
- /* create a variable array in which to store the STNAME variable truth \
- * table \
- */ \
- \
- dims[0] = DID1; \
- dims[1] = DID2; \
- \
- if ((status = nc_def_var(exoid, VTV, NC_INT, 2, dims, &VTABVAR)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to define " STNAME " variable truth table in file id %d", \
- exoid); \
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval); \
- goto error_ret; /* exit define mode and return */ \
- } \
- }
- EX_DEFINE_VARS(EX_EDGE_BLOCK, "edge", "edge block",vp->num_edge, DIM_NUM_EDG_VAR, numedblkdim,numedvardim,num_edge_blk,edblk_ids,VAR_NAME_EDG_VAR, VAR_EBLK_TAB, edblk_stat,vp->edge_var_tab,edblk_varid);
- EX_DEFINE_VARS(EX_FACE_BLOCK, "face", "face block",vp->num_face, DIM_NUM_FAC_VAR, numfablkdim,numfavardim,num_face_blk,fablk_ids,VAR_NAME_FAC_VAR, VAR_FBLK_TAB, fablk_stat,vp->face_var_tab,fablk_varid);
- EX_DEFINE_VARS(EX_ELEM_BLOCK,"element","element block",vp->num_elem, DIM_NUM_ELE_VAR, numelblkdim,numelvardim,num_elem_blk, eblk_ids,VAR_NAME_ELE_VAR, VAR_ELEM_TAB, eblk_stat,vp->elem_var_tab,eblk_varid);
- EX_DEFINE_VARS(EX_NODE_SET, "nodeset", "node set",vp->num_nset, DIM_NUM_NSET_VAR, numnsetdim, nsetvardim, num_nset, nset_ids,VAR_NAME_NSET_VAR, VAR_NSET_TAB, nset_stat,vp->nset_var_tab, nset_varid);
- EX_DEFINE_VARS(EX_EDGE_SET, "edgeset", "edge set",vp->num_eset, DIM_NUM_ESET_VAR, numesetdim, esetvardim, num_eset, eset_ids,VAR_NAME_ESET_VAR, VAR_ESET_TAB, eset_stat,vp->eset_var_tab, eset_varid);
- EX_DEFINE_VARS(EX_FACE_SET, "faceset", "face set",vp->num_fset, DIM_NUM_FSET_VAR, numfsetdim, fsetvardim, num_fset, fset_ids,VAR_NAME_FSET_VAR, VAR_FSET_TAB, fset_stat,vp->fset_var_tab, fset_varid);
- EX_DEFINE_VARS(EX_SIDE_SET, "sideset", "side set",vp->num_sset, DIM_NUM_SSET_VAR, numssetdim, ssetvardim, num_sset, sset_ids,VAR_NAME_SSET_VAR, VAR_SSET_TAB, sset_stat,vp->sset_var_tab, sset_varid);
- EX_DEFINE_VARS(EX_ELEM_SET, "elemset", "element set",vp->num_elset,DIM_NUM_ELSET_VAR,numelsetdim,elsetvardim,num_elset, elset_ids,VAR_NAME_ELSET_VAR,VAR_ELSET_TAB,elset_stat,vp->elset_var_tab,elset_varid);
-
- /* leave define mode */
-
- in_define = 0;
- if ((status = nc_enddef (exoid)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition in file id %d",
- exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- goto error_ret;
- }
-
- /* write out the variable truth tables */
- if (vp->num_edge > 0) {
- if (put_truth_table(exoid, edblk_varid, vp->edge_var_tab, "edge") != NC_NOERR)
- goto error_ret;
- }
-
- if (vp->num_face > 0) {
- if (put_truth_table(exoid, fablk_varid, vp->face_var_tab, "face") != NC_NOERR)
- goto error_ret;
- }
-
- if (vp->num_elem > 0) {
- if (put_truth_table(exoid, eblk_varid, vp->elem_var_tab, "element") != NC_NOERR)
- goto error_ret;
- }
-
- if (vp->num_nset > 0) {
- if (put_truth_table(exoid, nset_varid, vp->nset_var_tab, "nodeset") != NC_NOERR)
- goto error_ret;
- }
-
- if (vp->num_eset > 0) {
- if (put_truth_table(exoid, eset_varid, vp->eset_var_tab, "edgeset") != NC_NOERR)
- goto error_ret;
- }
-
- if (vp->num_fset > 0) {
- if (put_truth_table(exoid, fset_varid, vp->fset_var_tab, "faceset") != NC_NOERR)
- goto error_ret;
- }
-
- if (vp->num_sset > 0) {
- if (put_truth_table(exoid, sset_varid, vp->sset_var_tab, "sideset") != NC_NOERR)
- goto error_ret;
- }
-
- if (vp->num_elset > 0) {
- if (put_truth_table(exoid, elset_varid, vp->elset_var_tab, "elemset") != NC_NOERR)
- goto error_ret;
- }
-
- return(EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (in_define == 1) {
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- }
- }
- safe_free(eblk_ids);
- safe_free(edblk_ids);
- safe_free(fablk_ids);
- safe_free(nset_ids);
- safe_free(eset_ids);
- safe_free(fset_ids);
- safe_free(sset_ids);
- safe_free(elset_ids);
-
- safe_free(eblk_stat);
- safe_free(edblk_stat);
- safe_free(fablk_stat);
- safe_free(nset_stat);
- safe_free(eset_stat);
- safe_free(fset_stat);
- safe_free(sset_stat);
- safe_free(elset_stat);
- return(EX_FATAL);
-}
-
-static int define_dimension(int exoid, const char *DIMENSION, int count, const char *label, int *dimid)
-{
- char errmsg[MAX_ERR_LENGTH];
- int status;
- if ((status = nc_def_dim(exoid, DIMENSION, count, dimid)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) {
- sprintf(errmsg,
- "Error: %s variable name parameters are already defined in file id %d",
- label, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- } else {
- sprintf(errmsg,
- "Error: failed to define number of %s variables in file id %d",
- label, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- }
- }
- return status;
-}
-
-static int define_variable_name_variable(int exoid, const char *VARIABLE, int dimension, const char *label)
-{
- char errmsg[MAX_ERR_LENGTH];
- int dims[2];
- int variable;
- int status;
-
- dims[0] = dimension;
- nc_inq_dimid(exoid, DIM_STR_NAME, &dims[1]); /* Checked earlier, so known to exist */
-
- if ((status=nc_def_var(exoid, VARIABLE, NC_CHAR, 2, dims, &variable)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: %s variable names are already defined in file id %d",
- label, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
-
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s variable names in file id %d",
- label, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- }
- }
- return status;
-}
-
-static int *get_status_array(int exoid, int var_count, const char *VARIABLE, const char *label)
-{
- char errmsg[MAX_ERR_LENGTH];
- int varid;
- int status;
- int *stat_vals = NULL;
-
- if (!(stat_vals = malloc(var_count*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for %s status array for file id %d",
- label, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- return (NULL);
- }
-
- /* get variable id of status array */
- if ((nc_inq_varid (exoid, VARIABLE, &varid)) == NC_NOERR) {
- /* if status array exists (V 2.01+), use it, otherwise assume
- object exists to be backward compatible */
-
- if ((status = nc_get_var_int(exoid, varid, stat_vals)) != NC_NOERR) {
- exerrval = status;
- safe_free(stat_vals);
- sprintf(errmsg,
- "Error: failed to get %s status array from file id %d",
- label, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- return (NULL);
- }
- } else {
- /* status array doesn't exist (V2.00), dummy one up for later checking */
- int i;
- for(i=0; i<var_count; i++)
- stat_vals[i] = 1;
- }
- return stat_vals;
-}
-
-static void *safe_free(void *array)
-{
- if (array != 0) free(array);
- return 0;
-}
-
-static int put_truth_table(int exoid, int varid, int *table, const char *label)
-{
- int iresult = 0;
- char errmsg[MAX_ERR_LENGTH];
-
- iresult = nc_put_var_int(exoid, varid, table);
-
- if (iresult != NC_NOERR) {
- exerrval = iresult;
- sprintf(errmsg,
- "Error: failed to store %s variable truth table in file id %d",
- label, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- }
- return iresult;
-}
-
-static int define_truth_table(ex_entity_type obj_type, int exoid, int num_ent, int num_var,
- int *var_tab, int *status_tab, void_int *ids, const char *label)
-{
- char errmsg[MAX_ERR_LENGTH];
- int k = 0;
- int i, j;
- int time_dim;
- int dims[2];
- int varid;
- int status;
-
- nc_inq_dimid(exoid, DIM_TIME, &time_dim);
-
- if (var_tab == NULL) {
- exerrval = EX_NULLENTITY;
- sprintf(errmsg,
- "Error: %s variable truth table is NULL in file id %d", label, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg, exerrval);
- return -1;
- }
-
- for (i=0; i<num_ent; i++) {
- int64_t id;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API)
- id = ((int64_t*)ids)[i];
- else
- id = ((int*)ids)[i];
-
- for (j=1; j<=num_var; j++) {
-
- /* check if variables are to be put out for this block */
- if (var_tab[k] != 0) {
- if (status_tab[i] != 0) {/* only define variable if active */
- dims[0] = time_dim;
-
- /* Determine number of entities in entity */
- /* Need way to make this more generic... */
- status = nc_inq_dimid(exoid, ex_dim_num_entries_in_object( obj_type, i+1 ), &dims[1]);
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of entities in %s %"PRId64" in file id %d",
- label, id, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- return status;
- }
-
- /* define netCDF variable to store variable values;
- * the j index cycles from 1 through the number of variables so
- * that the index of the EXODUS II variable (which is part of
- * the name of the netCDF variable) will begin at 1 instead of 0
- */
- status = nc_def_var(exoid, ex_name_var_of_object( obj_type, j, i+1 ),
- nc_flt_code(exoid), 2, dims, &varid);
- if (status != NC_NOERR) {
- if (status != NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s variable for %s %"PRId64" in file id %d",
- label, label, id, exoid);
- ex_err("ex_put_all_var_param_ext",errmsg,exerrval);
- return status;
- }
- }
- ex_compress_variable(exoid, varid, 2);
- }
- } /* if */
- k++; /* increment truth table pointer */
- } /* for j */
- } /* for i */
- return NC_NOERR;
-}
diff --git a/cbind/src/ex_put_attr.c b/cbind/src/ex_put_attr.c
deleted file mode 100644
index 4b910a0..0000000
--- a/cbind/src/ex_put_attr.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expatt - ex_put_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int blk_type block type
-* int blk_id block id
-* float* attrib array of attributes
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the attributes for an edge/face/element block
- * \param exoid exodus file id
- * \param blk_type block type
- * \param blk_id block id
- * \param attrib array of attributes
- */
-
-int ex_put_attr (int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- const void *attrib)
-{
- int status;
- int attrid, blk_id_ndx;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if ( blk_type != EX_NODAL ) {
- /* Determine index of blk_id in VAR_ID_EL_BLK array */
- blk_id_ndx = ex_id_lkup(exoid,blk_type,blk_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this block */
- } else {
- sprintf(errmsg,
- "Error: no %s id %"PRId64" in in file id %d",
- ex_name_of_object(blk_type), blk_id, exoid);
- ex_err("ex_put_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
-
- switch (blk_type) {
- case EX_SIDE_SET:
- status = nc_inq_varid (exoid, VAR_SSATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_NODE_SET:
- status = nc_inq_varid (exoid, VAR_NSATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_EDGE_SET:
- status = nc_inq_varid (exoid, VAR_ESATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_FACE_SET:
- status = nc_inq_varid (exoid, VAR_FSATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_ELEM_SET:
- status = nc_inq_varid (exoid, VAR_ELSATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_NODAL:
- status = nc_inq_varid (exoid, VAR_NATTRIB, &attrid);
- break;
- case EX_EDGE_BLOCK:
- status = nc_inq_varid (exoid, VAR_EATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_FACE_BLOCK:
- status = nc_inq_varid (exoid, VAR_FATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_ELEM_BLOCK:
- status = nc_inq_varid (exoid, VAR_ATTRIB(blk_id_ndx), &attrid);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- blk_type,exoid);
- ex_err("ex_put_attr",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attribute variable for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out the attributes */
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_var_float(exoid, attrid, attrib);
- } else {
- status = nc_put_var_double(exoid, attrid, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_put_attr_names.c b/cbind/src/ex_put_attr_names.c
deleted file mode 100644
index 9d77d4a..0000000
--- a/cbind/src/ex_put_attr_names.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expatn - ex_put_attr_names
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int blk_type block type (edge, face, elem)
-* int blk_id block id
-* char* names ptr to array of attribute names
-
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
- * writes the attribute names for a block
- * \param exoid exodus file id
- * \param blk_type block type (edge, face, elem)
- * \param blk_id block id
- * \param names ptr to array of attribute names
- */
-int ex_put_attr_names(int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- char* names[])
-{
- int varid, numattrdim, blk_id_ndx;
- size_t num_attr;
-
- int status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- blk_id_ndx = ex_id_lkup(exoid, blk_type, blk_id);
-
- /* Determine index of blk_id in blk_id_ndx array */
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_attr_names",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this block */
- } else {
- sprintf(errmsg,
- "Error: no %s id %"PRId64" in %s array in file id %d",
- ex_name_of_object(blk_type), blk_id, VAR_ID_EL_BLK, exoid);
- ex_err("ex_put_attr_names",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions */
- switch (blk_type) {
- case EX_SIDE_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_SS(blk_id_ndx), &numattrdim);
- break;
- case EX_NODE_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_NS(blk_id_ndx), &numattrdim);
- break;
- case EX_EDGE_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_ES(blk_id_ndx), &numattrdim);
- break;
- case EX_FACE_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_FS(blk_id_ndx), &numattrdim);
- break;
- case EX_ELEM_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_ELS(blk_id_ndx), &numattrdim);
- break;
- case EX_NODAL:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_NBLK, &numattrdim);
- break;
- case EX_EDGE_BLOCK:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_EBLK(blk_id_ndx), &numattrdim);
- break;
- case EX_FACE_BLOCK:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_FBLK(blk_id_ndx), &numattrdim);
- break;
- case EX_ELEM_BLOCK:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_BLK(blk_id_ndx), &numattrdim);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- blk_type,exoid);
- ex_err("ex_put_attr_names",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: number of attributes not defined for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_attr_names",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- if ((status = nc_inq_dimlen(exoid, numattrdim, &num_attr)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_attr_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- switch (blk_type) {
- case EX_SIDE_SET:
- status = nc_inq_varid (exoid, VAR_NAME_SSATTRIB(blk_id_ndx), &varid);
- break;
- case EX_NODE_SET:
- status = nc_inq_varid (exoid, VAR_NAME_NSATTRIB(blk_id_ndx), &varid);
- break;
- case EX_EDGE_SET:
- status = nc_inq_varid (exoid, VAR_NAME_ESATTRIB(blk_id_ndx), &varid);
- break;
- case EX_FACE_SET:
- status = nc_inq_varid (exoid, VAR_NAME_FSATTRIB(blk_id_ndx), &varid);
- break;
- case EX_ELEM_SET:
- status = nc_inq_varid (exoid, VAR_NAME_ELSATTRIB(blk_id_ndx), &varid);
- break;
- case EX_NODAL:
- status = nc_inq_varid (exoid, VAR_NAME_NATTRIB, &varid);
- break;
- case EX_EDGE_BLOCK:
- status = nc_inq_varid (exoid, VAR_NAME_EATTRIB(blk_id_ndx), &varid);
- break;
- case EX_FACE_BLOCK:
- status = nc_inq_varid (exoid, VAR_NAME_FATTRIB(blk_id_ndx), &varid);
- break;
- case EX_ELEM_BLOCK:
- status = nc_inq_varid (exoid, VAR_NAME_ATTRIB(blk_id_ndx), &varid);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- blk_type,exoid);
- ex_err("ex_put_attr_names",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s attribute names for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),ex_name_of_object(blk_type),blk_id, exoid);
- ex_err("ex_put_attr_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out the attributes */
- status = ex_put_names_internal(exoid, varid, num_attr, names, blk_type,
- "attribute", "ex_put_attr_names");
-
- return(status);
-}
diff --git a/cbind/src/ex_put_attr_param.c b/cbind/src/ex_put_attr_param.c
deleted file mode 100644
index 9ffcf8b..0000000
--- a/cbind/src/ex_put_attr_param.c
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expmp - ex_put_attr_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type block/set type (node, edge, face, elem)
-* int obj_id block/set id (ignored for NODAL)
-* int num_attrs number of attributes
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * defines the number of attributes.
- * \param exoid exodus file id
- * \param obj_type block/set type (node, edge, face, elem)
- * \param obj_id block/set id (ignored for NODAL)
- * \param num_attrs number of attributes
- */
-
-int ex_put_attr_param (int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int num_attrs)
-{
- int status;
- int dims[2];
- int strdim, varid;
-
- char errmsg[MAX_ERR_LENGTH];
- const char *dnumobjent;
- const char *dnumobjatt;
- const char *vobjatt;
- const char *vattnam;
- int numobjentdim;
- int obj_id_ndx;
- int numattrdim;
-
- /* Determine index of obj_id in obj_type id array */
- if (obj_type == EX_NODAL)
- obj_id_ndx = 0;
- else {
- obj_id_ndx = ex_id_lkup(exoid,obj_type,obj_id);
-
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes found for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_put_attr_param",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this object */
- } else {
- sprintf(errmsg,
- "Warning: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(obj_type),obj_id, exoid);
- ex_err("ex_put_attr_param",errmsg,exerrval);
- return (EX_WARN);
- }
- }
- }
-
- switch (obj_type) {
- case EX_SIDE_SET:
- dnumobjent = DIM_NUM_SIDE_SS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_SS(obj_id_ndx);
- vobjatt = VAR_SSATTRIB(obj_id_ndx);
- vattnam = VAR_NAME_SSATTRIB(obj_id_ndx);
- break;
- case EX_NODE_SET:
- dnumobjent = DIM_NUM_NOD_NS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_NS(obj_id_ndx);
- vobjatt = VAR_NSATTRIB(obj_id_ndx);
- vattnam = VAR_NAME_NSATTRIB(obj_id_ndx);
- break;
- case EX_EDGE_SET:
- dnumobjent = DIM_NUM_EDGE_ES(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ES(obj_id_ndx);
- vobjatt = VAR_ESATTRIB(obj_id_ndx);
- vattnam = VAR_NAME_ESATTRIB(obj_id_ndx);
- break;
- case EX_FACE_SET:
- dnumobjent = DIM_NUM_FACE_FS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FS(obj_id_ndx);
- vobjatt = VAR_FSATTRIB(obj_id_ndx);
- vattnam = VAR_NAME_FSATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_SET:
- dnumobjent = DIM_NUM_ELE_ELS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ELS(obj_id_ndx);
- vobjatt = VAR_ELSATTRIB(obj_id_ndx);
- vattnam = VAR_NAME_ELSATTRIB(obj_id_ndx);
- break;
- case EX_NODAL:
- dnumobjent = DIM_NUM_NODES;
- dnumobjatt = DIM_NUM_ATT_IN_NBLK;
- vobjatt = VAR_NATTRIB;
- vattnam = VAR_NAME_NATTRIB;
- break;
- case EX_EDGE_BLOCK:
- dnumobjent = DIM_NUM_ED_IN_EBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_EBLK(obj_id_ndx);
- vobjatt = VAR_EATTRIB(obj_id_ndx);
- vattnam = VAR_NAME_EATTRIB(obj_id_ndx);
- break;
- case EX_FACE_BLOCK:
- dnumobjent = DIM_NUM_FA_IN_FBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FBLK(obj_id_ndx);
- vobjatt = VAR_FATTRIB(obj_id_ndx);
- vattnam = VAR_NAME_FATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_BLOCK:
- dnumobjent = DIM_NUM_EL_IN_BLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_BLK(obj_id_ndx);
- vobjatt = VAR_ATTRIB(obj_id_ndx);
- vattnam = VAR_NAME_ATTRIB(obj_id_ndx);
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Bad block type (%d) specified for file id %d",
- obj_type, exoid );
- ex_err("ex_put_attr_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- exerrval = 0; /* clear error code */
-
- if ((status = nc_inq_dimid(exoid, dnumobjent, &numobjentdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of entries for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_put_attr_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* put netcdf file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to place file id %d into define mode",exoid);
- ex_err("ex_put_attr_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_def_dim(exoid, dnumobjatt, num_attrs, &numattrdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of attributes in %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type), obj_id,exoid);
- ex_err("ex_put_attr_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- dims[0] = numobjentdim;
- dims[1] = numattrdim;
-
- if ((status = nc_def_var(exoid, vobjatt, nc_flt_code(exoid), 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type), obj_id,exoid);
- ex_err("ex_put_attr_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 2);
-
- /* inquire previously defined dimensions */
- if ((status = nc_inq_dimid(exoid, DIM_STR_NAME, &strdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get string length in file id %d",exoid);
- ex_err("ex_put_attr_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Attribute names... */
- dims[0] = numattrdim;
- dims[1] = strdim;
-
- if ((status = nc_def_var(exoid, vattnam, NC_CHAR, 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s attribute name array in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("ex_put_attr_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* leave define mode */
- if ((status = nc_enddef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete %s attribute parameter definition in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("ex_put_attr_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_attr_param",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_block.c b/cbind/src/ex_put_block.c
deleted file mode 100644
index 85a5b52..0000000
--- a/cbind/src/ex_put_block.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expblk - ex_put_block: write edge, face, or element block parameters
-*
-* entry conditions -
-* input parameters:
-* int idexo exodus file id
-* int blk_type type of block (edge, face, or element)
-* int blk_id block identifer
-* char* entry_descrip string describing shape of entries in the block
-* int num_entries_this_blk number of entries(records) in the block
-* int num_nodes_per_entry number of nodes per block entry
-* int num_edges_per_entry number of edges per block entry
-* int num_faces_per_entry number of faces per block entry
-* int num_attr_per_entry number of attributes per block entry
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
- * writes the parameters used to describe an element/face/edge block
- * \param exoid exodus file id
- * \param blk_type type of block (edge, face, or element)
- * \param blk_id block identifer
- * \param entry_descrip string describing shape of entries in the block
- * \param num_entries_this_blk number of entries(records) in the block
- * \param num_nodes_per_entry number of nodes per block entry
- * \param num_edges_per_entry number of edges per block entry
- * \param num_faces_per_entry number of faces per block entry
- * \param num_attr_per_entry number of attributes per block entry
- */
-
-int ex_put_block( int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- const char* entry_descrip,
- int64_t num_entries_this_blk,
- int64_t num_nodes_per_entry,
- int64_t num_edges_per_entry,
- int64_t num_faces_per_entry,
- int64_t num_attr_per_entry )
-{
- ex_block block;
- block.type = blk_type;
- block.id = blk_id;
- strcpy(block.topology, entry_descrip);
- block.num_entry = num_entries_this_blk;
- block.num_nodes_per_entry = num_nodes_per_entry;
- block.num_edges_per_entry = num_edges_per_entry;
- block.num_faces_per_entry = num_faces_per_entry;
- block.num_attribute = num_attr_per_entry;
-
- return ex_put_block_param(exoid, block);
-}
-
diff --git a/cbind/src/ex_put_block_param.c b/cbind/src/ex_put_block_param.c
deleted file mode 100644
index 4531c29..0000000
--- a/cbind/src/ex_put_block_param.c
+++ /dev/null
@@ -1,560 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expblk - ex_put_block: write edge, face, or element block parameters
-*
-* entry conditions -
-* input parameters:
-* int idexo exodus file id
-* int blk_type type of block (edge, face, or element)
-* int blk_id block identifer
-* char* entry_descrip string describing shape of entries in the block
-* int num_entries_this_blk number of entries(records) in the block
-* int num_nodes_per_entry number of nodes per block entry
-* int block.num_edges_per_entry number of edges per block entry
-* int block.num_faces_per_entry number of faces per block entry
-* int num_attribute number of attributes per block entry
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
- * writes the parameters used to describe an element/face/edge block
- * \param exoid exodus file id
- * \param block ex_block structure describing block counts
- */
-
-int ex_put_block_param( int exoid,
- const ex_block block)
-{
- int conn_int_type;
- int status;
- int arbitrary_polyhedra = 0; /* 1 if block is arbitrary 2d polyhedra type; 2 if 3d polyhedra */
- int att_name_varid = -1;
- int varid, dimid, dims[2], blk_id_ndx, blk_stat, strdim;
- size_t start[2];
- int num_blk;
- size_t temp;
- int cur_num_blk, numblkdim, numattrdim;
- int nnodperentdim = -1;
- int nedgperentdim = -1;
- int nfacperentdim = -1;
- int connid;
- int npeid;
- char errmsg[MAX_ERR_LENGTH];
- char entity_type1[5];
- char entity_type2[5];
- const char* dnumblk = NULL;
- const char* vblkids = NULL;
- const char* vblksta = NULL;
- const char* vnodcon = NULL;
- const char* vnpecnt = NULL;
- const char* vedgcon = NULL;
- const char* vfaccon = NULL;
- const char* vconn = NULL;
- const char* vattnam = NULL;
- const char* vblkatt = NULL;
- const char* dneblk = NULL;
- const char* dnape = NULL;
- const char* dnnpe = NULL;
- const char* dnepe = NULL;
- const char* dnfpe = NULL;
-
- exerrval = 0; /* clear error code */
-
- switch (block.type) {
- case EX_EDGE_BLOCK:
- dnumblk = DIM_NUM_ED_BLK;
- vblkids = VAR_ID_ED_BLK;
- vblksta = VAR_STAT_ED_BLK;
- break;
- case EX_FACE_BLOCK:
- dnumblk = DIM_NUM_FA_BLK;
- vblkids = VAR_ID_FA_BLK;
- vblksta = VAR_STAT_FA_BLK;
- break;
- case EX_ELEM_BLOCK:
- dnumblk = DIM_NUM_EL_BLK;
- vblkids = VAR_ID_EL_BLK;
- vblksta = VAR_STAT_EL_BLK;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg, "Error: Bad block type (%d) specified for file id %d",
- block.type, exoid );
- ex_err( "ex_put_block", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- /* first check if any element blocks are specified */
-
- if ((status = ex_get_dimension(exoid, dnumblk, ex_name_of_object(block.type),
- &temp, &dimid, "ex_put_block")) != NC_NOERR) {
- return EX_FATAL;
- }
- num_blk = temp;
-
- /* Next: Make sure that this is not a duplicate element block id by
- searching the vblkids array.
- WARNING: This must be done outside of define mode because id_lkup accesses
- the database to determine the position
- */
-
- if ((status = nc_inq_varid(exoid, vblkids, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s ids in file id %d",
- ex_name_of_object(block.type), exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- }
-
- ex_id_lkup(exoid,block.type,block.id); /* Error value used, but don't need return value */
- if (exerrval != EX_LOOKUPFAIL) { /* found the element block id */
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: %s id %"PRId64" already exists in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Keep track of the total number of element blocks defined using a counter
- stored in a linked list keyed by exoid.
- NOTE: ex_get_file_item is a function that finds the number of element
- blocks for a specific file and returns that value incremented.
- */
- cur_num_blk=ex_get_file_item(exoid, ex_get_counter_list(block.type));
- if (cur_num_blk >= num_blk) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: exceeded number of %ss (%d) defined in file id %d",
- ex_name_of_object(block.type), num_blk,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* NOTE: ex_get_file_item is a function that finds the number of element
- blocks for a specific file and returns that value incremented. */
- cur_num_blk=ex_inc_file_item(exoid, ex_get_counter_list(block.type));
- start[0] = cur_num_blk;
-
- /* write out block id to previously defined id array variable*/
- status = nc_put_var1_longlong(exoid, varid, start, (long long*)&block.id);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s id to file id %d",
- ex_name_of_object(block.type), exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- blk_id_ndx = start[0]+1; /* element id index into vblkids array*/
-
- if (block.num_entry == 0) /* Is this a NULL element block? */
- blk_stat = 0; /* change element block status to NULL */
- else
- blk_stat = 1; /* change element block status to TRUE */
-
- if ((status = nc_inq_varid (exoid, vblksta, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s status in file id %d",
- ex_name_of_object(block.type), exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_put_var1_int(exoid, varid, start, &blk_stat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s id %"PRId64" status to file id %d",
- ex_name_of_object(block.type), block.id, exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (block.num_entry == 0) {/* Is this a NULL element block? */
- return(EX_NOERR);
- }
-
-
- /* put netcdf file into define mode */
- if ((status=nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to place file id %d into define mode",exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- switch (block.type) {
- case EX_EDGE_BLOCK:
- dneblk = DIM_NUM_ED_IN_EBLK(blk_id_ndx);
- dnnpe = DIM_NUM_NOD_PER_ED(blk_id_ndx);
- dnepe = 0;
- dnfpe = 0;
- dnape = DIM_NUM_ATT_IN_EBLK(blk_id_ndx);
- vblkatt = VAR_EATTRIB(blk_id_ndx);
- vattnam = VAR_NAME_EATTRIB(blk_id_ndx);
- vnodcon = VAR_EBCONN(blk_id_ndx);
- vedgcon = 0;
- vfaccon = 0;
- break;
- case EX_FACE_BLOCK:
- dneblk = DIM_NUM_FA_IN_FBLK(blk_id_ndx);
- dnnpe = DIM_NUM_NOD_PER_FA(blk_id_ndx);
- dnepe = 0;
- dnfpe = 0;
- dnape = DIM_NUM_ATT_IN_FBLK(blk_id_ndx);
- vblkatt = VAR_FATTRIB(blk_id_ndx);
- vattnam = VAR_NAME_FATTRIB(blk_id_ndx);
- vnodcon = VAR_FBCONN(blk_id_ndx);
- vnpecnt = VAR_FBEPEC(blk_id_ndx);
- vedgcon = 0;
- vfaccon = 0;
- break;
- case EX_ELEM_BLOCK:
- dneblk = DIM_NUM_EL_IN_BLK(blk_id_ndx);
- dnnpe = DIM_NUM_NOD_PER_EL(blk_id_ndx);
- dnepe = DIM_NUM_EDG_PER_EL(blk_id_ndx);
- dnfpe = DIM_NUM_FAC_PER_EL(blk_id_ndx);
- dnape = DIM_NUM_ATT_IN_BLK(blk_id_ndx);
- vblkatt = VAR_ATTRIB(blk_id_ndx);
- vattnam = VAR_NAME_ATTRIB(blk_id_ndx);
- vnodcon = VAR_CONN(blk_id_ndx);
- vnpecnt = VAR_EBEPEC(blk_id_ndx);
- vedgcon = VAR_ECONN(blk_id_ndx);
- vfaccon = VAR_FCONN(blk_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized block type in switch: %d in file id %d",
- block.type,exoid);
- ex_err("ex_put_block",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
- /* define some dimensions and variables*/
-
- if ((status = nc_def_dim(exoid,dneblk,block.num_entry, &numblkdim )) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) { /* duplicate entry */
- exerrval = status;
- sprintf(errmsg,
- "Error: %s %"PRId64" already defined in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of entities/block for %s %"PRId64" file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
-
- if ( dnnpe && block.num_nodes_per_entry > 0) {
- /* A nfaced block would not have any nodes defined... */
- if ((status = nc_def_dim(exoid,dnnpe,block.num_nodes_per_entry, &nnodperentdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of nodes/entity for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- if (dnepe && block.num_edges_per_entry > 0 ) {
- if ((status = nc_def_dim (exoid,dnepe,block.num_edges_per_entry, &nedgperentdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of edges/entity for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- if ( dnfpe && block.num_faces_per_entry > 0 ) {
- if ((status = nc_def_dim(exoid,dnfpe,block.num_faces_per_entry, &nfacperentdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of faces/entity for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- /* element attribute array */
- if (block.num_attribute > 0) {
-
- if ((status = nc_def_dim(exoid, dnape, block.num_attribute, &numattrdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of attributes in %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- dims[0] = numblkdim;
- dims[1] = numattrdim;
-
- if ((status = nc_def_var(exoid, vblkatt, nc_flt_code(exoid), 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 2);
-
- /* inquire previously defined dimensions */
- if ((status = nc_inq_dimid(exoid, DIM_STR_NAME, &strdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get string length in file id %d",exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Attribute names... */
- dims[0] = numattrdim;
- dims[1] = strdim;
-
- if ((status = nc_def_var(exoid, vattnam, NC_CHAR, 2, dims, &att_name_varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s attribute name array in file id %d",
- ex_name_of_object(block.type), exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- conn_int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_BULK_INT64_DB) {
- conn_int_type = NC_INT64;
- }
-
- /* See if storing an 'nsided' element block (arbitrary 2d polyhedra or super element) */
- if (strlen(block.topology) >= 3) {
- if ((block.topology[0] == 'n' || block.topology[0] == 'N') &&
- (block.topology[1] == 's' || block.topology[1] == 'S') &&
- (block.topology[2] == 'i' || block.topology[2] == 'I'))
- arbitrary_polyhedra = 1;
- else if ((block.topology[0] == 'n' || block.topology[0] == 'N') &&
- (block.topology[1] == 'f' || block.topology[1] == 'F') &&
- (block.topology[2] == 'a' || block.topology[2] == 'A'))
- /* If a FACE_BLOCK, then we are dealing with the faces of the nfaced block. */
- arbitrary_polyhedra = block.type == EX_FACE_BLOCK ? 1 : 2;
- }
-
- /* element connectivity array */
- if (arbitrary_polyhedra > 0) {
- if (block.type != EX_FACE_BLOCK && block.type != EX_ELEM_BLOCK) {
- exerrval = EX_BADPARAM;
- sprintf( errmsg, "Error: Bad block type (%d) for nsided/nfaced block in file id %d",
- block.type, exoid );
- ex_err( "ex_put_block", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- if (arbitrary_polyhedra == 1) {
- dims[0] = nnodperentdim;
- vconn = vnodcon;
-
- /* store entity types as attribute of npeid variable -- node/elem, node/face, face/elem*/
- strcpy(entity_type1, "NODE");
- if (block.type == EX_ELEM_BLOCK)
- strcpy(entity_type2, "ELEM");
- else
- strcpy(entity_type2, "FACE");
- } else if (arbitrary_polyhedra == 2) {
- dims[0] = nfacperentdim;
- vconn = vfaccon;
-
- /* store entity types as attribute of npeid variable -- node/elem, node/face, face/elem*/
- strcpy(entity_type1, "FACE");
- strcpy(entity_type2, "ELEM");
- }
-
- if ((status = nc_def_var(exoid, vconn, conn_int_type, 1, dims, &connid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* element face-per-element or node-per-element count array */
- dims[0] = numblkdim;
-
- if ((status = nc_def_var(exoid, vnpecnt, conn_int_type, 1, dims, &npeid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create face- or node- per-entity count array for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id, exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if ((status = nc_put_att_text(exoid, npeid, "entity_type1", strlen(entity_type1)+1,
- entity_type1)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store entity type attribute text for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id, exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- if ((status = nc_put_att_text(exoid, npeid, "entity_type2", strlen(entity_type2)+1,
- entity_type2)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store entity type attribute text for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id, exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- } else {
- /* "Normal" (non-polyhedra) element block type */
- dims[0] = numblkdim;
- dims[1] = nnodperentdim;
-
- if ((status = nc_def_var(exoid, vnodcon, conn_int_type, 2, dims, &connid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, connid, 1);
- }
- /* store element type as attribute of connectivity variable */
- if ((status = nc_put_att_text(exoid, connid, ATT_NAME_ELB, strlen(block.topology)+1,
- block.topology)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s type name %s in file id %d",
- ex_name_of_object(block.type), block.topology,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if (arbitrary_polyhedra == 0) {
- if (vedgcon && block.num_edges_per_entry ) {
- dims[0] = numblkdim;
- dims[1] = nedgperentdim;
-
- if ((status = nc_def_var(exoid, vedgcon, conn_int_type, 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create edge connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- if ( vfaccon && block.num_faces_per_entry ) {
- dims[0] = numblkdim;
- dims[1] = nfacperentdim;
-
- if ((status = nc_def_var(exoid, vfaccon, conn_int_type, 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create face connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(block.type), block.id,exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
- }
- /* leave define mode */
-
- if ((exerrval=nc_enddef (exoid)) != NC_NOERR) {
- sprintf(errmsg,
- "Error: failed to complete %s definition in file id %d",
- ex_name_of_object(block.type), exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Output a dummy empty attribute name in case client code doesn't
- write anything; avoids corruption in some cases.
- */
- if (block.num_attribute > 0 && att_name_varid >= 0) {
- size_t count[2];
- char *text = "";
- size_t i;
-
- count[0] = 1;
- start[1] = 0;
- count[1] = strlen(text)+1;
-
- for (i = 0; i < block.num_attribute; i++) {
- start[0] = i;
- nc_put_vara_text(exoid, att_name_varid, start, count, text);
- }
- }
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_block",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
-
diff --git a/cbind/src/ex_put_cmap_params.c b/cbind/src/ex_put_cmap_params.c
deleted file mode 100644
index eaf0413..0000000
--- a/cbind/src/ex_put_cmap_params.c
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_cmap_params()
- *****************************************************************************
- * This function outputs the communication map parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_cmap_ids - Pointer to vector of nodal communication
- * set IDs.
- * node_cmap_node_cnts - Pointer to a vector which contains a count of
- * the number of FEM nodes for each nodal
- * communication map.
- * elem_cmap_ids - Pointer to vector for retrieval of elemental
- * communication set IDs.
- * elem_cmap_elem_cnts - Pointer to a vector which contains a count of
- * the number of FEM elements for each elemental
- * communication map.
- * processor - The processor the file being read was written
- * for.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-#include <stdint.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_cmap_params(int exoid,
- void_int *node_cmap_ids,
- void_int *node_cmap_node_cnts,
- void_int *elem_cmap_ids,
- void_int *elem_cmap_elem_cnts,
- int64_t processor
- )
-{
- const char *func_name="ex_put_cmap_params";
-
- size_t num_n_comm_maps, num_e_comm_maps;
- size_t ncnt_cmap, ecnt_cmap;
- size_t icm;
- int varid, dimid[1], n_varid, e_varid, status;
- int n_varid_idx, e_varid_idx;
- size_t start[1];
- char ftype[2];
- int64_t nl_ncnt_cmap, nl_ecnt_cmap;
- int nmstat;
-
- char errmsg[MAX_ERR_LENGTH];
-
- int index_type = NC_INT;
- int id_type = NC_INT;
- int format;
- nc_inq_format(exoid, &format);
- if ((ex_int64_status(exoid) & EX_BULK_INT64_DB) || (format == NC_FORMAT_NETCDF4)) {
- index_type = NC_INT64;
- }
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- id_type = NC_INT64;
- }
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /*
- ** with the new database format, this function sould only
- ** be used for writing a parallel file
- */
- /* Get the file type */
- if (ex_get_file_type(exoid, ftype) != EX_NOERR) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: failed to get file type from file ID %d\n",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* make sure that this is a parallel file */
- if (ftype[0] != 'p') {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: function for use with parallel files only, file ID %d\n",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Put NetCDF file into define mode */
- if ((status = nc_redef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to file ID %d into define mode", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Check to see if there are nodal communications maps in the file */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_N_CMAPS, &dimid[0])) != NC_NOERR) {
- num_n_comm_maps = 0;
- }
- else {
- if ((status = nc_inq_dimlen(exoid, dimid[0], &num_n_comm_maps)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_N_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- /*
- * Add dimensions for the size of the number of nodal
- * communication maps.
- */
- if (num_n_comm_maps > 0) {
-
- /* add the communications data index variable */
- if ((status = nc_def_var(exoid, VAR_N_COMM_DATA_IDX, index_type, 1,
- dimid, &n_varid_idx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_N_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Add dimensions for all of the nodal communication maps */
- ncnt_cmap = 0;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- for(icm=0; icm < num_n_comm_maps; icm++) {
- ncnt_cmap += ((int64_t*)node_cmap_node_cnts)[icm];
- }
- } else {
- for(icm=0; icm < num_n_comm_maps; icm++) {
- ncnt_cmap += ((int*)node_cmap_node_cnts)[icm];
- }
- }
-
- if ((status = nc_def_dim(exoid, DIM_NCNT_CMAP, ncnt_cmap, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add dimension for \"%s\" in file ID %d",
- DIM_NCNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define variables for the nodal IDS and processor vectors */
- if ((status = nc_def_var(exoid, VAR_N_COMM_NIDS, id_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_N_COMM_NIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- if ((status = nc_def_var(exoid, VAR_N_COMM_PROC, NC_INT, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_N_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- } /* End "if (num_n_comm_maps > 0)" */
-
- /* Check to see if there are elemental communications maps in the file */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_E_CMAPS, &dimid[0])) != NC_NOERR) {
- num_e_comm_maps = 0;
- }
- else{
- if ((status = nc_inq_dimlen(exoid, dimid[0], &num_e_comm_maps)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_E_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- }
-
- /*
- * Add dimensions for the size of the number of elemental
- * communication maps.
- */
- if (num_e_comm_maps > 0) {
-
- /* add the communications data index variable */
- if ((status = nc_def_var(exoid, VAR_E_COMM_DATA_IDX, index_type, 1,
- dimid, &e_varid_idx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_E_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Add dimensions for each of the nodal communication maps */
- ecnt_cmap = 0;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- for(icm=0; icm < num_e_comm_maps; icm++)
- ecnt_cmap += ((int64_t*)elem_cmap_elem_cnts)[icm];
- } else {
- for(icm=0; icm < num_e_comm_maps; icm++)
- ecnt_cmap += ((int*)elem_cmap_elem_cnts)[icm];
- }
- if ((status = nc_def_dim(exoid, DIM_ECNT_CMAP, ecnt_cmap, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add dimension for \"%s\" in file ID %d",
- DIM_ECNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define variables for the element IDS and processor vectors */
- if ((status = nc_def_var(exoid, VAR_E_COMM_EIDS, id_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_E_COMM_EIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- if ((status = nc_def_var(exoid, VAR_E_COMM_PROC, NC_INT, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_E_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- if ((status = nc_def_var(exoid, VAR_E_COMM_SIDS, NC_INT, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_E_COMM_SIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- } /* End "if (num_e_comm_maps > 0)" */
-
- /* Exit define mode */
- ex_leavedef(exoid, func_name);
-
- /* Set the status of the nodal communication maps */
- if (num_n_comm_maps > 0) {
-
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_STAT, &n_varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- nl_ncnt_cmap = 0; /* reset this for index */
- for(icm=0; icm < num_n_comm_maps; icm++) {
-
- size_t ncnc;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ncnc = ((int64_t*)node_cmap_node_cnts)[icm];
- } else {
- ncnc = ((int*)node_cmap_node_cnts)[icm];
- }
-
- start[0] = icm;
- if (ncnc > 0)
- nmstat = 1;
- else
- nmstat = 0;
-
- if ((status = nc_put_var1_int(exoid, n_varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: unable to output variable in file ID %d", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* increment to the next starting position */
- nl_ncnt_cmap += ncnc;
-
- /* fill the cmap data index */
- if ((status = nc_put_var1_longlong(exoid, n_varid_idx, start, (long long*)&nl_ncnt_cmap)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output int elem map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "for(icm=0; icm < num_n_comm_maps; icm++)" */
-
- /* Get the variable ID for the comm map IDs vector */
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_IDS, &n_varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the nodal comm map IDs */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_var_longlong(exoid, n_varid, node_cmap_ids);
- } else {
- status = nc_put_var_int(exoid, n_varid, node_cmap_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable in file ID %d", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- } /* End "if (num_n_comm_maps > 0)" */
-
- /* Set the status of the elemental communication maps */
- if (num_e_comm_maps > 0) {
-
- /* Get variable ID for elemental status vector */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_STAT, &e_varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- nl_ecnt_cmap = 0; /* reset this for index */
- for(icm=0; icm < num_e_comm_maps; icm++) {
- size_t ecec;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ecec = ((int64_t*)elem_cmap_elem_cnts)[icm];
- } else {
- ecec = ((int*)elem_cmap_elem_cnts)[icm];
- }
- start[0] = icm;
- if (ecec > 0)
- nmstat = 1;
- else
- nmstat = 0;
-
- if ((status = nc_put_var1_int(exoid, e_varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: unable to output variable in file ID %d", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* increment to the next starting position */
- nl_ecnt_cmap += ecec;
-
- /* fill the cmap data index */
- if ((status = nc_put_var1_longlong(exoid, e_varid_idx, start, (long long*)&nl_ecnt_cmap)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output int elem map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "for(icm=0; icm < num_e_comm_maps; icm++)" */
-
- /* Get the variable ID for the elemental comm map IDs vector */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_IDS, &e_varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the elemental comm map IDs */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_var_longlong(exoid, e_varid, elem_cmap_ids);
- } else {
- status = nc_put_var_int(exoid, e_varid, elem_cmap_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable in file ID %d", exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_e_comm_maps > 0)" */
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_cmap_params_cc.c b/cbind/src/ex_put_cmap_params_cc.c
deleted file mode 100644
index a0ba44e..0000000
--- a/cbind/src/ex_put_cmap_params_cc.c
+++ /dev/null
@@ -1,628 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_cmap_params_cc()
- *****************************************************************************
- * This function outputs the concantenated list of communication map
- * parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_cmap_ids - Pointer to vector of nodal communication
- * set IDs.
- * node_cmap_node_cnts - Pointer to a vector which contains a count of
- * the number of FEM nodes for each nodal
- * communication map.
- * elem_cmap_ids - Pointer to vector for retrieval of elemental
- * communication set IDs.
- * elem_cmap_elem_cnts - Pointer to a vector which contains a count of
- * the number of FEM elements for each elemental
- * communication map.
- * proc_ids - The processor the file being read was written
- * for.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_cmap_params_cc(int exoid,
- void_int *node_cmap_ids,
- void_int *node_cmap_node_cnts,
- void_int *node_proc_ptrs,
- void_int *elem_cmap_ids,
- void_int *elem_cmap_elem_cnts,
- void_int *elem_proc_ptrs
- )
-{
- const char *func_name="ex_put_cmap_params_cc";
-
- size_t num_n_comm_maps, num_e_comm_maps, num_procs_in_file;
- int status, icm, n_varid[2], e_varid[2], iproc;
- int varid, n_dimid[1], e_dimid[1];
- int n_varid_idx, e_varid_idx;
- int num_icm;
- size_t start[1], count[1];
- size_t ecnt_cmap, ncnt_cmap;
-
- long long nl_ecnt_cmap, nl_ncnt_cmap;
- long long *n_var_idx = NULL;
- long long *e_var_idx = NULL;
-
- int nmstat;
-
- char errmsg[MAX_ERR_LENGTH];
- int format;
- int index_type, bulk_type;
- /*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* See if using NC_FORMAT_NETCDF4 format... */
- nc_inq_format(exoid, &format);
- if ((ex_int64_status(exoid) & EX_BULK_INT64_DB) || (format == NC_FORMAT_NETCDF4)) {
- index_type = NC_INT64;
- } else {
- index_type = NC_INT;
- }
- if (ex_int64_status(exoid) & EX_BULK_INT64_DB) {
- bulk_type = NC_INT64;
- } else {
- bulk_type = NC_INT;
- }
-
- /* Get the number of processors in the file */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_PROCS_F, &n_dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get dimension ID for \"%s\" in file ID %d",
- DIM_NUM_PROCS_F, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, n_dimid[0], &num_procs_in_file)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_PROCS_F, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /*
- * since I cannot get variables while in define mode, I need to
- * get the cmap information index variables before I go into
- * define mode
- */
-
- /* Check to see if there are nodal communications maps in the file */
- if (nc_inq_dimid(exoid, DIM_NUM_N_CMAPS, &n_dimid[0]) != NC_NOERR) {
- num_n_comm_maps = 0;
- }
- else {
- if ((status = nc_inq_dimlen(exoid, n_dimid[0], &num_n_comm_maps)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in \
-file ID %d",
- DIM_NUM_N_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- if (num_n_comm_maps > 0) {
- /* Get the variable ID for the comm map index vector */
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_INFO_IDX, &n_varid_idx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* allocate space for the index variable */
- n_var_idx = malloc((num_procs_in_file + 1) * sizeof(long long));
- if (!n_var_idx) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: insufficient memory to read index variable from file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* and set the last value of the index */
- n_var_idx[0] = 0;
-
- /* get the communication map info index */
-#if defined(NC_NETCDF4)
- status = nc_get_var_longlong(exoid, n_varid_idx, &(n_var_idx[1]));
-#else
- status = nc_get_var_int(exoid, n_varid_idx, &(n_var_idx[1]));
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_N_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* "if (num_n_comm_maps > 0)" */
-
- /* Check to see if there are elemental communications maps in the file */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_E_CMAPS, &e_dimid[0])) != NC_NOERR) {
- num_e_comm_maps = 0;
- }
- else {
- if ((status = nc_inq_dimlen(exoid, e_dimid[0], &num_e_comm_maps)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in \
-file ID %d",
- DIM_NUM_E_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- if (num_e_comm_maps > 0) {
- /* Get the variable ID for the comm map index vector */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_INFO_IDX, &e_varid_idx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* allocate space for the index variable */
- e_var_idx = malloc((num_procs_in_file + 1) * sizeof(long long));
- if (!e_var_idx) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: insufficient memory to read index variable from file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* and set the first value of the index */
- e_var_idx[0] = 0;
-
- /* get the communication map info index */
-#if defined NC_NETCDF4
- status = nc_get_var_longlong(exoid, e_varid_idx, &(e_var_idx[1]));
-#else
- status = nc_get_var_int(exoid, e_varid_idx, &(e_var_idx[1]));
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_E_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* "if (num_e_comm_maps >0)" */
-
- /* Put NetCDF file into define mode */
- if ((status = nc_redef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file ID %d into define mode", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /*
- * Add dimensions for the size of the number of nodal
- * communication maps.
- */
- if (num_n_comm_maps > 0) {
- /* add the communications data index variable */
- if ((status = nc_def_var(exoid, VAR_N_COMM_DATA_IDX, index_type, 1,
- n_dimid, &n_varid_idx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_N_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* now add up all of the nodal communications maps */
- ncnt_cmap = 0;
- for(iproc=0; iproc < num_procs_in_file; iproc++) {
- num_icm = n_var_idx[iproc+1] - n_var_idx[iproc];
- for(icm=0; icm < num_icm; icm++)
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ncnt_cmap += ((int64_t*)node_cmap_node_cnts)[((int64_t*)node_proc_ptrs)[iproc]+icm];
- } else {
- ncnt_cmap += ((int*)node_cmap_node_cnts)[((int*)node_proc_ptrs)[iproc]+icm];
- }
- }
-
- if ((status = nc_def_dim(exoid, DIM_NCNT_CMAP, ncnt_cmap, &n_dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add dimension for \"%s\" of size %lu in file ID %d",
- DIM_NCNT_CMAP, (unsigned long)ncnt_cmap, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define variables for the nodal IDS and processor vectors */
- if ((status = nc_def_var(exoid, VAR_N_COMM_NIDS, bulk_type, 1, n_dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_N_COMM_NIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- if ((status = nc_def_var(exoid, VAR_N_COMM_PROC, NC_INT, 1, n_dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_N_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- } /* End "if (num_n_comm_maps > 0)" */
-
- /*
- * Add dimensions for the size of the number of elemental
- * communication maps.
- */
- if (num_e_comm_maps > 0) {
- /* add the communications data index variable */
- if ((status = nc_def_var(exoid, VAR_E_COMM_DATA_IDX, index_type, 1,
- e_dimid, &e_varid_idx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_E_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* now add up all of the nodal communications maps */
- ecnt_cmap = 0;
- for(iproc=0; iproc < num_procs_in_file; iproc++) {
- num_icm = e_var_idx[iproc+1] - e_var_idx[iproc];
- for(icm=0; icm < num_icm; icm++)
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- ecnt_cmap += ((int64_t*)elem_cmap_elem_cnts)[((int64_t*)elem_proc_ptrs)[iproc]+icm];
- } else {
- ecnt_cmap += ((int*)elem_cmap_elem_cnts)[((int*)elem_proc_ptrs)[iproc]+icm];
- }
- }
-
- /* Add dimensions for elemental communications maps */
- if ((status = nc_def_dim(exoid, DIM_ECNT_CMAP, ecnt_cmap, &e_dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add dimension for \"%s\" in file ID %d",
- DIM_ECNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define variables for the element IDS and processor vectors */
- if ((status = nc_def_var(exoid, VAR_E_COMM_EIDS, bulk_type, 1, e_dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_E_COMM_EIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- if ((status = nc_def_var(exoid, VAR_E_COMM_PROC, NC_INT, 1, e_dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_E_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- if ((status = nc_def_var(exoid, VAR_E_COMM_SIDS, bulk_type, 1, e_dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add variable \"%s\" in file ID %d",
- VAR_E_COMM_SIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- } /* End "if (num_e_comm_maps > 0)" */
-
-
- /* Exit define mode */
- ex_leavedef(exoid, func_name);
-
- /* Set the status of the nodal communication maps */
- if (num_n_comm_maps > 0) {
-
- /* need to get the two "n_comm_*" variable ids */
-
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_STAT, &n_varid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the comm map IDs vector */
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_IDS, &n_varid[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* reset the index variable */
- nl_ncnt_cmap = 0;
-
- for(iproc=0; iproc < num_procs_in_file; iproc++) {
- size_t proc_ptr;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- proc_ptr = ((int64_t*)node_proc_ptrs)[iproc];
- } else {
- proc_ptr = ((int*)node_proc_ptrs)[iproc];
- }
-
- num_icm = n_var_idx[iproc+1] - n_var_idx[iproc];
- for(icm=0; icm < num_icm; icm++) {
- size_t cnt;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- cnt = ((int64_t*)node_cmap_node_cnts)[proc_ptr+icm];
- } else {
- cnt = ((int*)node_cmap_node_cnts)[proc_ptr+icm];
- }
-
- start[0] = n_var_idx[iproc] + icm;
- if (cnt > 0)
- nmstat = 1;
- else
- nmstat = 0;
-
- if ((status = nc_put_var1_int(exoid, n_varid[0], start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: unable to output variable in file ID %d", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* increment to the next starting position */
- nl_ncnt_cmap += cnt;
-
- /* fill the data index variable */
- status = nc_put_var1_longlong(exoid, n_varid_idx, start, &nl_ncnt_cmap);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output int elem map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "for(icm=0; icm < num_icm; icm++)" */
-
- if (num_icm > 0) {
- /* Output the nodal comm map IDs */
- start[0] = n_var_idx[iproc];
- count[0] = num_icm;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_vara_longlong(exoid, n_varid[1], start, count,
- &((long long*)node_cmap_ids)[proc_ptr]);
- } else {
- status = nc_put_vara_int(exoid, n_varid[1], start, count,
- &((int*)node_cmap_ids)[proc_ptr]);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable in file ID %d", exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- }
- } /* End "for(iproc=0; iproc < num_procs_in_file; iproc++)" */
-
- /* free up memory for index */
- free(n_var_idx);
-
- } /* End "if (num_n_comm_maps > 0)" */
-
-
- /* Set the status of the elemental communication maps */
- if (num_e_comm_maps > 0) {
-
- /* need to get the two "e_comm_*" variables" */
-
- /* Get variable ID for elemental status vector */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_STAT, &e_varid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the elemental comm map IDs vector */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_IDS, &e_varid[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* reset the index variable */
- nl_ecnt_cmap = 0;
-
- for(iproc=0; iproc < num_procs_in_file; iproc++) {
- size_t proc_ptr;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- proc_ptr = ((int64_t*)elem_proc_ptrs)[iproc];
- } else {
- proc_ptr = ((int*)elem_proc_ptrs)[iproc];
- }
- num_icm = e_var_idx[iproc+1] - e_var_idx[iproc];
- for(icm=0; icm < num_icm; icm++) {
-
- size_t cnt;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- cnt = ((int64_t*)elem_cmap_elem_cnts)[proc_ptr+icm];
- } else {
- cnt = ((int*)elem_cmap_elem_cnts)[proc_ptr+icm];
- }
-
- start[0] = e_var_idx[iproc] + icm;
- if (cnt > 0)
- nmstat = 1;
- else
- nmstat = 0;
-
- if ((status = nc_put_var1_int(exoid, e_varid[0], start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: unable to output variable in file ID %d", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* increment to the next starting position */
- nl_ecnt_cmap += cnt;
-
- /* fill the data index variable */
- status = nc_put_var1_longlong(exoid, e_varid_idx, start, &nl_ecnt_cmap);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output int elem map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "for(icm=0; icm < num_icm; icm++)" */
-
- if (num_icm > 0) {
- /* Output the elemental comm map IDs */
- start[0] = e_var_idx[iproc];
- count[0] = num_icm;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_vara_longlong(exoid, e_varid[1], start, count,
- &((long long*)elem_cmap_ids)[proc_ptr]);
- } else {
- status = nc_put_vara_int(exoid, e_varid[1], start, count,
- &((int*)elem_cmap_ids)[proc_ptr]);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable in file ID %d", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
- } /* End "for(iproc=0; iproc < num_procs_in_file; iproc++)" */
-
- free(e_var_idx);
-
- } /* End "if (num_e_comm_maps > 0)" */
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_concat_all_blocks.c b/cbind/src/ex_put_concat_all_blocks.c
deleted file mode 100644
index a3e1b12..0000000
--- a/cbind/src/ex_put_concat_all_blocks.c
+++ /dev/null
@@ -1,621 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expclb - ex_put_concat_all_blocks: write elem, edge, & face block parameters
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* const ex_block_params* bparam block parameters structure
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-
-/*!
- * writes the parameters used to describe all element, edge, and face blocks
- * \param exoid exodus file id
- * \param param block parameters structure
- */
-int ex_put_concat_all_blocks (int exoid,
- const ex_block_params *param)
-{
- int varid, dimid, dims[2], strdim, *eb_stat, *ed_stat, *fa_stat;
- int temp;
- size_t iblk;
- size_t i;
- int status;
- size_t num_elem_blk = 0;
- size_t num_edge_blk = 0;
- size_t num_face_blk = 0;
- int cur_num_elem_blk, nelnoddim, numelbdim, numattrdim, connid=-1;
- int cur_num_edge_blk, numedbdim, nednoddim, cur_num_face_blk, numfabdim, nfanoddim;
- int neledgdim=-1, nelfacdim=-1;
- char errmsg[MAX_ERR_LENGTH];
- int elem_work = 0; /* is DIM_NUM_EL_BLK defined? If so, there's work to do */
- int edge_work = 0; /* is DIM_NUM_ED_BLK defined? If so, there's work to do */
- int face_work = 0; /* is DIM_NUM_FA_BLK defined? If so, there's work to do */
-
- int* edge_id_int = NULL;
- int* face_id_int = NULL;
- int* elem_id_int = NULL;
-
- int64_t* edge_id_int64 = NULL;
- int64_t* face_id_int64 = NULL;
- int64_t* elem_id_int64 = NULL;
-
- int ids_int64 = ex_int64_status(exoid) & EX_IDS_INT64_API;
-
- static const char* dim_num_maps[] = {
- DIM_NUM_NM,
- DIM_NUM_EDM,
- DIM_NUM_FAM,
- DIM_NUM_EM,
- };
- static const char* dim_size_maps[] = {
- DIM_NUM_NODES,
- DIM_NUM_EDGE,
- DIM_NUM_FACE,
- DIM_NUM_ELEM,
- };
- static const ex_entity_type map_enums[] = {
- EX_NODE_MAP,
- EX_EDGE_MAP,
- EX_FACE_MAP,
- EX_ELEM_MAP
- };
-
- /* If param->define_maps is true, we must fill these with values from ex_put_init_ext
- before entering define mode */
- size_t num_maps[sizeof(dim_num_maps)/sizeof(dim_num_maps[0])];
- size_t num_map_dims = sizeof(dim_num_maps)/sizeof(dim_num_maps[0]);
-
- if (ids_int64) {
- edge_id_int64 = param->edge_blk_id;
- face_id_int64 = param->face_blk_id;
- elem_id_int64 = param->elem_blk_id;
- } else {
- edge_id_int = param->edge_blk_id;
- face_id_int = param->face_blk_id;
- elem_id_int = param->elem_blk_id;
- }
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined dimensions */
- if ((status = nc_inq_dimid(exoid, DIM_STR_NAME, &strdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get string length in file id %d",exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ( param->define_maps ) {
- for ( i = 0; i < num_map_dims; ++i ) {
- if ((status = nc_inq_dimid(exoid, dim_num_maps[i], &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf( errmsg, "Error: failed to find node map size of file id %d", exoid );
- ex_err( "ex_put_concat_all_blocks", errmsg, exerrval );
- return (EX_FATAL);
- }
- if ((status = nc_inq_dimlen(exoid, dimid, num_maps+i)) != NC_NOERR) {
- exerrval = status;
- sprintf( errmsg, "Error: failed to retrieve node map size of file id %d", exoid );
- ex_err( "ex_put_concat_all_blocks", errmsg, exerrval );
- return (EX_FATAL);
- }
- }
- }
-
-#define EX_PREPARE_BLOCK(TNAME,WNAME,DNUMNAME,VSTATNAME,VIDNAME,LNUMNAME,SNUMNAME,SIDNAME,GSTAT) \
- /* first check if any TNAME blocks are specified \
- * OK if zero... \
- */ \
- if ((status = (nc_inq_dimid(exoid, DNUMNAME, &dimid))) == NC_NOERR) { \
- WNAME = 1; \
- \
- /* Get number of TNAME blocks defined for this file */ \
- if ((status = nc_inq_dimlen(exoid,dimid,&LNUMNAME)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to get number of " TNAME " blocks in file id %d", \
- exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- \
- /* Fill out the TNAME block status array */ \
- if (!(GSTAT = malloc(LNUMNAME*sizeof(int)))) { \
- exerrval = EX_MEMFAIL; \
- sprintf(errmsg, \
- "Error: failed to allocate space for " TNAME " block status array in file id %d", \
- exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- \
- for (i=0;i<LNUMNAME;i++) { \
- if (SNUMNAME[i] == 0) /* Is this a NULL TNAME block? */ \
- GSTAT[i] = 0; /* change TNAME block status to NULL */ \
- else \
- GSTAT[i] = 1; /* change TNAME block status to TRUE */ \
- } \
- \
- /* Next, get variable id of status array */ \
- if ((status = nc_inq_varid(exoid, VSTATNAME, &varid)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to locate " TNAME " block status in file id %d", \
- exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- \
- status = nc_put_var_int(exoid, varid, GSTAT); \
- \
- if (status != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to store " TNAME " block status array to file id %d", \
- exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- \
- free(GSTAT); \
- \
- /* Next, fill out ids array */ \
- /* first get id of ids array variable */ \
- if ((status = nc_inq_varid(exoid, VIDNAME, &varid)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to locate " TNAME " block ids array in file id %d", \
- exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- \
- /* then, write out id list */ \
- if (ids_int64) { \
- status = nc_put_var_longlong(exoid, varid, SIDNAME); \
- } else { \
- status = nc_put_var_int(exoid, varid, SIDNAME); \
- } \
- \
- if (status != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to store " TNAME " block id array in file id %d", \
- exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- }
-
- EX_PREPARE_BLOCK("element",elem_work,DIM_NUM_EL_BLK,VAR_STAT_EL_BLK,VAR_ID_EL_BLK,
- num_elem_blk,param->num_elem_this_blk,param->elem_blk_id,eb_stat);
- EX_PREPARE_BLOCK( "edge",edge_work,DIM_NUM_ED_BLK,VAR_STAT_ED_BLK,VAR_ID_ED_BLK,
- num_edge_blk,param->num_edge_this_blk,param->edge_blk_id,ed_stat);
- EX_PREPARE_BLOCK( "face",face_work,DIM_NUM_FA_BLK,VAR_STAT_FA_BLK,VAR_ID_FA_BLK,
- num_face_blk,param->num_face_this_blk,param->face_blk_id,fa_stat);
-
- if ( elem_work == 0 && edge_work == 0 && face_work == 0 && param->define_maps == 0 ) {
- /* Nothing to do. This is not an error, but we can save
- * ourselves from entering define mode by returning here.
- */
- return (EX_NOERR);
- }
- /* put netcdf file into define mode */
- if ((status = nc_redef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to place file id %d into define mode",exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-#define EX_PREPARE_ATTRIB_ARRAY(TNAME,CURBLK,DNAME,DVAL,ID,VANAME,VADIM0,VADIM1,VANNAME) \
- if (DVAL[iblk] > 0) { \
- if ((status = nc_def_dim (exoid, \
- DNAME(CURBLK+1), \
- DVAL[iblk], &VADIM1)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to define number of attributes in " TNAME " block %"PRId64" in file id %d", \
- ID,exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- goto error_ret; /* exit define mode and return */ \
- } \
- \
- dims[0] = VADIM0; \
- dims[1] = VADIM1; \
- \
- if ((status = nc_def_var (exoid, VANAME(CURBLK+1), \
- nc_flt_code(exoid), 2, dims, &temp)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to define attributes for " TNAME " block %"PRId64" in file id %d", \
- ID,exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- goto error_ret; /* exit define mode and return */ \
- } \
- ex_compress_variable(exoid, temp, 2); \
- \
- /* Attribute names... */ \
- dims[0] = VADIM1; \
- dims[1] = strdim; \
- \
- if ((status = nc_def_var(exoid, VANNAME(CURBLK+1), NC_CHAR, 2, dims, &temp)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to define " TNAME " attribute name array in file id %d",exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- goto error_ret; /* exit define mode and return */ \
- } \
- }
-
-#define EX_PREPARE_CONN(TNAME,BLK,BLKID,BLKSZ,VNAME,DNAME) \
- if ( DNAME > 0 ) { \
- int conn_int_type = NC_INT; \
- if (ex_int64_status(exoid) & EX_BULK_INT64_DB) { \
- conn_int_type = NC_INT64; \
- } \
- dims[0] = BLKSZ; \
- dims[1] = DNAME; \
- \
- if ((status = nc_def_var(exoid, VNAME(BLK+1), \
- conn_int_type, 2, dims, &connid)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to create " TNAME " connectivity array for block %"PRId64" in file id %d", \
- BLKID,exoid); \
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval); \
- goto error_ret; /* exit define mode and return */ \
- } \
- ex_compress_variable(exoid, connid, 1); \
- }
-
-
- /* Iterate over edge blocks ... */
- for (iblk = 0; iblk < num_edge_blk; ++iblk) {
- ex_entity_id eb_id;
- if (ids_int64)
- eb_id = edge_id_int64[iblk];
- else
- eb_id = edge_id_int[iblk];
-
- cur_num_edge_blk=ex_get_file_item(exoid, ex_get_counter_list(EX_EDGE_BLOCK));
- if (cur_num_edge_blk >= (int)num_edge_blk) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: exceeded number of edge blocks (%ld) defined in file id %d",
- (long)num_edge_blk,exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret;
- }
-
- /* NOTE: ex_inc_file_item is used to find the number of edge blocks
- for a specific file and returns that value incremented. */
- cur_num_edge_blk=ex_inc_file_item(exoid, ex_get_counter_list(EX_EDGE_BLOCK));
-
- if (param->num_edge_this_blk[iblk] == 0) /* Is this a NULL edge block? */
- continue;
-
- /* define some dimensions and variables*/
- if ((status = nc_def_dim(exoid,
- DIM_NUM_ED_IN_EBLK(cur_num_edge_blk+1),
- param->num_edge_this_blk[iblk],&numedbdim)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) { /* duplicate entry */
- sprintf(errmsg,
- "Error: edge block %"PRId64" already defined in file id %d",
- eb_id,exoid);
- } else {
- sprintf(errmsg,
- "Error: failed to define number of edges/block for block %"PRId64" file id %d",
- eb_id,exoid);
- }
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if ((status = nc_def_dim(exoid,
- DIM_NUM_NOD_PER_ED(cur_num_edge_blk+1),
- param->num_nodes_per_edge[iblk],&nednoddim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of nodes/edge for block %"PRId64" in file id %d",
- eb_id,exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* edge attribute array */
- EX_PREPARE_ATTRIB_ARRAY("edge",cur_num_edge_blk,DIM_NUM_ATT_IN_EBLK,param->num_attr_edge,
- eb_id,VAR_EATTRIB,numedbdim,numattrdim,VAR_NAME_EATTRIB);
-
- EX_PREPARE_CONN("edge block",cur_num_edge_blk,
- eb_id,numedbdim,VAR_EBCONN,nednoddim);
-
- /* store edge type as attribute of connectivity variable */
- if ((status = nc_put_att_text(exoid, connid, ATT_NAME_ELB, strlen(param->edge_type[iblk])+1,
- (void*)param->edge_type[iblk])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store edge type name %s in file id %d",
- param->edge_type[iblk],exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- /* Iterate over face blocks ... */
- for (iblk = 0; iblk < num_face_blk; ++iblk) {
- ex_entity_id fb_id;
- if (ids_int64)
- fb_id = face_id_int64[iblk];
- else
- fb_id = face_id_int[iblk];
-
- cur_num_face_blk=ex_get_file_item(exoid, ex_get_counter_list(EX_FACE_BLOCK));
- if (cur_num_face_blk >= (int)num_face_blk) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: exceeded number of face blocks (%ld) defined in file id %d",
- (long)num_face_blk,exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret;
- }
-
- /* NOTE: ex_inc_file_item is used to find the number of edge blocks
- for a specific file and returns that value incremented. */
- cur_num_face_blk=ex_inc_file_item(exoid, ex_get_counter_list(EX_FACE_BLOCK));
-
- if (param->num_face_this_blk[iblk] == 0) /* Is this a NULL face block? */
- continue;
-
- /* define some dimensions and variables*/
- if ((status = nc_def_dim (exoid,
- DIM_NUM_FA_IN_FBLK(cur_num_face_blk+1),
- param->num_face_this_blk[iblk],&numfabdim)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) { /* duplicate entry */
- sprintf(errmsg,
- "Error: face block %"PRId64" already defined in file id %d",
- fb_id,exoid);
- } else {
- sprintf(errmsg,
- "Error: failed to define number of faces/block for block %"PRId64" file id %d",
- fb_id,exoid);
- }
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if ((status = nc_def_dim (exoid,
- DIM_NUM_NOD_PER_FA(cur_num_face_blk+1),
- param->num_nodes_per_face[iblk],&nfanoddim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of nodes/face for block %"PRId64" in file id %d",
- fb_id,exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* face attribute array */
- EX_PREPARE_ATTRIB_ARRAY("face",cur_num_face_blk,DIM_NUM_ATT_IN_FBLK,param->num_attr_face,
- fb_id,VAR_FATTRIB,numfabdim,numattrdim,VAR_NAME_FATTRIB);
-
- EX_PREPARE_CONN("face block",cur_num_face_blk,fb_id,numfabdim,VAR_FBCONN,nfanoddim);
-
- /* store face type as attribute of connectivity variable */
- if ((status = nc_put_att_text(exoid, connid, ATT_NAME_ELB, strlen(param->face_type[iblk])+1,
- (void*)param->face_type[iblk])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store face type name %s in file id %d",
- param->face_type[iblk],exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- /* Iterate over element blocks ... */
- for (iblk = 0; iblk < num_elem_blk; ++iblk) {
- ex_entity_id eb_id;
- if (ids_int64)
- eb_id = elem_id_int64[iblk];
- else
- eb_id = elem_id_int[iblk];
-
- cur_num_elem_blk=ex_get_file_item(exoid, ex_get_counter_list(EX_ELEM_BLOCK));
- if (cur_num_elem_blk >= (int)num_elem_blk) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: exceeded number of element blocks (%ld) defined in file id %d",
- (long)num_elem_blk,exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret;
- }
-
- /* NOTE: ex_inc_file_item is used to find the number of element blocks
- for a specific file and returns that value incremented. */
- cur_num_elem_blk=ex_inc_file_item(exoid, ex_get_counter_list(EX_ELEM_BLOCK));
-
- if (param->num_elem_this_blk[iblk] == 0) /* Is this a NULL element block? */
- continue;
-
- /* define some dimensions and variables*/
- if ((status = nc_def_dim (exoid,
- DIM_NUM_EL_IN_BLK(cur_num_elem_blk+1),
- param->num_elem_this_blk[iblk], &numelbdim)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) { /* duplicate entry */
- sprintf(errmsg,
- "Error: element block %"PRId64" already defined in file id %d",
- eb_id,exoid);
- } else {
- sprintf(errmsg,
- "Error: failed to define number of elements/block for block %"PRId64" file id %d",
- eb_id,exoid);
- }
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* Always define DIM_NUM_NOD_PER_EL, even if zero.
- * Do not define DIM_NUM_EDG_PER_EL or DIM_NUM_FAC_PER_EL unless > 0.
- */
- if ((status = nc_def_dim (exoid,
- DIM_NUM_NOD_PER_EL(cur_num_elem_blk+1),
- param->num_nodes_per_elem[iblk], &nelnoddim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of nodes/element for block %"PRId64" in file id %d",
- eb_id,exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if ( param->num_edges_per_elem[iblk] > 0 ) {
- if ((status = nc_def_dim (exoid,
- DIM_NUM_EDG_PER_EL(cur_num_elem_blk+1),
- param->num_edges_per_elem[iblk],&neledgdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of edges/element for block %"PRId64" in file id %d",
- eb_id,exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- if ( param->num_faces_per_elem[iblk] > 0 ) {
- if ((status = nc_def_dim(exoid,
- DIM_NUM_FAC_PER_EL(cur_num_elem_blk+1),
- param->num_faces_per_elem[iblk],&nelfacdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of faces/element for block %"PRId64" in file id %d",
- eb_id,exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- EX_PREPARE_ATTRIB_ARRAY("element",cur_num_elem_blk,DIM_NUM_ATT_IN_BLK,param->num_attr_elem,
- eb_id,VAR_ATTRIB,numelbdim,numattrdim,VAR_NAME_ATTRIB);
-
- EX_PREPARE_CONN("nodal",cur_num_elem_blk,eb_id,numelbdim,VAR_CONN,nelnoddim);
-
- /* store element type as attribute of connectivity variable */
- if ((status = nc_put_att_text(exoid, connid, ATT_NAME_ELB, strlen(param->elem_type[iblk])+1,
- (void*)param->elem_type[iblk])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store element type name %s in file id %d",
- param->elem_type[iblk],exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- EX_PREPARE_CONN( "edge",cur_num_elem_blk,eb_id,numelbdim,VAR_ECONN,neledgdim);
- EX_PREPARE_CONN( "face",cur_num_elem_blk,eb_id,numelbdim,VAR_FCONN,nelfacdim);
- }
-
- /* Define the element map here to avoid a later redefine call */
- if ( param->define_maps != 0 ) {
- size_t map_type;
- for ( map_type = 0; map_type < num_map_dims; ++map_type ) {
- if ((status = nc_inq_dimid(exoid, dim_size_maps[map_type], &dims[0])) != NC_NOERR) {
- exerrval = status;
- sprintf( errmsg,
- "Error: could not find map size dimension %s in file id %d",
- dim_size_maps[map_type], exoid );
- ex_err( "ex_put_concat_all_blocks", errmsg, exerrval );
- }
- for ( i = 1; i <= num_maps[map_type]; ++i ) {
- const char* mapname = ex_name_of_map( map_enums[map_type], i );
- if (nc_inq_varid(exoid, mapname, &temp) != NC_NOERR) {
- int map_int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_MAPS_INT64_DB) {
- map_int_type = NC_INT64;
- }
-
- if ((status = nc_def_var(exoid, mapname, map_int_type, 1, dims, &temp)) != NC_NOERR) {
- exerrval = status;
- if ( status == NC_ENAMEINUSE ) {
- sprintf( errmsg, "Error: number map %s already exists in file id %d", mapname, exoid );
- } else {
- sprintf( errmsg, "Error: failed to create number map array %s in file id %d", mapname, exoid );
- }
- ex_err( "ex_put_concat_all_blocks", errmsg, exerrval );
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, temp, 1); \
- }
- }
- }
- }
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete element block definition in file id %d",
- exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_concat_all_blocks",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
-
diff --git a/cbind/src/ex_put_concat_elem_block.c b/cbind/src/ex_put_concat_elem_block.c
deleted file mode 100644
index 961fbf1..0000000
--- a/cbind/src/ex_put_concat_elem_block.c
+++ /dev/null
@@ -1,433 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expclb - ex_put_concat_elem_block: write element block parameters
-*
-* entry conditions -
-* input parameters:
-* int idexo exodus file id
-* char** elem_type element type string
-* int* num_elem_this_blk number of elements in the element blk
-* int* num_nodes_per_elem number of nodes per element block
-* int* num_attr_this_blk number of attributes
-* int define_maps if != 0, write maps, else don't
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
- * writes the parameters used to describe an element block
- * \param exoid exodus file id
- * \param elem_blk_id element block id
- * \param elem_type element type string
- * \param num_elem_this_blk number of elements in the element blk
- * \param num_nodes_per_elem number of nodes per element block
- * \param num_attr_this_blk number of attributes
- * \param define_maps if != 0, write maps, else don't
- */
-int ex_put_concat_elem_block (int exoid,
- const void_int* elem_blk_id,
- char *elem_type[],
- const void_int* num_elem_this_blk,
- const void_int* num_nodes_per_elem,
- const void_int* num_attr_this_blk,
- int define_maps)
-{
- int i, varid, dimid, dims[2], strdim, *eb_array;
- int temp;
- int iblk;
- int status;
- int num_elem_blk;
- int map_int_type, conn_int_type;
- size_t length;
- int cur_num_elem_blk, nelnoddim, numelbdim, numattrdim, connid, numelemdim, numnodedim;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any element blocks are specified
- * OK if zero...
- */
- if (nc_inq_dimid(exoid, DIM_NUM_EL_BLK, &dimid) != NC_NOERR) {
- return (EX_NOERR);
- }
-
- /* Get number of element blocks defined for this file */
- if ((status = nc_inq_dimlen(exoid,dimid,&length)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of element blocks in file id %d",
- exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- return (EX_FATAL);
- }
- num_elem_blk = length;
-
- /* Fill out the element block status array */
- if (!(eb_array = malloc(num_elem_blk*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for element block status array in file id %d",
- exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- for (i=0;i<num_elem_blk;i++) {
- eb_array[i] = (((int64_t*)num_elem_this_blk)[i] == 0) ? 0 : 1;
- }
- } else {
- for (i=0;i<num_elem_blk;i++) {
- eb_array[i] = (((int*)num_elem_this_blk)[i] == 0) ? 0 : 1;
- }
- }
-
- /* Next, get variable id of status array */
- if ((status = nc_inq_varid(exoid, VAR_STAT_EL_BLK, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate element block status in file id %d",
- exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- status = nc_put_var_int(exoid, varid, eb_array);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store element block status array to file id %d",
- exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Next, fill out ids array */
- /* first get id of ids array variable */
- if ((status = nc_inq_varid(exoid, VAR_ID_EL_BLK, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate element block ids array in file id %d",
- exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* then, write out id list */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, elem_blk_id);
- } else {
- status = nc_put_var_int(exoid, varid, elem_blk_id);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store element block id array in file id %d",
- exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* inquire previously defined dimensions */
- if ((status = nc_inq_dimid(exoid, DIM_STR_NAME, &strdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get string length in file id %d",exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* put netcdf file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to place file id %d into define mode",exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- conn_int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_BULK_INT64_DB) {
- conn_int_type = NC_INT64;
- }
-
- map_int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_MAPS_INT64_DB) {
- map_int_type = NC_INT64;
- }
-
- /* Iterate over element blocks ... */
- for (iblk = 0; iblk < num_elem_blk; iblk++) {
- ex_entity_id eb_id;
- size_t num_elem;
- size_t num_npe;
- size_t num_attr;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- eb_id = ((int64_t*)elem_blk_id)[iblk];
- num_elem = ((int64_t*)num_elem_this_blk)[iblk];
- num_npe = ((int64_t*)num_nodes_per_elem)[iblk];
- num_attr = ((int64_t*)num_attr_this_blk)[iblk];
- } else {
- eb_id = ((int*)elem_blk_id)[iblk];
- num_elem = ((int*)num_elem_this_blk)[iblk];
- num_npe = ((int*)num_nodes_per_elem)[iblk];
- num_attr = ((int*)num_attr_this_blk)[iblk];
- }
-
- cur_num_elem_blk=ex_get_file_item(exoid, ex_get_counter_list(EX_ELEM_BLOCK));
- if (cur_num_elem_blk >= num_elem_blk) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: exceeded number of element blocks (%d) defined in file id %d",
- num_elem_blk,exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret;
- }
-
- /* NOTE: ex_inc_file_item is used to find the number of element blocks
- for a specific file and returns that value incremented. */
- cur_num_elem_blk=ex_inc_file_item(exoid, ex_get_counter_list(EX_ELEM_BLOCK));
-
- if (eb_array[iblk] == 0) /* Is this a NULL element block? */
- continue;
-
- /* define some dimensions and variables*/
- if ((status = nc_def_dim(exoid,
- DIM_NUM_EL_IN_BLK(cur_num_elem_blk+1),
- num_elem, &numelbdim)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) { /* duplicate entry */
- sprintf(errmsg,
- "Error: element block %"PRId64" already defined in file id %d",
- eb_id,exoid);
- } else {
- sprintf(errmsg,
- "Error: failed to define number of elements/block for block %"PRId64" file id %d",
- eb_id,exoid);
- }
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if ((status = nc_def_dim(exoid,
- DIM_NUM_NOD_PER_EL(cur_num_elem_blk+1),
- num_npe, &nelnoddim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of nodes/element for block %"PRId64" in file id %d",
- eb_id,exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* element connectivity array */
- dims[0] = numelbdim;
- dims[1] = nelnoddim;
-
- if ((status = nc_def_var (exoid, VAR_CONN(cur_num_elem_blk+1),
- conn_int_type, 2, dims, &connid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create connectivity array for block %"PRId64" in file id %d",
- eb_id,exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, connid, 1);
-
- /* store element type as attribute of connectivity variable */
- if ((status = nc_put_att_text(exoid, connid, ATT_NAME_ELB, strlen(elem_type[iblk])+1,
- (void*)elem_type[iblk])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store element type name %s in file id %d",
- elem_type[iblk],exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* element attribute array */
- if (num_attr > 0) {
- if ((status = nc_def_dim (exoid,
- DIM_NUM_ATT_IN_BLK(cur_num_elem_blk+1),
- num_attr, &numattrdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of attributes in block %"PRId64" in file id %d",
- eb_id,exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* Attribute names... */
- dims[0] = numattrdim;
- dims[1] = strdim;
-
- if ((status = nc_def_var(exoid, VAR_NAME_ATTRIB(cur_num_elem_blk+1),
- NC_CHAR, 2, dims, &temp)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define element attribute name array in file id %d",exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- eb_array[iblk] = temp;
-
- dims[0] = numelbdim;
- dims[1] = numattrdim;
-
- if ((status = nc_def_var(exoid, VAR_ATTRIB(cur_num_elem_blk+1),
- nc_flt_code(exoid), 2, dims, &temp)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define attributes for element block %"PRId64" in file id %d",
- eb_id,exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- }
-
- }
-
- /* Define the element map here to avoid a later redefine call */
- if (define_maps != 0) {
- if (nc_inq_varid(exoid, VAR_ELEM_NUM_MAP, &temp) != NC_NOERR) {
- /* Map does not exist */
- /* Possible to have zero elements but >0 element blocks.
- * Only define map if there are nonzero elements
- */
- if (nc_inq_dimid(exoid, DIM_NUM_ELEM, &numelemdim) == NC_NOERR) {
- dims[0] = numelemdim;
-
- if ((status = nc_def_var(exoid, VAR_ELEM_NUM_MAP, map_int_type, 1, dims, &temp)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) {
- sprintf(errmsg,
- "Error: element numbering map already exists in file id %d",
- exoid);
- } else {
- sprintf(errmsg,
- "Error: failed to create element numbering map in file id %d",
- exoid);
- }
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, temp, 1);
- }
- }
-
- /* Do the same for the node numbering map */
- if (nc_inq_varid(exoid, VAR_NODE_NUM_MAP, &temp) != NC_NOERR) {
- /* Map does not exist */
- if ((nc_inq_dimid(exoid, DIM_NUM_NODES, &numnodedim)) == NC_NOERR) {
- dims[0] = numnodedim;
- if ((status = nc_def_var(exoid, VAR_NODE_NUM_MAP, map_int_type, 1, dims, &temp)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) {
- sprintf(errmsg,
- "Error: node numbering map already exists in file id %d",
- exoid);
- } else {
- sprintf(errmsg,
- "Error: failed to create node numbering map array in file id %d",
- exoid);
- }
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, temp, 1);
- }
- }
- }
-
- /* leave define mode */
- if ((status = nc_enddef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete element block definition in file id %d",
- exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- {
- /* Write dummy attribute name. Without this we get corruption in the
- * attribute name.
- */
- size_t start[2], count[2];
- char *text = "";
- count[0] = 1;
- start[1] = 0;
- count[1] = strlen(text)+1;
-
- for (iblk = 0; iblk < num_elem_blk; iblk++) {
- size_t num_attr;
- if (eb_array[iblk] == 0) /* Is this a NULL element block? */
- continue;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- num_attr = ((int64_t*)num_attr_this_blk)[iblk];
- } else {
- num_attr = ((int*)num_attr_this_blk)[iblk];
- }
- for (i = 0; i < num_attr; i++) {
- start[0] = i;
- nc_put_vara_text(exoid, eb_array[iblk], start, count, text);
- }
- }
- }
- free(eb_array);
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_concat_elem_block",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
-
diff --git a/cbind/src/ex_put_concat_node_sets.c b/cbind/src/ex_put_concat_node_sets.c
deleted file mode 100644
index ef4361a..0000000
--- a/cbind/src/ex_put_concat_node_sets.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_put_concat_sets()(exoid, EX_NODE_SET, &set_specs)
-
-The function ex_put_concat_node_sets() writes the node set ID's, node
-sets node count array, node sets distribution factor count array, node
-sets node list pointers array, node sets distribution factor pointer,
-node set node list, and node set distribution factors for all of the
-node sets. ``Concatenated node sets'' refers to the arrays required to
-define all of the node sets (ID array, counts arrays, pointers arrays,
-node list array, and distribution factors array) as described in
-Section 3.10 on page 11. Writing concatenated node sets is more
-efficient than writing individual node sets. See #Efficiency for a
-discussion of efficiency issues.
-
-Because the distribution factors are floating point values, the
-application code must declare the array passed to be the appropriate
-type (\c float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_put_concat_node_sets() returns a
-negative number; a warning will return a positive number. Possible
-causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - the number of node sets specified in a call to ex_put_init() was zero or has been exceeded.
- - a node set with the same ID has already been stored.
- - the number of distribution factors specified for one of the
- node sets is not zero and is not equal to the number of nodes in the
- same node set.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create()
- or ex_open().
-
-\param[in] node_set_ids Array containing the node set ID for each set.
-
-\param[in] num_nodes_per_set Array containing the number of nodes for each set.
-
-\param[in] num_dist_per_set Array containing the number of distribution factors for each set.
-
-\param[in] node_sets_node_index Array containing the indices into the \c node_set_node_list which
- are the locations of the first node for each set. These indices are
- 0-based. Pass \c NULL for remaining parameters to just set the
- nodeset parameters and not output nodeset data.
-
-\param[in] node_sets_df_index Array containing the indices into the \c node_set_dist_list which
- are the locations of the first distribution factor for each set. These
- indices are 0-based.
-
-\param[in] node_sets_node_list Array containing the nodes for all sets. Internal node IDs are used in
- this list (See Section LocalNodeIds).
-\param[in] node_sets_dist_fact Array containing the distribution factors for all sets.
-
-
-For example, the following code will write out two node sets
-in a concatenated format:
-
-\code
-int ids[2], num_nodes_per_set[2], node_ind[2], node_list[8],
- num_df_per_set[2], df_ind[2], error, exoid;
-
-float dist_fact[8];
-
-ids[0] = 20; ids[1] = 21;
-num_nodes_per_set[0] = 5; num_nodes_per_set[1] = 3;
-
-node_ind[0] = 0; node_ind[1] = 5;
-
-node_list[0] = 100; node_list[1] = 101; node_list[2] = 102;
-node_list[3] = 103; node_list[4] = 104;
-node_list[5] = 200; node_list[6] = 201; node_list[7] = 202;
-
-num_df_per_set[0] = 5; num_df_per_set[1] = 3;
-
-df_ind[0] = 0; df_ind[1] = 5;
-
-dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
-dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-dist_fact[5] = 1.1; dist_fact[6] = 2.1;
-dist_fact[7] = 3.1;
-
-error = ex_put_concat_node_sets (exoid, ids, num_nodes_per_set,
- num_df_per_set, node_ind, df_ind,
- node_list, dist_fact);
-\endcode
-
- */
-
-int ex_put_concat_node_sets (int exoid,
- 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_df_index,
- void_int *node_sets_node_list,
- void *node_sets_dist_fact)
-{
- struct ex_set_specs set_specs;
-
- set_specs.sets_ids = node_set_ids;
- set_specs.num_entries_per_set = num_nodes_per_set;
- set_specs.num_dist_per_set = num_dist_per_set;
- set_specs.sets_entry_index = node_sets_node_index;
- set_specs.sets_dist_index = node_sets_df_index;
- set_specs.sets_entry_list = node_sets_node_list;
- set_specs.sets_extra_list = NULL;
- set_specs.sets_dist_fact = node_sets_dist_fact;
-
- return ex_put_concat_sets(exoid, EX_NODE_SET, &set_specs);
-}
diff --git a/cbind/src/ex_put_concat_sets.c b/cbind/src/ex_put_concat_sets.c
deleted file mode 100644
index e7b05c3..0000000
--- a/cbind/src/ex_put_concat_sets.c
+++ /dev/null
@@ -1,561 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expcss - ex_put_concat_sets
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int set_type type of set
-* struct ex_set_specs* set_specs set specs structure
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the set ID's, set entry count array, set entry pointers array,
- * set entry list, set extra list, and distribution factors list for
- * all the sets of the specified type.
- * \param exoid exodus file id
- * \param set_type type of set
- * \param set_specs set specs structure
- */
-
-int ex_put_concat_sets (int exoid,
- ex_entity_type set_type,
- const struct ex_set_specs* set_specs)
-{
- int status;
- int temp;
- const void_int *num_entries_per_set = set_specs->num_entries_per_set;
- const void_int *num_dist_per_set = set_specs->num_dist_per_set;
- const void_int *sets_entry_index = set_specs->sets_entry_index;
- const void_int *sets_dist_index = set_specs->sets_dist_index;
- const void *sets_dist_fact = set_specs->sets_dist_fact;
- size_t i, num_df, num_entry;
- int cur_num_sets, num_sets;
- int dimid, varid, set_id_ndx, dims[1];
- int *set_stat = NULL;
- int set_int_type, int_size;
-
- const float *flt_dist_fact = NULL;
- const double *dbl_dist_fact = NULL;
- char errmsg[MAX_ERR_LENGTH];
- char* idsptr = NULL;
- char* statptr = NULL;
- char* numdfptr = NULL;
- char* factptr = NULL;
- char* elemptr = NULL;
- char* extraptr = NULL;
- ex_inquiry ex_inq_val;
-
- exerrval = 0; /* clear error code */
-
- int_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- int_size = sizeof(int64_t);
- }
-
- /* setup pointers based on set_type
- NOTE: there is another block that sets more stuff later ... */
-
- if (set_type == EX_NODE_SET) {
- ex_inq_val = EX_INQ_NODE_SETS;
- idsptr = VAR_NS_IDS;
- statptr = VAR_NS_STAT;
- }
- else if (set_type == EX_EDGE_SET) {
- ex_inq_val = EX_INQ_EDGE_SETS;
- idsptr = VAR_ES_IDS;
- statptr = VAR_ES_STAT;
- }
- else if (set_type == EX_FACE_SET) {
- ex_inq_val = EX_INQ_FACE_SETS;
- idsptr = VAR_FS_IDS;
- statptr = VAR_FS_STAT;
- }
- else if (set_type == EX_SIDE_SET) {
- ex_inq_val = EX_INQ_SIDE_SETS;
- idsptr = VAR_SS_IDS;
- statptr = VAR_SS_STAT;
- }
- else if (set_type == EX_ELEM_SET) {
- ex_inq_val = EX_INQ_ELEM_SETS;
- idsptr = VAR_ELS_IDS;
- statptr = VAR_ELS_STAT;
- }
- else {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: invalid set type (%d)", set_type);
- ex_err("ex_put_set_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(set_type), &temp)) != NC_NOERR) {
- if (status == NC_EBADDIM) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no %ss defined for file id %d", ex_name_of_object(set_type), exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %ss defined in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- }
- return (EX_FATAL);
- }
-
- /* inquire how many sets are to be stored */
- num_sets = ex_inquire_int(exoid, ex_inq_val);
- if (num_sets < 0) {
- sprintf(errmsg,
- "Error: failed to get number of %ss defined for file id %d",
- ex_name_of_object(set_type), exoid);
- /* use error val from inquire */
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Fill out set status array */
-
- /* First, allocate space for the status list */
- if (!(set_stat= malloc(num_sets*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for %s status array in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (int_size == sizeof(int64_t)) {
- for (i=0;i<num_sets;i++) {
- set_stat[i] = (((int64_t*)num_entries_per_set)[i] == 0) ? 0 : 1;
- }
- } else {
- for (i=0;i<num_sets;i++) {
- set_stat[i] = (((int*)num_entries_per_set)[i] == 0) ? 0 : 1;
- }
- }
-
- /* Next, get variable id of status array */
- if ((status = nc_inq_varid(exoid, statptr, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s status in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- status = nc_put_var_int(exoid, varid, set_stat);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s status array to file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_concat_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* put netcdf file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode",
- exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* create set definitions */
- for (i=0; i<num_sets; i++) {
- int64_t set_id;
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- set_id = ((int64_t*)set_specs->sets_ids)[i];
- } else {
- set_id = ((int*)set_specs->sets_ids)[i];
- }
-
- /* Keep track of the total number of sets defined using a counter stored
- in a linked list keyed by exoid.
- NOTE: ex_get_file_item is used to find the number of sets of type
- for a specific file and returns that value.
- */
- cur_num_sets=ex_get_file_item(exoid, ex_get_counter_list(set_type));
- if (cur_num_sets >= num_sets) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: exceeded number of %ss (%d) defined in file id %d",
- ex_name_of_object(set_type), num_sets,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- goto error_ret;
- }
-
- /* NOTE: ex_inc_file_item is used to find the number of sets
- for a specific file and returns that value incremented. */
-
- cur_num_sets=ex_inc_file_item(exoid, ex_get_counter_list(set_type));
- set_id_ndx = cur_num_sets + 1;
-
- /* setup more pointers based on set_type */
- if (set_type == EX_NODE_SET) {
- elemptr = VAR_NODE_NS(set_id_ndx);
- extraptr = NULL;
- /* note we are using DIM_NUM_NODE_NS instead of DIM_NUM_DF_NS */
- numdfptr = DIM_NUM_NOD_NS(set_id_ndx);
- factptr = VAR_FACT_NS(set_id_ndx);
- }
- else if (set_type == EX_EDGE_SET) {
- elemptr = VAR_EDGE_ES(set_id_ndx);
- extraptr = VAR_ORNT_ES(set_id_ndx);
- numdfptr = DIM_NUM_DF_ES(set_id_ndx);
- factptr = VAR_FACT_ES(set_id_ndx);
- }
- else if (set_type == EX_FACE_SET) {
- elemptr = VAR_FACE_FS(set_id_ndx);
- extraptr = VAR_ORNT_FS(set_id_ndx);
- numdfptr = DIM_NUM_DF_FS(set_id_ndx);
- factptr = VAR_FACT_FS(set_id_ndx);
- }
- else if (set_type == EX_SIDE_SET) {
- elemptr = VAR_ELEM_SS(set_id_ndx);
- extraptr = VAR_SIDE_SS(set_id_ndx);
- numdfptr = DIM_NUM_DF_SS(set_id_ndx);
- factptr = VAR_FACT_SS(set_id_ndx);
- }
- if (set_type == EX_ELEM_SET) {
- elemptr = VAR_ELEM_ELS(set_id_ndx);
- extraptr = NULL;
- numdfptr = DIM_NUM_DF_ELS(set_id_ndx);
- factptr = VAR_FACT_ELS(set_id_ndx);
- }
-
- /* define dimension for number of entries per set */
- if (set_stat[i] == 0) /* Is this a NULL set? */
- continue; /* Do not create anything for NULL sets! */
-
- if (int_size == sizeof(int)) {
- status = nc_def_dim(exoid, ex_dim_num_entries_in_object(set_type, set_id_ndx),
- ((int*)num_entries_per_set)[i], &dimid);
- } else {
- status = nc_def_dim(exoid, ex_dim_num_entries_in_object(set_type, set_id_ndx),
- ((int64_t*)num_entries_per_set)[i], &dimid);
- }
-
- if (status != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: %s entry count %"PRId64" already defined in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of entries for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- }
- goto error_ret;
- }
-
- /* create element list variable for set */
- set_int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_BULK_INT64_DB) {
- set_int_type = NC_INT64;
- }
-
- dims[0] = dimid;
- if ((status = nc_def_var(exoid,elemptr,set_int_type,1,dims, &temp)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: element list already exists for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create element list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, temp, 1);
-
- /* create extra list variable for set (only for edge, face and side sets) */
- if (extraptr) {
- if ((status = nc_def_var(exoid,extraptr,set_int_type,1,dims, &temp)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: extra list already exists for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create extra list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, temp, 1);
- }
-
- /* define dimension for number of dist factors per set */
- /* NOTE: only define df count if the dist factors exist! */
- if (int_size == sizeof(int64_t)) {
- num_df = ((int64_t*)num_dist_per_set)[i];
- num_entry = ((int64_t*)num_entries_per_set)[i];
- } else {
- num_df = ((int*)num_dist_per_set)[i];
- num_entry = ((int*)num_entries_per_set)[i];
- }
-
- if (num_df > 0) {
-
- if (set_type == EX_NODE_SET) {
- if (num_df != num_entry) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: # dist fact (%"ST_ZU") not equal to # nodes (%"ST_ZU") in node set %"PRId64" file id %d",
- num_df, num_entry, set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* resuse dimid from entry lists */
- } else {
- if ((status = nc_def_dim(exoid, numdfptr,
- num_df, &dimid)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: %s df count %"PRId64" already defined in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s df count for set %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- }
- goto error_ret;
- }
- }
-
- /* create distribution factor list variable for set */
- dims[0] = dimid;
- if ((status = nc_def_var(exoid, factptr, nc_flt_code(exoid), 1, dims, &temp)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: dist factor list already exists for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create dist factor list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, temp, 2);
- } /* end define dist factors */
- }
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition in file id %d",
- exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Next, fill out set ids array */
-
- /* first get id of set ids array variable */
- if ((status = nc_inq_varid(exoid, idsptr, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s ids array in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* then, write out set id list */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, set_specs->sets_ids);
- } else {
- status = nc_put_var_int(exoid, varid, set_specs->sets_ids);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s id array in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* If the sets_entry_index is passed in as a NULL pointer, then
- * the user only wants us to define the sets and not populate
- * the data structures.
- */
- if (sets_entry_index == 0)
- return(EX_NOERR);
-
- /* Now, use ExodusII call to store sets */
- for (i=0; i<num_sets; i++) {
- int64_t set_id;
- size_t df_ndx;
-
- if (set_stat[i] == 0) /* Is this a NULL set? */
- continue; /* Do not create anything for NULL sets! */
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- set_id = ((int64_t*)set_specs->sets_ids)[i];
- } else {
- set_id = ((int*)set_specs->sets_ids)[i];
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- int64_t* extra_list = NULL;
- /* set extra list */
- if (set_type == EX_EDGE_SET || set_type == EX_FACE_SET || set_type == EX_SIDE_SET)
- extra_list = &(((int64_t*)set_specs->sets_extra_list)[((int64_t*)sets_entry_index)[i]]);
-
- status = ex_put_set(exoid, set_type, set_id,
- &(((int64_t*)set_specs->sets_entry_list)[((int64_t*)sets_entry_index)[i]]),
- extra_list);
- } else {
- int* extra_list = NULL;
- /* set extra list */
- if (set_type == EX_EDGE_SET || set_type == EX_FACE_SET || set_type == EX_SIDE_SET)
- extra_list = &(((int*)set_specs->sets_extra_list)[((int*)sets_entry_index)[i]]);
-
- status = ex_put_set(exoid, set_type, set_id,
- &(((int*)set_specs->sets_entry_list)[((int*)sets_entry_index)[i]]),
- extra_list);
- }
- if (status != NC_NOERR)
- return(EX_FATAL); /* error will be reported by subroutine */
-
- if (int_size == sizeof(int)) {
- num_df = ((int*)num_dist_per_set)[i];
- df_ndx = ((int*)sets_dist_index)[i];
- } else {
- num_df = ((int64_t*)num_dist_per_set)[i];
- df_ndx = ((int64_t*)sets_dist_index)[i];
- }
-
- if (ex_comp_ws(exoid) == sizeof(float)) {
- flt_dist_fact = sets_dist_fact;
- if (num_df > 0) { /* store dist factors if required */
- if (ex_put_set_dist_fact(exoid, set_type, set_id,
- &(flt_dist_fact[df_ndx])) == -1) {
- sprintf(errmsg,
- "Error: failed to store %s %"PRId64" dist factors for file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- /* use error val from exodusII routine */
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- } else if (ex_comp_ws(exoid) == sizeof(double)) {
- dbl_dist_fact = sets_dist_fact;
- if (num_df) { /* only store if they exist */
- if (ex_put_set_dist_fact(exoid, set_type, set_id,
- &(dbl_dist_fact[df_ndx])) == -1) {
- sprintf(errmsg,
- "Error: failed to store %s %"PRId64" dist factors for file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- /* use error val from exodusII routine */
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- } else {
- /* unknown floating point word size */
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: unsupported floating point word size %d for file id %d",
- ex_comp_ws(exoid), exoid);
- ex_err("ex_put_concat_sets", errmsg, exerrval);
- return (EX_FATAL);
- }
- }
- free(set_stat);
- return(EX_NOERR);
-
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- free(set_stat);
-
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_concat_sets",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_concat_side_sets.c b/cbind/src/ex_put_concat_side_sets.c
deleted file mode 100644
index 1b668b6..0000000
--- a/cbind/src/ex_put_concat_side_sets.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expcss - ex_put_concat_side_sets
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int *side_set_ids array of side set ids
-* int *num_elem_per_set number of elements/sides/faces per set
-* int *num_dist_per_set number of distribution factors per set
-* ----------pass in NULL for remaining args if just want to set params -------------
-* int *side_sets_elem_index index array of elements into elem list
-* int *side_sets_dist_index index array of df into df list
-* int *side_sets_elem_list array of elements
-* int *side_sets_side_list array of sides/faces
-* void *side_sets_dist_fact array of distribution factors
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the side set ID's, side set element count array,
- * side set element pointers array, side set element list,
- * side set side list, and distribution factors list.
- * \param exoid exodus file id
- * \param side_set_ids array of side set ids
- * \param num_elem_per_set number of elements/sides/faces per set
- * \param num_dist_per_set number of distribution factors per set
- * \param side_sets_elem_index index array of elements into elem list
- * \param side_sets_dist_index index array of df into df list
- * \param side_sets_elem_list array of elements
- * \param side_sets_side_list array of sides/faces
- * \param side_sets_dist_fact array of distribution factors
- * \deprecated Use ex_put_concat_sets()(exoid, EX_SIDE_SET, set_specs)
- */
-
-int ex_put_concat_side_sets (int exoid,
- 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,
- void *side_sets_dist_fact)
-{
- struct ex_set_specs set_specs;
-
- set_specs.sets_ids = side_set_ids;
- set_specs.num_entries_per_set = num_elem_per_set;
- set_specs.num_dist_per_set = num_dist_per_set;
- set_specs.sets_entry_index = side_sets_elem_index;
- set_specs.sets_dist_index = side_sets_dist_index;
- set_specs.sets_entry_list = side_sets_elem_list;
- set_specs.sets_extra_list = side_sets_side_list;
- set_specs.sets_dist_fact = side_sets_dist_fact;
-
- return ex_put_concat_sets(exoid, EX_SIDE_SET, &set_specs);
-}
diff --git a/cbind/src/ex_put_concat_var_param.c b/cbind/src/ex_put_concat_var_param.c
deleted file mode 100644
index f6812e5..0000000
--- a/cbind/src/ex_put_concat_var_param.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvp - ex_put_concat_var_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_g global variable count
-* int num_n nodal variable count
-* int num_e element variable count
-* int num_elem_blk number of element blocks (unused)
-* int* elem_var_tab element variable truth table array
-*
-* exit conditions -
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-/*!
- * writes the number of global, nodal, and element variables
- * that will be written to the database
- * \param exoid int exodus file id
- * \param num_g int global variable count
- * \param num_n int nodal variable count
- * \param num_e int element variable count
- * \param num_elem_blk int number of element blocks
- * \param elem_var_tab int* element variable truth table array
- * \deprecated Use ex_put_all_var_param()(exoid, num_g, num_n, num_e, elem_var_tab, 0, 0, 0, 0)
- */
-
-int ex_put_concat_var_param (int exoid,
- int num_g,
- int num_n,
- int num_e,
- int num_elem_blk, /* unused */
- int *elem_var_tab)
-{
- return ex_put_all_var_param(exoid, num_g, num_n, num_e, elem_var_tab, 0, 0, 0, 0);
-}
diff --git a/cbind/src/ex_put_conn.c b/cbind/src/ex_put_conn.c
deleted file mode 100644
index 21e57e6..0000000
--- a/cbind/src/ex_put_conn.c
+++ /dev/null
@@ -1,241 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*! write out the connectivity array */
-#define EX_WRITE_CONN(TNAME,VARCONN,VARCONNVAL) \
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) { \
- status = nc_put_var_longlong(exoid, VARCONN, VARCONNVAL); \
- } else { \
- status = nc_put_var_int(exoid, VARCONN, VARCONNVAL); \
- } \
- if (status != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to write connectivity array for %s block %"PRId64" in file id %d", \
- TNAME,blk_id,exoid); \
- ex_err("ex_put_conn",errmsg, exerrval); \
- return(EX_FATAL); \
- }
-
-/*!
- * writes the connectivity array for a block
- * \param exoid exodus file id
- * \param blk_type type of block
- * \param blk_id id of block
- * \param node_conn node-element connectivity
- * \param elem_edge_conn element-edge connectivity (NULL if none)
- * \param elem_face_conn element-face connectivity (NULL if none)
- */
-
-int ex_put_conn (int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- const void_int *node_conn,
- const void_int *elem_edge_conn,
- const void_int *elem_face_conn)
-{
- int connid=-1, blk_id_ndx, status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- blk_id_ndx = ex_id_lkup(exoid,blk_type,blk_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: connectivity array not allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_conn",errmsg,EX_MSG);
- return (EX_WARN);
- }
- else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(blk_type),blk_id, exoid);
- ex_err("ex_put_conn",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
-/* inquire id's of previously defined dimensions */
- if (node_conn) {
- switch (blk_type) {
- case EX_ELEM_BLOCK:
- status = nc_inq_varid (exoid, VAR_CONN(blk_id_ndx), &connid);
- break;
- case EX_FACE_BLOCK:
- status = nc_inq_varid (exoid, VAR_FBCONN(blk_id_ndx), &connid);
- break;
- case EX_EDGE_BLOCK:
- status = nc_inq_varid (exoid, VAR_EBCONN(blk_id_ndx), &connid);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized block type in switch: %d in file id %d",
- blk_type,exoid);
- ex_err("ex_putt_conn",errmsg,EX_MSG);
- return (EX_FATAL);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate connectivity array for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- EX_WRITE_CONN(ex_name_of_object(blk_type),connid,node_conn);
- }
-
- /* If there are edge and face connectivity arrays that belong with the element
- * block, write them now. Warn if they are required but not specified or
- * specified but not required.
- */
- if ( blk_type == EX_ELEM_BLOCK ) {
- int nedpereldim, nfapereldim;
- size_t num_ed_per_elem, num_fa_per_elem;
-
- status = nc_inq_dimid (exoid, DIM_NUM_EDG_PER_EL(blk_id_ndx), &nedpereldim);
- if (status != NC_NOERR && elem_edge_conn != 0)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: edge connectivity specified but failed to "
- "locate number of edges/element in block %"PRId64" in file id %d",
- blk_id,exoid);
- ex_err("ex_put_conn",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- status = nc_inq_dimid (exoid, DIM_NUM_FAC_PER_EL(blk_id_ndx), &nfapereldim);
- if (status != NC_NOERR && elem_face_conn != 0)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: face connectivity specified but failed to "
- "locate number of faces/element in block %"PRId64" in file id %d",
- blk_id,exoid);
- ex_err("ex_put_conn",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- num_ed_per_elem = 0;
- if ((elem_edge_conn != 0) &&
- (status = nc_inq_dimlen(exoid, nedpereldim, &num_ed_per_elem) != NC_NOERR))
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of edges/elem in block %"PRId64" in file id %d",
- blk_id,exoid);
- ex_err("ex_put_conn",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- num_fa_per_elem = 0;
- if ((elem_face_conn != 0) &&
- (status = nc_inq_dimlen(exoid, nfapereldim, &num_fa_per_elem) != NC_NOERR))
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of faces/elem in block %"PRId64" in file id %d",
- blk_id,exoid);
- ex_err("ex_put_conn",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if ( (num_ed_per_elem == 0 && elem_edge_conn != 0) ||
- (num_ed_per_elem != 0 && elem_edge_conn == 0) )
- {
- exerrval = (EX_FATAL);
- sprintf(errmsg,
- "Error: number of edges per element (%ld) doesn't "
- "agree with elem_edge_conn (0x%p)",
- (long)num_ed_per_elem, (void*)elem_edge_conn );
- ex_err("ex_put_conn",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ( (num_fa_per_elem == 0 && elem_face_conn != 0) ||
- (num_fa_per_elem != 0 && elem_face_conn == 0) )
- {
- exerrval = (EX_FATAL);
- sprintf(errmsg,
- "Error: number of faces per element (%ld) doesn't "
- "agree with elem_face_conn (0x%p)",
- (long)num_fa_per_elem, (void*)elem_face_conn );
- ex_err("ex_put_conn",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ( num_ed_per_elem != 0 ) {
- status = nc_inq_varid(exoid, VAR_ECONN(blk_id_ndx), &connid);
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate connectivity array for "
- "element edge block %"PRId64" in file id %d",
- blk_id,exoid);
- ex_err("ex_put_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- EX_WRITE_CONN("element edge",connid,elem_edge_conn);
- }
-
- if ( num_fa_per_elem != 0 ) {
- status = nc_inq_varid (exoid, VAR_FCONN(blk_id_ndx), &connid);
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate connectivity array for "
- "element face block %"PRId64" in file id %d",
- blk_id,exoid);
- ex_err("ex_put_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- EX_WRITE_CONN("element face",connid,elem_face_conn);
- }
- }
-
- return (EX_NOERR);
-
-}
diff --git a/cbind/src/ex_put_coord.c b/cbind/src/ex_put_coord.c
deleted file mode 100644
index 5c6ad9a..0000000
--- a/cbind/src/ex_put_coord.c
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expcor - ex_put_coord
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* float* x_coord X coord array
-* float* y_coord y coord array
-* float* z_coord z coord array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-The function ex_put_coord() writes the nodal coordinates of the nodes
-in the model. The function ex_put_init() must be invoked before this
-call is made.
-
-Because the coordinates are floating point values, the application
-code must declare the arrays passed to be the appropriate type
-(\e float or \e double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_put_coord() returns a negative
-number; a warning will return a positive number.
-Possible causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] x_coor The X-coordinates of the nodes. If this is \c NULL, the
- X-coordinates will not be written.
-\param[in] y_coor The Y-coordinates of the nodes. These are stored only if \c num_dim
- > 1; otherwise, pass in \c NULL. If this is \c NULL, the
- Y-coordinates will not be written.
-\param[in] z_coor The Z-coordinates of the nodes. These are stored only if \c num_dim
- > 2; otherwise, pass in \c NULL. If this is \c NULL, the
- Z-coordinates will not be written.
-
-The following will write the nodal coordinates to an open
-exodus file :
-
-\code
-int error, exoid;
-
-// \comment{if file opened with compute word size of sizeof(float)}
-float x[8], y[8], z[8];
-
-// \comment{write nodal coordinates values to database}
-x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
-x[1] = 0.0; y[1] = 0.0; z[1] = 1.0;
-x[2] = 1.0; y[2] = 0.0; z[2] = 1.0;
-x[3] = 1.0; y[3] = 0.0; z[3] = 0.0;
-x[4] = 0.0; y[4] = 1.0; z[4] = 0.0;
-x[5] = 0.0; y[5] = 1.0; z[5] = 1.0;
-x[6] = 1.0; y[6] = 1.0; z[6] = 1.0;
-x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-error = ex_put_coord(exoid, x, y, z);
-
-// \comment{Do the same as the previous call in three separate calls}
-error = ex_put_coord(exoid, x, NULL, NULL);
-error = ex_put_coord(exoid, NULL, y, NULL);
-error = ex_put_coord(exoid, NULL, NULL, z);
-\endcode
-
- */
-
-int ex_put_coord (int exoid,
- const void *x_coor,
- const void *y_coor,
- const void *z_coor)
-{
- int status;
- int coordid;
- int coordidx, coordidy, coordidz;
-
- int numnoddim, ndimdim;
- size_t num_nod, num_dim, start[2], count[2], i;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire id's of previously defined dimensions */
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_NODES, &numnoddim)) != NC_NOERR) {
- /* If not found, then this file is storing 0 nodes.
- Return immediately */
- return (EX_NOERR);
- }
-
- if ((status = nc_inq_dimlen(exoid, numnoddim, &num_nod)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: inquire failed to return number of nodes in file id %d",
- exoid);
- ex_err("ex_put_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_DIM, &ndimdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of dimensions in file id %d",
- exoid);
- ex_err("ex_put_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, ndimdim, &num_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of dimensions in file id %d",
- exoid);
- ex_err("ex_put_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out the coordinates */
- if (ex_large_model(exoid) == 0) {
- if ((status = nc_inq_varid(exoid, VAR_COORD, &coordid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate nodal coordinates in file id %d", exoid);
- ex_err("ex_put_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- for (i=0; i<num_dim; i++) {
- char *which = 0;
- start[0] = i;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = num_nod;
-
- if (i == 0 && x_coor != NULL) {
- which = "X";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, coordid, start, count, x_coor);
- } else {
- status = nc_put_vara_double(exoid, coordid, start, count, x_coor);
- }
- }
- else if (i == 1 && y_coor != NULL) {
- which = "Y";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, coordid, start, count, y_coor);
- } else {
- status = nc_put_vara_double(exoid, coordid, start, count, y_coor);
- }
- }
- else if (i == 2 && z_coor != NULL) {
- which = "Z";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, coordid, start, count, z_coor);
- } else {
- status = nc_put_vara_double(exoid, coordid, start, count, z_coor);
- }
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put %s coord array in file id %d", which, exoid);
- ex_err("ex_put_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- } else {
- if ((status = nc_inq_varid(exoid, VAR_COORD_X, &coordidx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate x nodal coordinates in file id %d", exoid);
- ex_err("ex_put_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_dim > 1) {
- if ((status = nc_inq_varid(exoid, VAR_COORD_Y, &coordidy)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate y nodal coordinates in file id %d", exoid);
- ex_err("ex_put_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- coordidy = 0;
- }
- if (num_dim > 2) {
- if ((status = nc_inq_varid(exoid, VAR_COORD_Z, &coordidz)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate z nodal coordinates in file id %d", exoid);
- ex_err("ex_put_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- coordidz = 0;
- }
-
- /* write out the coordinates */
- for (i=0; i<num_dim; i++) {
- const void *coor = NULL;
- char *which = NULL;
-
- if (i == 0) {
- coor = x_coor;
- which = "X";
- coordid = coordidx;
- } else if (i == 1) {
- coor = y_coor;
- which = "Y";
- coordid = coordidy;
- } else if (i == 2) {
- coor = z_coor;
- which = "Z";
- coordid = coordidz;
- }
-
- if (coor != NULL && coordid != 0) {
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_var_float(exoid, coordid, coor);
- } else {
- status = nc_put_var_double(exoid, coordid, coor);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put %s coord array in file id %d", which, exoid);
- ex_err("ex_put_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_coord_names.c b/cbind/src/ex_put_coord_names.c
deleted file mode 100644
index 22645fa..0000000
--- a/cbind/src/ex_put_coord_names.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
-
-The function ex_put_coord_names() writes the names (\p
-MAX_STR_LENGTH-characters in length) of the coordinate arrays to the
-database. Memory must be allocated for the character strings before
-this function is invoked.
-
-In case of an error, ex_put_coord_names() returns a negative number; a
-warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] coord_names Array containing \c num_dim names of length \p MAX_STR_LENGTH
- of the nodal coordinate arrays.
-
-The following coding will write the coordinate names to an
-open exodus file :
-
-\code
-int error, exoid;
-
-char *coord_names[3];
-coord_names[0] = "xcoor";
-coord_names[1] = "ycoor";
-coord_names[2] = "zcoor";
-
-error = ex_put_coord_names (exoid, coord_names);
-\endcode
-
- */
-
-int ex_put_coord_names (int exoid,
- char *coord_names[])
-{
- int status;
- int ndimdim, varid;
- size_t num_dim;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_DIM, &ndimdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of dimensions in file id %d",
- exoid);
- ex_err("ex_put_coord_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, ndimdim, &num_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: inquire failed to get number of dimensions in file id %d",
- exoid);
- ex_err("ex_put_coord_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_NAME_COOR, &varid)) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate coordinate names in file id %d",
- exoid);
- ex_err("ex_put_coord_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out coordinate names */
- status = ex_put_names_internal(exoid, varid, num_dim, coord_names, EX_COORDINATE,
- "", "ex_put_coord_names");
-
- return (status);
-}
diff --git a/cbind/src/ex_put_coordinate_frames.c b/cbind/src/ex_put_coordinate_frames.c
deleted file mode 100644
index 4073f7a..0000000
--- a/cbind/src/ex_put_coordinate_frames.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*!
-*
-* expfrm - ex_put_coordinate_frames: write coordinate frames
-*
-* \param exoid exodus file id
-* \param nframes number of coordinate frames in model
-* \param cf_ids coordinate ids
-* \param pt_coordinates pointer to coordinates. 9 values per coordinate frame
-* \param tags character tag for each frame. 'r' - rectangular, 'c' - cylindrical, 's' - spherical
-*
-* returns -
-* EX_NOERR for no error
-* EX_FATAL for fatal errors
-* 1 number frames < 0
-*
-*****************************************************************************/
-
-#include <assert.h>
-#include <string.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/* -------------------- local defines --------------------------- */
-#define PROCNAME "ex_put_coordinate_frames"
-/* -------------------- end of local defines -------------------- */
-int ex_put_coordinate_frames( int exoid,
- int nframes,
- const void_int *cf_ids,
- void* pt_coordinates,
- const char* tags)
-{
- int status;
- int dim, dim9; /* dimension id for nframes, nframes*9 */
- char errmsg[MAX_ERR_LENGTH]; /* buffer for error messages */
- int varcoords; /* variable id for the coordinates */
- int varids; /* variable id for the frame ids */
- int vartags; /* variable id for the frame tags */
- int i; /* general indices */
- int int_type;
-
- if ( exoid < 0 )
- return exoid;
-
- if ( nframes == 0 ) /* write nothing */
- return (EX_NOERR);
-
- if ( nframes<0 )
- return 1;
-
- assert( cf_ids!=0 );
- assert( pt_coordinates !=0 );
- assert( tags != 0 );
-
- /* make the definitions */
- /* go into define mode. define num_frames, num_frames9 */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to place file id %d into define mode",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_def_dim(exoid, DIM_NUM_CFRAMES, nframes, &dim)) != NC_NOERR ||
- (nc_def_dim(exoid, DIM_NUM_CFRAME9, nframes*9, &dim9) != NC_NOERR)) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of coordinate frames in file id %d",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- goto error_ret;
- }
-
- int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- int_type = NC_INT64;
- }
-
- /* define the variables. coordinates, tags and ids */
- if (nc_def_var (exoid, VAR_FRAME_COORDS,
- nc_flt_code(exoid), 1, &dim9, &varcoords) != NC_NOERR ||
- (nc_def_var(exoid, VAR_FRAME_IDS,int_type, 1, &dim, &varids) != NC_NOERR) ||
- (nc_def_var(exoid, VAR_FRAME_TAGS,NC_CHAR,1,&dim, &vartags) != NC_NOERR) ) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: failed to define coordinate frames in file id %d",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete coordinate frame definition in file id %d",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* check variables consistency */
- exerrval = EX_NOERR;
- for (i=0;i<nframes;i++)
- if ( strchr("RrCcSs",tags[i])==0 ){
- sprintf(errmsg,"Warning: Unrecognized coordinate frame tag: '%c'.",
- tags[i]);
- exerrval=2;
- ex_err(PROCNAME,errmsg,exerrval);
- }
- /* could also check vectors. Leave this up to the application */
-
- /* put the variables into the file */
- if (nc_put_var_text(exoid, vartags, tags) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed writing frame data in file id %d",exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_var_longlong(exoid, varids, cf_ids);
- } else {
- status = nc_put_var_int(exoid, varids, cf_ids);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed writing frame data in file id %d",exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_var_float(exoid, varcoords, pt_coordinates);
- } else {
- status = nc_put_var_double(exoid, varcoords, pt_coordinates);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed writing frame data in file id %d",exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete frame definition for file id %d",
- exoid);
- ex_err(PROCNAME,errmsg,exerrval);
- }
- return (EX_FATAL);
-
-
-}
-
-
diff --git a/cbind/src/ex_put_eb_info_global.c b/cbind/src/ex_put_eb_info_global.c
deleted file mode 100644
index c22daf2..0000000
--- a/cbind/src/ex_put_eb_info_global.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_eb_info_global()
- *****************************************************************************
- * This function outputs the global element block IDs of all the element
- * blocks associated with a geometry.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * el_blk_ids - Pointer to vector of global element block IDs.
- * el_blk_cnts - Pointer to vector of global element block counts.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_eb_info_global(int exoid,
- void_int *el_blk_ids,
- void_int *el_blk_cnts
- )
-{
- const char *func_name="ex_put_eb_info_global";
-
- int varid, status;
- char errmsg[MAX_ERR_LENGTH];
-
- /* Find the variable ID for the element block IDs */
- if ((status = nc_inq_varid(exoid, VAR_ELBLK_IDS_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_ELBLK_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the global element block IDs */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, el_blk_ids);
- } else {
- status = nc_put_var_int(exoid, varid, el_blk_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_ELBLK_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Find the variable ID for the element block counts */
- if ((status = nc_inq_varid(exoid, VAR_ELBLK_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_ELBLK_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the global element block counts */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, el_blk_cnts);
- } else {
- status = nc_put_var_int(exoid, varid, el_blk_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_ELBLK_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_elem_attr.c b/cbind/src/ex_put_elem_attr.c
deleted file mode 100644
index 1c3a109..0000000
--- a/cbind/src/ex_put_elem_attr.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_put_attr()(exoid, EX_ELEM_BLOCK, elem_blk_id, attrib)
-
-The function ex_put_elem_attr() writes the attributes for an element
-block. Each element in the element block must have the same number of
-attributes, so there are(\c num_attr x \c num_elem_this_blk)
-attributes for each element block. The function ex_put_elem_block()
-must be invoked before this call is made.
-
-Because the attributes are floating point values, the application code
-must declare the array passed to be the appropriate type (\c float or
-\c double) to match the compute word size passed in ex_create() or
-ex_open().
-
-\return In case of an error, ex_put_elem_attr() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - ex_put_elem_block() was not called previously for specified element block ID.
- - ex_put_elem_block() was called with 0 attributes specified.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] elem_blk_id The element block ID.
-\param[in] attrib Size [num_elem_this_blk*num_attr]
- The list of attributes for the element block. The \c num_attr
- index cycles faster.
-
-Refer to the code example in ex_put_elem_block() for an example of
-writing the attributes array for an element block.
-
-*/
-
-int ex_put_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- const void *attrib)
-{
- return ex_put_attr( exoid, EX_ELEM_BLOCK, elem_blk_id, attrib );
-}
diff --git a/cbind/src/ex_put_elem_attr_names.c b/cbind/src/ex_put_elem_attr_names.c
deleted file mode 100644
index d6facd8..0000000
--- a/cbind/src/ex_put_elem_attr_names.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expeat - ex_put_elem_attr_names
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int elem_blk_id element block id
-* char* names[] ptr array of attribute names
-
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
- * writes the attribute names for an element block
- * \param exoid exodus file id
- * \param elem_blk_id element block id
- * \param names[] ptr array of attribute names
- * \deprecated Use ex_put_attr_names()(exoid, EX_ELEM_BLOCK, elem_blk_id, names)
- */
-int ex_put_elem_attr_names(int exoid,
- ex_entity_id elem_blk_id,
- char* names[])
-{
- return ex_put_attr_names( exoid, EX_ELEM_BLOCK, elem_blk_id, names );
-}
diff --git a/cbind/src/ex_put_elem_block.c b/cbind/src/ex_put_elem_block.c
deleted file mode 100644
index 4e05f4b..0000000
--- a/cbind/src/ex_put_elem_block.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expelb - ex_put_elem_block: write element block parameters
-*
-* entry conditions -
-* input parameters:
-* int idexo exodus file id
-* int elem_blk_id block identifier
-* char* elem_type element type string
-* int num_elem_this_blk number of elements in the element blk
-* int num_nodes_per_elem number of nodes per element block
-* int num_attr_per_elem number of attributes per element
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_put_block()(exoid, EX_ELEM_BLOCK, elem_blk_id, elem_type, num_elem_this_blk, num_nodes_per_elem, 0, 0, num_attr_per_elem)
-
-The function ex_put_elem_block() writes the parameters used to
-describe an element block.
-
-\return In case of an error, ex_put_elem_block() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - an element block with the same ID has already been specified.
- - the number of element blocks specified in the call to ex_put_init() has been exceeded.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] elem_blk_id The element block ID.
-\param[in] elem_type The type of elements in the element block. The maximum length of this
- string is \p MAX_STR_LENGTH .
-\param[in] num_elem_this_blk The number of elements in the element block.
-\param[in] num_nodes_per_elem The number of nodes per element in the element block.
-\param[in] num_attr_per_elem The number of attributes per element in the element block.
-
-For example, the following code segment will initialize an element
-block with an ID of 10, write out the connectivity array, and write
-out the element attributes array:
-
-\code
-int id, error, exoid, num_elem_in_blk, num_nodes_per_elem, *connect, num_attr;
-float *attrib;
-
-\comment{write element block parameters}
-id = 10;
-num_elem_in_blk = 2;
-num_nodes_per_elem = 4; \comment{elements are 4-node shells}
-num_attr = 1; \comment{one attribute per element}
-
-error = ex_put_elem_block(exoid, id, "SHELL", num_elem_in_blk,
- num_nodes_per_elem, num_attr);
-
-\comment{write element connectivity}
-connect = (int *)calloc(num_elem_in_blk*num_nodes_per_elem, sizeof(int));
-
-\comment{fill connect with node numbers; nodes for first elemen}
-connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
-\comment{nodes for second element}
-connect[4] = 5; connect[5] = 6; connect[6] = 7; connect[7] = 8;
-
-error = ex_put_elem_conn (exoid, id, connect);
-
-\comment{write element block attributes}
-attrib = (float *) calloc (num_attr*num_elem_in_blk, sizeof(float));
-
-for (i=0, cnt=0; i < num_elem_in_blk; i++) {
- for (j=0; j < num_attr; j++, cnt++) {
- attrib[cnt] = 1.0;
- }
-}
-
-error = ex_put_elem_attr (exoid, id, attrib);
-
-\comment{Same result using non-deprecated code}
-error = ex_put_block(exoid, EX_ELEM_BLOCK, id, "SHELL", num_elem_in_blk,
- num_nodes_per_elem, 0, 0, num_attr);
-error = ex_put_conn (exoid, EX_ELEM_BLOCK, id, connect);
-error = ex_put_attr (exoid, EX_ELEM_BLOCK, id, attrib);
-
-\endcode
-
- */
-
-int ex_put_elem_block (int exoid,
- ex_entity_id elem_blk_id,
- const char *elem_type,
- int64_t num_elem_this_blk,
- int64_t num_nodes_per_elem,
- int64_t num_attr_per_elem)
-{
- return ex_put_block( exoid, EX_ELEM_BLOCK, elem_blk_id,
- elem_type, num_elem_this_blk, num_nodes_per_elem,
- 0 /*num_edge_per_elem*/, 0 /*num_face_per_elem*/, num_attr_per_elem );
-}
diff --git a/cbind/src/ex_put_elem_cmap.c b/cbind/src/ex_put_elem_cmap.c
deleted file mode 100644
index 231b534..0000000
--- a/cbind/src/ex_put_elem_cmap.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/****************************************************************************/
-/****************************************************************************/
-/****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_elem_cmap()
- ****************************************************************************
- * The function outputs an elemental communication map.
- ****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * map_id - The ID of the elementa communication map to write.
- * elem_ids - Pointer to vector of element IDs to output.
- * side_ids - Pointer to vector of side IDs for each element
- * in "elem_ids".
- * proc_ids - Pointer to vector of processor IDs for each
- * element in "elem_ids".
- * processor - The processor the file being read was written for.
- */
-/****************************************************************************/
-/****************************************************************************/
-/****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_elem_cmap(int exoid,
- ex_entity_id map_id,
- void_int *elem_ids,
- void_int *side_ids,
- void_int *proc_ids,
- int processor
- )
-{
- const char *func_name="ex_put_elem_cmap";
-
- int map_idx, varid, dimid, status;
- size_t start[1], count[1], ret_val;
- int64_t varidx[2];
- int value;
-
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* get the index for the comm map information variables */
- if (ex_get_idx(exoid, VAR_E_COMM_INFO_IDX, varidx, processor) == -1) {
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_E_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the index for this map_id */
- if ((map_idx=ne_id_lkup(exoid, VAR_E_COMM_IDS, varidx, map_id)) == -1) {
- sprintf(errmsg,
- "Error: failed to find index for variable \"%s\" in file ID %d",
- VAR_E_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /*
- * Find out if this is a NULL comm map by checking it's entry in
- * the status vector.
- */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- start[0] = map_idx;
- if ((status = nc_get_var1_int(exoid, varid, start, &value)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_E_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (value == 0) return(EX_NOERR); /* NULL set */
-
- /* now I need to get the comm map data index */
- if (ex_get_idx(exoid, VAR_E_COMM_DATA_IDX, varidx, map_idx) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_E_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension of the cmap data */
- if (varidx[1] == -1) {
- /* Get the size of the comm maps */
- if ((status = nc_inq_dimid(exoid, DIM_ECNT_CMAP, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get dimension ID for \"%s\" in file ID %d",
- DIM_ECNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &ret_val)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get length of dimension \"%s\" in file ID %d",
- DIM_ECNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- varidx[1] = ret_val;
- } /* "if (varidx[1]==-1)" */
-
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
-
- /* Output the element IDs for this comm map */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_EIDS, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_EIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, elem_ids);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, elem_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output vector \"%s\" in file ID %d",
- VAR_E_COMM_EIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the processor IDs for this map */
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_PROC, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, proc_ids);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, proc_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_E_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_E_COMM_SIDS, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_E_COMM_SIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, side_ids);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, side_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to ouput variable \"%s\" in file ID %d",
- VAR_E_COMM_SIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_elem_conn.c b/cbind/src/ex_put_elem_conn.c
deleted file mode 100644
index 6d10617..0000000
--- a/cbind/src/ex_put_elem_conn.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_put_conn()(exoid, EX_ELEM_BLOCK, elem_blk_id, connect, 0, 0)
-
-The function ex_put_elem_conn() writes the connectivity array for an
-element block. The function ex_put_elem_block() must be invoked before
-this call is made.
-
-\return In case of an error, ex_put_elem_conn() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - ex_put_elem_block() was not called previously.
-
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] elem_blk_id The element block ID.
-\param[in] connect Size [num_elem_this_blk,num_nodes_per_elem],
- The connectivity array; a list of nodes (internal node IDs;
- See Section LocalNodeIds) that define each element in the element
- block. The node index cycles faster than the element index.
-
-Refer to the code example in ex_put_elem_block() for an example of
-writing the connectivity array for an element block.
-
-*/
-
-int ex_put_elem_conn (int exoid,
- ex_entity_id elem_blk_id,
- const void_int *connect)
-{
- return ex_put_conn(exoid, EX_ELEM_BLOCK, elem_blk_id, connect, 0, 0);
-}
diff --git a/cbind/src/ex_put_elem_map.c b/cbind/src/ex_put_elem_map.c
deleted file mode 100644
index f6600e2..0000000
--- a/cbind/src/ex_put_elem_map.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expem - ex_put_elem_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_id element map id
-* int *elem_map element map
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes an element map; this is a vector of integers of length number
- * of elements
- * \param exoid exodus file id
- * \param map_id element map id
- * \param elem_map element map
- * \deprecated Use ex_put_num_map()(exoid, EX_ELEM_MAP, map_id, elem_map)
- */
-
-int ex_put_elem_map (int exoid,
- ex_entity_id map_id,
- const void_int *elem_map)
-{
- return ex_put_num_map( exoid, EX_ELEM_MAP, map_id, elem_map );
-}
diff --git a/cbind/src/ex_put_elem_num_map.c b/cbind/src/ex_put_elem_num_map.c
deleted file mode 100644
index 66f4a33..0000000
--- a/cbind/src/ex_put_elem_num_map.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_put_id_map()(exoid, EX_ELEM_MAP, elem_map)
-
-The function ex_put_elem_num_map() writes out the optional element
-number map to the database. See Section LocalElementIds for a description
-of the element number map. The function ex_put_init() must be invoked
-before this call is made.
-
-\return In case of an error, ex_put_elem_num_map() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - an element number map already exists in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] elem_map The element number map.
-
-The following code generates a default element number map and outputs
-it to an open exodus file. This is a trivial case and included just
-for illustration. Since this map is optional, it should be written out
-only if it contains something other than the default map.
-
-\code
-int error, exoid;
-int *elem_map = (int *)calloc(num_elem, sizeof(int));
-
-for (i=1; i <= num_elem; i++)
- elem_map[i-1] = i;
-
-error = ex_put_elem_num_map(exoid, elem_map);
-
-\comment{Equivalent using non-deprecated function}
-error = ex_put_id_map(exoid, EX_ELEM_MAP, elem_map);
-\endcode
-
- */
-
-int ex_put_elem_num_map (int exoid,
- const void_int *elem_map)
-{
- return ex_put_id_map(exoid, EX_ELEM_MAP, elem_map);
-}
-
diff --git a/cbind/src/ex_put_elem_var.c b/cbind/src/ex_put_elem_var.c
deleted file mode 100644
index ba47b05..0000000
--- a/cbind/src/ex_put_elem_var.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expev - ex_put_elem_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* int elem_var_index element variable index
-* int elem_blk_id element block id
-* int num_elem_this_blk number of elements in this block
-*
-* exit conditions -
-*
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\deprecated Use ex_put_var()(exoid, time_step, EX_ELEM_BLOCK, elem_var_index, elem_blk_id, num_elem_this_blk, elem_var_vals)
-
-The function ex_put_elem_var() writes the values of a single element
-variable for one element block at one time step. It is recommended,
-but not required, to write the element variable truth table (with
-ex_put_elem_var_tab() before this function is invoked for better
-efficiency. See #Efficiency for a discussion of
-efficiency issues.
-
-Because element variables are floating point values, the application
-code must declare the array passed to be the appropriate type (\c
-float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_put_elem_var() returns a negative number; a
-warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - invalid element block ID.
- - ex_put_elem_block() not called previously to specify parameters for this element block.
- - ex_put_variable_param() not called previously specifying the number of element variables.
- - an element variable truth table was stored in the file but
- contains a zero (indicating no valid element variable) for the
- specified element block and element variable.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] time_step The time step number, as described under ex_put_time().
- This is essentially a counter that is incremented only when results
- variables are output. The first time step is 1.
-\param[in] elem_var_index The index of the element variable. The first variable has
- an index of 1.
-\param[in] elem_blk_id The element block ID.
-\param[in] num_elem_this_blk The number of elements in the given element block.
-\param[in] elem_var_vals Array of \c num_elem_this_blk values of the \c elem_var_index-th
- element variable for the element block with ID of \c elem_blk_id
- at the \c time_step-th time step.
-
-The following coding will write out all of the element variables for a
-single time step \c n to an open exodus file :
-
-\code
-int num_ele_vars, num_elem_blk, *num_elem_in_block,error,
- exoid, n, *ebids;
-
-float *elem_var_vals;
-
-\comment{write element variables}
-for (k=1; k <= num_ele_vars; k++) {
- for (j=0; j < num_elem_blk; j++) {
- elem_var_vals = (float *)
- calloc(num_elem_in_block[j], sizeof(float));
-
- for (m=0; m < num_elem_in_block[j]; m++) {
- \comment{simulation code fills this in}
- elem_var_vals[m] = 10.0;
- }
-
- error = ex_put_elem_var (exoid, n, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
-
-\comment {Using non-deprecated function:}
- error = ex_put_var (exoid, n, EX_ELEM_BLOCK, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
-
- free (elem_var_vals);
- }
-}
-\endcode
-
- */
-
-int ex_put_elem_var (int exoid,
- int time_step,
- int elem_var_index,
- ex_entity_id elem_blk_id,
- int64_t num_elem_this_blk,
- const void *elem_var_vals)
-{
- return ex_put_var(exoid, time_step, EX_ELEM_BLOCK, elem_var_index,
- elem_blk_id, num_elem_this_blk, elem_var_vals);
-}
diff --git a/cbind/src/ex_put_elem_var_slab.c b/cbind/src/ex_put_elem_var_slab.c
deleted file mode 100644
index c299111..0000000
--- a/cbind/src/ex_put_elem_var_slab.c
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_elem_var_slab()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * time_step - The time step to write this data to.
- * elem_var_index - The index of this elemental variable.
- * elem_blk_id - The ID of the element block being written to.
- * start_pos - The start point for outputting data. The
- * first value is 0.
- * num_vals - The number of values to be output.
- * elem_var_vals - Pointer to the vector of values to be output.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <stdlib.h>
-
-/*
- * writes the values of a single element variable for one element block,
- * starting at start_pos, at one time step to the database; assume the
- * first time step and element variable index are 1
- */
-
-int ex_put_elem_var_slab (int exoid,
- int time_step,
- int elem_var_index,
- ex_entity_id elem_blk_id,
- int64_t start_pos,
- int64_t num_vals,
- void *elem_var_vals)
-{
- int status;
- int varid, dimid,time_dim, numelbdim, dims[2], elem_blk_id_ndx;
- size_t num_elem_blk, num_elem_var, start[2], count[2];
- int *elem_var_tab;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of elem_blk_id in VAR_ID_EL_BLK array */
- if ((elem_blk_id_ndx = ex_id_lkup(exoid, EX_ELEM_BLOCK, elem_blk_id)) < 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no variables allowed for NULL block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_elem_var_slab", errmsg, EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate element block id %"PRId64" in %s array in file id %d",
- elem_blk_id, VAR_ID_EL_BLK, exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- if ((status = nc_inq_varid (exoid,
- VAR_ELEM_VAR(elem_var_index, elem_blk_id_ndx), &varid)) != NC_NOERR) {
- if (status == NC_ENOTVAR) { /* variable doesn't exist, create it! */
-
- /* inquire previously defined dimensions */
-
- /* check for the existance of an element variable truth table */
- if ((status = nc_inq_varid (exoid, VAR_ELEM_TAB, &varid)) == NC_NOERR) {
- /* find out number of element blocks and element variables */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_EL_BLK, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of element blocks in file id %d",
- exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_elem_blk)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of element blocks in file id %d",
- exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_ELE_VAR, &dimid)) != NC_NOERR) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: no element variables stored in file id %d",
- exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_elem_var)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of element variables in file id %d",
- exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (!(elem_var_tab =
- (int *)malloc(num_elem_blk*num_elem_var*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for element variable truth table in file id %d",
- exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* read in the element variable truth table */
- if ((status = nc_get_var_int(exoid, varid, elem_var_tab)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get truth table from file id %d", exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (elem_var_tab[num_elem_var*(elem_blk_id_ndx-1)+elem_var_index-1] == 0L) {
- free(elem_var_tab);
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid element variable %d, block %"PRId64" in file id %d",
- elem_var_index, elem_blk_id, exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
- free(elem_var_tab);
- }
-
- if ((status = nc_inq_dimid (exoid, DIM_TIME, &time_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate time dimension in file id %d", exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_EL_IN_BLK(elem_blk_id_ndx), &numelbdim)) != NC_NOERR) {
- if (status == NC_EBADDIM) {
- exerrval = status;
- sprintf(errmsg,
- "Error: number of elements in element block %"PRId64" not defined in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of elements in element block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- }
- goto error_ret;
- }
-
- /* variable doesn't exist so put file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode", exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
-
-
- /* define netCDF variable to store element variable values */
- dims[0] = time_dim;
- dims[1] = numelbdim;
- if ((status = nc_def_var(exoid, VAR_ELEM_VAR(elem_var_index, elem_blk_id_ndx),
- nc_flt_code(exoid), 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define element variable %d in file id %d",
- elem_var_index, exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- goto error_ret;
- }
- ex_compress_variable(exoid, varid, 2);
-
-
- /* leave define mode */
- if ((status = nc_enddef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete element variable %s definition to file id %d",
- VAR_ELEM_VAR(elem_var_index, elem_blk_id_ndx), exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate element variable %s in file id %d",
- VAR_ELEM_VAR(elem_var_index, elem_blk_id_ndx),exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- /* store element variable values */
- start[0] = --time_step;
- start[1] = --start_pos;
-
- count[0] = 1;
- count[1] = num_vals;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, varid, start, count, elem_var_vals);
- } else {
- status = nc_put_vara_double(exoid, varid, start, count, elem_var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store element variable %d in file id %d",
- elem_var_index, exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d", exoid);
- ex_err("ex_put_elem_var_slab", errmsg, exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_elem_var_tab.c b/cbind/src/ex_put_elem_var_tab.c
deleted file mode 100644
index 9498b02..0000000
--- a/cbind/src/ex_put_elem_var_tab.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvtt - ex_put_elem_var_tab
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_elem_blk number of element blocks
-* int num_elem_var number of element variables
-* int* elem_var_tab element variable truth table array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\deprecated Use ex_put_truth_table()(exoid, EX_ELEM_BLOCK, num_elem_blk, num_elem_var, elem_var_tab)
-
-The function ex_put_elem_var_tab() writes the exodus element variable
-truth table to the database. The element variable truth table
-indicates whether a particular element result is written for the
-elements in a particular element block. A 0 (zero) entry indicates
-that no results will be output for that element variable for that
-element block. A non-zero entry indicates that the appropriate results
-will be output.
-
-Although writing the element variable truth table is optional, it is
-encouraged because it creates at one time all the necessary
-\code{NetCDF} variables in which to hold the exodus element variable
-values. This results in significant time savings. See
-Section #Efficiency for a discussion of efficiency issues.
-
-The function ex_put_variable_param() must be called before this
-routine in order to define the number of element variables.
-
-\return In case of an error, ex_put_elem_var_tab() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - the specified number of element blocks is different than the
- number specified in a call to ex_put_init().
- - ex_put_elem_block() not called previously to specify
- element block parameters.
- - ex_put_variable_param() not called previously to specify
- the number of element variables or was called but with a different
- number of element variables.
- - ex_put_elem_var() previously called.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] num_elem_blk The number of element blocks.
-\param[in] num_elem_var The number of element variables.
-\param[in] elem_var_tab Size [num_elem_blk,num_elem_var]. A 2-dimensional array
- (with the \c num_elem_var index cycling faster)
- containing the element variable truth table.
-
-The following coding will create, populate, and write an element
-variable truth table to an opened exodus file (NOTE: all element
-variables are valid for all element blocks in this example.):
-
-\code
-int *truth_tab, num_elem_blk, num_ele_vars, error, exoid;
-
-\comment{write element variable truth table}
-truth_tab = (int *)calloc((num_elem_blk*num_ele_vars), sizeof(int));
-
-for (i=0, k=0; i < num_elem_blk; i++) {
- for (j=0; j < num_ele_vars; j++) {
- truth_tab[k++] = 1;
- }
-}
-error = ex_put_elem_var_tab(exoid, num_elem_blk, num_ele_vars,
- truth_tab);
-\endcode
-
-*/
-
-int ex_put_elem_var_tab (int exoid,
- int num_elem_blk,
- int num_elem_var,
- int *elem_var_tab)
-{
- return ex_put_truth_table(exoid, EX_ELEM_BLOCK, num_elem_blk, num_elem_var, elem_var_tab);
-}
diff --git a/cbind/src/ex_put_entity_count_per_polyhedra.c b/cbind/src/ex_put_entity_count_per_polyhedra.c
deleted file mode 100644
index 7347119..0000000
--- a/cbind/src/ex_put_entity_count_per_polyhedra.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expecpp - ex_put_entity_count_per_polyhedra
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-#include <string.h>
-
-/*!
- * writes out the number of entities (nodes/faces) per polyhedra
- * (nsided/nfaced) in this element block to the database.
- * \param exoid exodus file id
- * \param blk_type type of block (face, or element)
- * \param blk_id block identifer
- * \param entity_counts entity_per_polyhedra count array
- */
-
-int ex_put_entity_count_per_polyhedra (int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- const int *entity_counts)
-{
- int npeid=-1, blk_id_ndx, status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- blk_id_ndx = ex_id_lkup(exoid,blk_type,blk_id);
- if (exerrval != 0)
- {
- if (exerrval == EX_NULLENTITY)
- {
- sprintf(errmsg,
- "Warning: entity_counts array not allowed for NULL %s block %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_entity_count_per_polyhedra",errmsg,EX_MSG);
- return (EX_WARN);
- }
- else
- {
- sprintf(errmsg,
- "Error: failed to locate %s block id %"PRId64" in id array in file id %d",
- ex_name_of_object(blk_type),blk_id, exoid);
- ex_err("ex_put_entity_count_per_polyhedra",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions */
- switch (blk_type) {
- case EX_ELEM_BLOCK:
- status = nc_inq_varid (exoid, VAR_EBEPEC(blk_id_ndx), &npeid);
- break;
- case EX_FACE_BLOCK:
- status = nc_inq_varid (exoid, VAR_FBEPEC(blk_id_ndx), &npeid);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized block type in switch: %d in file id %d",
- blk_type,exoid);
- ex_err("ex_put_entity_count_per_polyhedra",errmsg,EX_MSG);
- return (EX_FATAL);
- }
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate entity_counts array for %s block %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_entity_count_per_polyhedra",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- status = nc_put_var_int(exoid, npeid, entity_counts);
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to write node counts array for %s block %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_entity_count_per_polyhedra",errmsg, exerrval);
- return(EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_glob_vars.c b/cbind/src/ex_put_glob_vars.c
deleted file mode 100644
index c18a22c..0000000
--- a/cbind/src/ex_put_glob_vars.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expgv - ex_put_glo_vars
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* int num_glob_vars number of global vars in file
-* float* glob_var_vals array of global variable values
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-\deprecated Use ex_put_var()(exoid, time_step, EX_GLOBAL, 1, 0, num_glob_vars, glob_var_vals)
-
-The function ex_put_glob_vars() writes the values of all the global
-variables for a single time step. The function ex_put_variable_param()
-must be invoked before this call is made.
-
-Because global variables are floating point values, the application
-code must declare the array passed to be the appropriate type (\c
-float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_put_glob_vars() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - ex_put_variable_param() not called previously specifying
- the number of global variables.
-
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] time_step The time step number, as described under ex_put_time().
- This is essentially a counter that is incremented when results
- variables are output. The first time step is 1.
-\param[in] num_glob_vars The number of global variables to be written to the database.
-\param[in] glob_var_vals Array of \c num_glob_vars global variable values for
- the \c time_step-th time step.
-
-
-As an example, the following coding will write the values of all the
-global variables at one time step to an open exodus II file:
-
-\code
-int num_glo_vars, error, exoid, time_step;
-
-float *glob_var_vals
-
-\comment{write global variables}
-for (j=0; j < num_glo_vars; j++) {
- \comment{application code fills this array}
- glob_var_vals[j] = 10.0;
-}
-error = ex_put_glob_vars (exoid, time_step, num_glo_vars, glob_var_vals);
-
-\comment{Using non-deprecated functions:}
-error = ex_put_var (exoid, time_step, EX_GLOBAL, 1, 0, num_glo_vars, glob_var_vals);
-
-\endcode
-
-*/
-
-int ex_put_glob_vars (int exoid,
- int time_step,
- int num_glob_vars,
- const void *glob_var_vals)
-{
- return ex_put_var( exoid, time_step, EX_GLOBAL, 1, 0 /*N/A*/, num_glob_vars, glob_var_vals );
-}
diff --git a/cbind/src/ex_put_id_map.c b/cbind/src/ex_put_id_map.c
deleted file mode 100644
index 8bdd20d..0000000
--- a/cbind/src/ex_put_id_map.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (c) 2007 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expenm - ex_put_id_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* ex_entity_type obj_type
-* int* elem_map element numbering map array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*!
- * writes out the entity numbering map to the database; this allows
- * the entity numbers to be non-contiguous. This map is used for
- * mapping between local and global entity ids.
- * \param exoid exodus file id
- * \param map_type
- * \param map element numbering map array
- */
-
-int ex_put_id_map (int exoid,
- ex_entity_type map_type,
- const void_int *map)
-{
- int dimid, mapid, status, dims[1];
- int map_int_type;
- char errmsg[MAX_ERR_LENGTH];
- const char* tname;
- const char* dnumentries;
- const char* vmap;
-
- exerrval = 0; /* clear error code */
-
- switch ( map_type ) {
- case EX_NODE_MAP:
- tname = "node";
- dnumentries = DIM_NUM_NODES;
- vmap = VAR_NODE_NUM_MAP;
- break;
- case EX_EDGE_MAP:
- tname = "edge";
- dnumentries = DIM_NUM_EDGE;
- vmap = VAR_EDGE_NUM_MAP;
- break;
- case EX_FACE_MAP:
- tname = "face";
- dnumentries = DIM_NUM_FACE;
- vmap = VAR_FACE_NUM_MAP;
- break;
- case EX_ELEM_MAP:
- tname = "element";
- dnumentries = DIM_NUM_ELEM;
- vmap = VAR_ELEM_NUM_MAP;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg,
- "Error: Bad map type (%d) specified for file id %d",
- map_type, exoid );
- ex_err( "ex_put_id_map", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- /* Make sure the file contains entries */
- if (nc_inq_dimid (exoid, dnumentries, &dimid) != NC_NOERR) {
- return (EX_NOERR);
- }
-
- /* put netcdf file into define mode */
- if (nc_inq_varid (exoid, vmap, &mapid) != NC_NOERR) {
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode",
- exoid);
- ex_err("ex_put_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* create a variable array in which to store the id map */
- dims[0] = dimid;
-
- /* Check type to be used for maps... */
- map_int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_MAPS_INT64_DB) {
- map_int_type = NC_INT64;
- }
-
- if ((status = nc_def_var(exoid, vmap, map_int_type, 1, dims, &mapid)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: %s numbering map already exists in file id %d",
- tname, exoid);
- ex_err("ex_put_id_map",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create %s id map in file id %d",
- tname, exoid);
- ex_err("ex_put_id_map",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, mapid, 1);
-
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition in file id %d",
- exoid);
- ex_err("ex_put_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* write out the entity numbering map */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_var_longlong(exoid, mapid, map);
- } else {
- status = nc_put_var_int(exoid, mapid, map);
- }
-
- if (status!= NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s numbering map in file id %d",
- tname, exoid);
- ex_err("ex_put_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_id_map",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
-
diff --git a/cbind/src/ex_put_info.c b/cbind/src/ex_put_info.c
deleted file mode 100644
index fbf4957..0000000
--- a/cbind/src/ex_put_info.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
-The function ex_put_info() writes information records to the
-database. The records are \c MAX_LINE_LENGTH-character strings.
-
-In case of an error, ex_put_info() returns a negative number;
-a warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - information records already exist in file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] num_info The number of information records.
-\param[in] info Array containing the information records. To only
- define the number of info records instead of
- defining and outputting, pass NULL for
- info argument.
-
-
-The following code will write out three information records
-to an open exodus file -
-
-\code
-#include "exodusII.h"
-int error, exoid, num_info;
-char *info[3];
-
-\comment{write information records}
-num_info = 3;
-
-info[0] = "This is the first information record.";
-info[1] = "This is the second information record.";
-info[2] = "This is the third information record.";
-
-error = ex_put_info(exoid, num_info, info);
-\endcode
-
-The following code will first tell the database that there are three
-information records, and then later actually output those records.
-
-\code
-#include "exodusII.h"
-int error, exoid, num_info;
-char *info[3];
-
-\comment{Define the number of information records that will be written
-later.}
-num_info = 3;
-
-error = ex_put_info(exoid, num_info, NULL);
-
-
-\comment{Now, actually write the information records}
-info[0] = "This is the first information record.";
-info[1] = "This is the second information record.";
-info[2] = "This is the third information record.";
-error = ex_put_info(exoid, num_info, info);
-
-\endcode
-
- */
-
-int ex_put_info (int exoid,
- int num_info,
- char *info[])
-{
- int status;
- int i, lindim, num_info_dim, dims[2], varid;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* only do this if there are records */
- if (num_info > 0) {
-
- /* See if the number of info records has already been defined.
- Assume that if the DIM_NUM_INFO dimension exists, then the
- VAR_INFO variable also exists...
- */
- status = nc_inq_dimid(exoid, DIM_NUM_INFO, &num_info_dim);
- if (status != NC_NOERR) {
-
- /* inquire previously defined dimensions */
- if ((status = nc_inq_dimid(exoid, DIM_LIN, &lindim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get line string length in file id %d", exoid);
- ex_err("ex_put_info",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* put file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed put file id %d into define mode", exoid);
- ex_err("ex_put_info",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* define dimensions */
- if ((status = nc_def_dim(exoid, DIM_NUM_INFO, num_info, &num_info_dim)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) { /* duplicate entry? */
- exerrval = status;
- sprintf(errmsg,
- "Error: info records already exist in file id %d",
- exoid);
- ex_err("ex_put_info",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of info records in file id %d",
- exoid);
- ex_err("ex_put_info",errmsg,exerrval);
- }
-
- goto error_ret; /* exit define mode and return */
- }
-
- /* define variable */
- dims[0] = num_info_dim;
- dims[1] = lindim;
-
- if ((status = nc_def_var(exoid, VAR_INFO, NC_CHAR, 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define info record in file id %d",
- exoid);
- ex_err("ex_put_info",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 3);
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete info record definition in file id %d",
- exoid);
- ex_err("ex_put_info",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- if ((status = nc_inq_varid(exoid, VAR_INFO, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find info record variable in file id %d",
- exoid);
- ex_err("ex_put_info",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if (info != NULL) {
- /* write out information records */
- for (i=0; i<num_info; i++) {
- int length = strlen(info[i]);
- start[0] = i;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = length < MAX_LINE_LENGTH ? length : MAX_LINE_LENGTH;
-
- if ((status = nc_put_vara_text(exoid, varid, start, count, info[i])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store info record in file id %d",
- exoid);
- ex_err("ex_put_info",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- } else if (ex_is_parallel(exoid)) {
- /* All processors need to call nc_put_vara_text in case in a global collective mode */
- char dummy[] = " ";
- for (i=0; i<num_info; i++) {
- start[0] = start[1] = 0;
- count[0] = count[1] = 0;
- nc_put_vara_text(exoid, varid, start, count, dummy);
- }
- }
- }
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_info",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_init.c b/cbind/src/ex_put_init.c
deleted file mode 100644
index cb9e601..0000000
--- a/cbind/src/ex_put_init.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
-
-The function ex_put_init() writes the initialization parameters to the
-exodus file. This function must be called once (and only once) before
-writing any data to the file.
-
-\return In case of an error, ex_put_init() returns a negative number;
-a warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - this routine has been called previously.
-
-\param exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param title Database title. Maximum length is \c MAX_LINE_LENGTH.
-\param num_dim The dimensionality of the database. This is the number of coordinates per node.
-\param num_nodes The number of nodal points.
-\param num_elem The number of elements.
-\param num_elem_blk The number of element blocks.
-\param num_node_sets The number of node sets.
-\param num_side_sets The number of side sets.
-
-The following code segment will initialize an open exodus file with
-the specified parameters:
-
-\code
-int num_dim, num_nods, num_el, num_el_blk, num_ns, num_ss, error, exoid;
-
-\comment{initialize file with parameters}
-num_dim = 3; num_nods = 46; num_el = 5; num_el_blk = 5;
-num_ns = 2; num_ss = 5;
-
-error = ex_put_init (exoid, "This is the title", num_dim,
- num_nods, num_el,num_el_blk, num_ns, num_ss);
-\endcode
-
-*/
-
-int ex_put_init (int exoid,
- const char *title,
- int64_t num_dim,
- int64_t num_nodes,
- int64_t num_elem,
- int64_t num_elem_blk,
- int64_t num_node_sets,
- int64_t num_side_sets)
-{
- ex_init_params par;
-
- strcpy( par.title, title );
- par.num_dim = num_dim;
- par.num_nodes = num_nodes;
- par.num_edge = 0;
- par.num_edge_blk = 0;
- par.num_face = 0;
- par.num_face_blk = 0;
- par.num_elem = num_elem;
- par.num_elem_blk = num_elem_blk;
- par.num_node_sets = num_node_sets;
- par.num_edge_sets = 0;
- par.num_face_sets = 0;
- par.num_side_sets = num_side_sets;
- par.num_elem_sets = 0;
- par.num_node_maps = 0;
- par.num_edge_maps = 0;
- par.num_face_maps = 0;
- par.num_elem_maps = 0;
-
- return (ex_put_init_ext( exoid, &par ));
-}
diff --git a/cbind/src/ex_put_init_ext.c b/cbind/src/ex_put_init_ext.c
deleted file mode 100644
index 7594709..0000000
--- a/cbind/src/ex_put_init_ext.c
+++ /dev/null
@@ -1,592 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expinix - ex_put_init_ext
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* const ex_init_params* params finite element model parameters
-*
-* exit conditions -
-*
-* revision history -
-* David Thompson - Added edge/face blocks/sets
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-
-static void write_dummy_names(int exoid, ex_entity_type obj_type)
-{
- const char *routine = "write_dummy_names";
- size_t start[2], count[2];
- char *text = "";
- int varid;
- size_t num_entity;
- size_t i;
-
- ex_get_dimension(exoid, ex_dim_num_objects(obj_type),
- ex_name_of_object(obj_type),
- &num_entity, &varid, routine);
-
- for (i = 0; i < num_entity; i++) {
- start[0] = i;
- count[0] = 1;
-
- start[1] = 0;
- count[1] = strlen(text)+1;
-
- nc_put_vara_text(exoid, varid, start, count, text);
- }
-}
-
-static int ex_write_object_names(int exoid, const char *type, const char *dimension_name,
- int dimension_var, int string_dimension, int count)
-{
- int dim[2];
- int status;
- int varid;
- char errmsg[MAX_ERR_LENGTH];
-
- if (count > 0) {
- dim[0] = dimension_var;
- dim[1] = string_dimension;
-
- if ((status = nc_def_var (exoid, dimension_name, NC_CHAR, 2, dim, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s name array in file id %d",type,exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return status; /* exit define mode and return */
- }
- }
- return NC_NOERR;
-}
-
-static int ex_write_object_params(int exoid, const char *type, const char *dimension_name,
- const char *status_dim_name, const char *id_array_dim_name,
- size_t count, int *dimension)
-{
- int dim[2];
- int varid;
- int status;
- int int_type;
- char errmsg[MAX_ERR_LENGTH];
-
- /* Can have nonzero model->num_elem_blk even if model->num_elem == 0 */
- if (count > 0) {
- if ((status = nc_def_dim(exoid, dimension_name, count, dimension)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of %ss in file id %d",
- type, exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return status; /* exit define mode and return */
- }
- /* ...and some variables */
- /* element block id status array */
- dim[0] = *dimension;
- if ((status = nc_def_var (exoid, status_dim_name, NC_INT, 1, dim, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s status array in file id %d", type, exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return status; /* exit define mode and return */
- }
-
- /* type id array */
- int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- int_type = NC_INT64;
- }
- if ((status = nc_def_var (exoid, id_array_dim_name, int_type, 1, dim, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s id array in file id %d", type, exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return status; /* exit define mode and return */
- }
-
- /* store property name as attribute of property array variable */
- if ((status=nc_put_att_text(exoid, varid, ATT_PROP_NAME, 3, "ID")) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s property name %s in file id %d",
- type, "ID", exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return status;
- }
- }
- return NC_NOERR;
-}
-
-static int ex_write_map_params(int exoid, const char *map_name, const char *map_dim_name,
- const char *map_id_name, size_t map_count, int *map_dimension)
-{
- int dim[2];
- int varid;
- int status;
- char errmsg[MAX_ERR_LENGTH];
-
- int int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- int_type = NC_INT64;
- }
-
- /* Can have nonzero model->num_XXXX_map even if model->num_XXXX == 0 */
- if ((map_count) > 0) {
- if ((status = nc_def_dim(exoid, map_dim_name, map_count, map_dimension)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of %ss in file id %d",
- map_name, exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return status; /* exit define mode and return */
- }
-
- dim[0] = *map_dimension;
-
- /* map_name id array */
- if ((status = nc_def_var(exoid, map_id_name, int_type, 1, dim, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s id array in file id %d", map_name, exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return status; /* exit define mode and return */
- }
-
- /* store property name as attribute of property array variable */
- if ((status=nc_put_att_text(exoid, varid, ATT_PROP_NAME, 3, "ID")) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s property name %s in file id %d",
- map_name, "ID",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- return NC_NOERR;
-}
-
-static void invalidate_id_status(int exoid, const char *var_stat,
- const char *var_id, int count, int *ids)
-{
- int i;
- int id_var, stat_var;
-
- if (count > 0) {
- if (var_id != 0) {
- for (i=0; i < count; i++) {
- ids[i] = EX_INVALID_ID;
- }
- nc_inq_varid(exoid, var_id, &id_var);
- nc_put_var_int(exoid, id_var, ids);
- }
-
- if (var_stat != 0) {
- for (i=0; i < count; i++) {
- ids[i] = 0;
- }
-
- nc_inq_varid(exoid, var_stat, &stat_var);
- nc_put_var_int(exoid, stat_var, ids);
- }
- }
-}
-
-/*!
- * writes the initialization parameters to the EXODUS II file
- * \param exoid exodus file id
- * \param model finite element model parameters
- */
-
-int ex_put_init_ext (int exoid,
- const ex_init_params *model)
-{
- int numdimdim, numnoddim, elblkdim, edblkdim, fablkdim, esetdim,
- fsetdim, elsetdim, nsetdim, ssetdim, dim_str_name, dim[2], temp;
- int status;
- int nmapdim,edmapdim,famapdim,emapdim;
- int title_len;
-#if 0
- /* used for header size calculations which are turned off for now */
- int header_size, fixed_var_size, iows;
-#endif
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if (nc_inq_dimid (exoid, DIM_NUM_DIM, &temp) == NC_NOERR)
- {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: initialization already done for file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* put file into define mode */
-
- if ((status = nc_redef (exoid)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode", exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* define some attributes... */
- title_len = strlen(model->title) < MAX_LINE_LENGTH ?
- strlen(model->title) : MAX_LINE_LENGTH;
- if ((status = nc_put_att_text(exoid, NC_GLOBAL, (const char*)ATT_TITLE,
- title_len+1, model->title)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define model->title attribute to file id %d", exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* ...and some dimensions... */
-
- /* create name string length dimension */
- {
- int max_name = ex_inquire_int(exoid, EX_INQ_MAX_READ_NAME_LENGTH);
- if (max_name < ex_default_max_name_length) max_name = ex_default_max_name_length;
- if ((status=nc_def_dim (exoid, DIM_STR_NAME, max_name+1, &dim_str_name)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define name string length in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret;
- }
- }
-
- {
- int max_so_far = 32;
- if ((status=nc_put_att_int(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, NC_INT, 1, &max_so_far)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add maximum_name_length attribute in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret;
- }
- }
-
- if ((status = nc_def_dim(exoid, DIM_NUM_DIM, model->num_dim, &numdimdim)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of dimensions in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /*
- * Need to handle "empty file" that may be the result of a strange
- * load balance or some other strange run. Note that if num_node
- * == 0, then model->num_elem must be zero since you cannot have elements
- * with no nodes. It *is* permissible to have zero elements with
- * non-zero node count.
- */
-
- if (model->num_nodes > 0) {
- if ((status = nc_def_dim(exoid, DIM_NUM_NODES, model->num_nodes, &numnoddim)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of nodes in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- if (model->num_elem > 0) {
- if (model->num_nodes <= 0) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: Cannot have non-zero element count if node count is zero.in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if ((status = nc_def_dim(exoid, DIM_NUM_ELEM, model->num_elem, &temp)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of elements in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- if (model->num_edge > 0) {
- if (model->num_nodes <= 0) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: Cannot have non-zero edge count if node count is zero.in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if ((status = nc_def_dim(exoid, DIM_NUM_EDGE, model->num_edge, &temp)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of edges in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- if (model->num_face > 0) {
- if (model->num_nodes <= 0) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: Cannot have non-zero face count if node count is zero.in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- if ((status = nc_def_dim(exoid, DIM_NUM_FACE, model->num_face, &temp)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of faces in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- if (ex_write_object_params(exoid, "element block", DIM_NUM_EL_BLK, VAR_STAT_EL_BLK, VAR_ID_EL_BLK, model->num_elem_blk, &elblkdim)) goto error_ret;
- if (ex_write_object_params(exoid, "edge block", DIM_NUM_ED_BLK, VAR_STAT_ED_BLK, VAR_ID_ED_BLK, model->num_edge_blk, &edblkdim)) goto error_ret;
- if (ex_write_object_params(exoid, "face block", DIM_NUM_FA_BLK, VAR_STAT_FA_BLK, VAR_ID_FA_BLK, model->num_face_blk, &fablkdim)) goto error_ret;
-
- if (ex_write_object_params(exoid, "node set", DIM_NUM_NS, VAR_NS_STAT, VAR_NS_IDS, model->num_node_sets, &nsetdim)) goto error_ret;
- if (ex_write_object_params(exoid, "edge set", DIM_NUM_ES, VAR_ES_STAT, VAR_ES_IDS, model->num_edge_sets, &esetdim)) goto error_ret;
- if (ex_write_object_params(exoid, "face set", DIM_NUM_FS, VAR_FS_STAT, VAR_FS_IDS, model->num_face_sets, &fsetdim)) goto error_ret;
- if (ex_write_object_params(exoid, "side set", DIM_NUM_SS, VAR_SS_STAT, VAR_SS_IDS, model->num_side_sets, &ssetdim)) goto error_ret;
- if (ex_write_object_params(exoid, "elem set", DIM_NUM_ELS, VAR_ELS_STAT, VAR_ELS_IDS, model->num_elem_sets, &elsetdim)) goto error_ret;
-
- if (ex_write_map_params(exoid, "node map", DIM_NUM_NM, VAR_NM_PROP(1), model->num_node_maps, &nmapdim) != NC_NOERR) goto error_ret;
- if (ex_write_map_params(exoid, "edge map", DIM_NUM_EDM, VAR_EDM_PROP(1), model->num_edge_maps, &edmapdim) != NC_NOERR) goto error_ret;
- if (ex_write_map_params(exoid, "face map", DIM_NUM_FAM, VAR_FAM_PROP(1), model->num_face_maps, &famapdim) != NC_NOERR) goto error_ret;
- if (ex_write_map_params(exoid, "element map", DIM_NUM_EM, VAR_EM_PROP(1), model->num_elem_maps, &emapdim) != NC_NOERR) goto error_ret;
-
- /*
- * To reduce the maximum dataset sizes, the storage of the nodal
- * coordinates and the nodal variables was changed from a single
- * dataset to a dataset per component or variable. However, we
- * want to maintain some form of compatability with the old
- * exodusII version. It is easy to do this on read; however, we
- * also want to be able to store in the old format using the new
- * library.
- *
- * The mode is set in the ex_create call. The setting can be checked
- * via the ATT_FILESIZE attribute in the file (1=large,
- * 0=normal). Also handle old files that do not contain this
- * attribute.
- */
-
- if (model->num_nodes > 0) {
- if (ex_large_model(exoid) == 1) {
- /* node coordinate arrays -- separate storage... */
-
- dim[0] = numnoddim;
- if (model->num_dim > 0) {
- if ((status = nc_def_var (exoid, VAR_COORD_X, nc_flt_code(exoid), 1, dim, &temp)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define node x coordinate array in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, temp, 2);
- }
-
- if (model->num_dim > 1) {
- if ((status = nc_def_var(exoid, VAR_COORD_Y, nc_flt_code(exoid), 1, dim, &temp)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define node y coordinate array in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, temp, 2);
- }
-
- if (model->num_dim > 2) {
- if ((status = nc_def_var(exoid, VAR_COORD_Z, nc_flt_code(exoid), 1, dim, &temp)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define node z coordinate array in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, temp, 2);
- }
- } else {
- /* node coordinate arrays: -- all stored together (old method) */
-
- dim[0] = numdimdim;
- dim[1] = numnoddim;
- if ((status = nc_def_var(exoid, VAR_COORD, nc_flt_code(exoid), 2, dim, &temp)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define node coordinate array in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
- }
-
- if (ex_write_object_names(exoid, "element block",VAR_NAME_EL_BLK,elblkdim, dim_str_name, model->num_elem_blk) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "edge block", VAR_NAME_ED_BLK,edblkdim, dim_str_name, model->num_edge_blk) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "face block", VAR_NAME_FA_BLK,fablkdim, dim_str_name, model->num_face_blk) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "node set", VAR_NAME_NS, nsetdim, dim_str_name, model->num_node_sets) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "edge set", VAR_NAME_ES, esetdim, dim_str_name, model->num_edge_sets) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "face set", VAR_NAME_FS, fsetdim, dim_str_name, model->num_face_sets) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "side set", VAR_NAME_SS, ssetdim, dim_str_name, model->num_side_sets) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "element set", VAR_NAME_ELS, elsetdim, dim_str_name, model->num_elem_sets) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "node map", VAR_NAME_NM, nmapdim, dim_str_name, model->num_node_maps) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "edge map", VAR_NAME_EDM, edmapdim, dim_str_name, model->num_edge_maps) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "face map", VAR_NAME_FAM, famapdim, dim_str_name, model->num_face_maps) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "element map", VAR_NAME_EM, emapdim, dim_str_name, model->num_elem_maps) != NC_NOERR) goto error_ret;
- if (ex_write_object_names(exoid, "coordinate", VAR_NAME_COOR, numdimdim,dim_str_name, model->num_dim) != NC_NOERR) goto error_ret;
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete variable definitions in file id %d",exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Fill the id and status arrays with EX_INVALID_ID */
- {
- int *invalid_ids = NULL;
- int maxset = model->num_elem_blk;
- if (maxset < model->num_edge_blk) maxset = model->num_edge_blk;
- if (maxset < model->num_face_blk) maxset = model->num_face_blk;
- if (maxset < model->num_node_sets) maxset = model->num_node_sets;
- if (maxset < model->num_edge_sets) maxset = model->num_edge_sets;
- if (maxset < model->num_face_sets) maxset = model->num_face_sets;
- if (maxset < model->num_side_sets) maxset = model->num_side_sets;
- if (maxset < model->num_elem_sets) maxset = model->num_elem_sets;
- if (maxset < model->num_node_maps) maxset = model->num_node_maps;
- if (maxset < model->num_edge_maps) maxset = model->num_edge_maps;
- if (maxset < model->num_face_maps) maxset = model->num_face_maps;
- if (maxset < model->num_elem_maps) maxset = model->num_elem_maps;
-
- /* allocate space for id/status array */
- if (!(invalid_ids = malloc(maxset*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for id/status array for file id %d", exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- invalidate_id_status(exoid, VAR_STAT_EL_BLK, VAR_ID_EL_BLK,
- model->num_elem_blk, invalid_ids);
- invalidate_id_status(exoid, VAR_STAT_ED_BLK, VAR_ID_ED_BLK,
- model->num_edge_blk, invalid_ids);
- invalidate_id_status(exoid, VAR_STAT_FA_BLK, VAR_ID_FA_BLK,
- model->num_face_blk, invalid_ids);
- invalidate_id_status(exoid, VAR_NS_STAT, VAR_NS_IDS,
- model->num_node_sets, invalid_ids);
- invalidate_id_status(exoid, VAR_ES_STAT, VAR_ES_IDS,
- model->num_edge_sets, invalid_ids);
- invalidate_id_status(exoid, VAR_FS_STAT, VAR_FS_IDS,
- model->num_face_sets, invalid_ids);
- invalidate_id_status(exoid, VAR_SS_STAT, VAR_SS_IDS,
- model->num_side_sets, invalid_ids);
- invalidate_id_status(exoid, VAR_ELS_STAT, VAR_ELS_IDS,
- model->num_elem_sets, invalid_ids);
-
- invalidate_id_status(exoid, 0, VAR_NM_PROP(1), model->num_node_maps, invalid_ids);
- invalidate_id_status(exoid, 0, VAR_EDM_PROP(1), model->num_edge_maps, invalid_ids);
- invalidate_id_status(exoid, 0, VAR_FAM_PROP(1), model->num_face_maps, invalid_ids);
- invalidate_id_status(exoid, 0, VAR_EM_PROP(1), model->num_elem_maps, invalid_ids);
-
- if (invalid_ids != NULL) {
- free(invalid_ids);
- invalid_ids = NULL;
- }
- }
-
- /* Write dummy values to the names arrays to avoid corruption issues on some platforms */
- if (model->num_elem_blk > 0) write_dummy_names(exoid, EX_ELEM_BLOCK);
- if (model->num_edge_blk > 0) write_dummy_names(exoid, EX_EDGE_BLOCK);
- if (model->num_face_blk > 0) write_dummy_names(exoid, EX_FACE_BLOCK);
- if (model->num_node_sets> 0) write_dummy_names(exoid, EX_NODE_SET);
- if (model->num_edge_sets> 0) write_dummy_names(exoid, EX_EDGE_SET);
- if (model->num_face_sets> 0) write_dummy_names(exoid, EX_FACE_SET);
- if (model->num_side_sets> 0) write_dummy_names(exoid, EX_SIDE_SET);
- if (model->num_elem_sets> 0) write_dummy_names(exoid, EX_ELEM_SET);
- if (model->num_node_maps> 0) write_dummy_names(exoid, EX_NODE_MAP);
- if (model->num_edge_maps> 0) write_dummy_names(exoid, EX_EDGE_MAP);
- if (model->num_face_maps> 0) write_dummy_names(exoid, EX_FACE_MAP);
- if (model->num_elem_maps> 0) write_dummy_names(exoid, EX_ELEM_MAP);
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_init_ext",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
-
diff --git a/cbind/src/ex_put_init_global.c b/cbind/src/ex_put_init_global.c
deleted file mode 100644
index 3f251d6..0000000
--- a/cbind/src/ex_put_init_global.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_init_global()
- *****************************************************************************
- * This function outputs the initial global information.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * num_nodes_g - The number of global FEM nodes. This is output as
- * a NetCDF variable.
- * num_elems_g - The number of global FEM elements. This is output
- * as a NetCDF variable.
- * num_elem_blks_g - The number of global element blocks. This is output
- * as a NetCDF dimension.
- * num_node_sets_g - The number of global node sets. This is output as
- * a NetCDF dimension.
- * num_side_sets_g - The number of global side sets. This is output as
- * a NetCDF dimension.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_init_global(int exoid,
- int64_t num_nodes_g,
- int64_t num_elems_g,
- int64_t num_elem_blks_g,
- int64_t num_node_sets_g,
- int64_t num_side_sets_g
- )
-{
- const char *func_name="ex_put_init_global";
-
- int varid, dimid, status;
- char errmsg[MAX_ERR_LENGTH];
-
- int int_type = NC_INT;
- int id_type = NC_INT;
- if (ex_int64_status(exoid) & EX_BULK_INT64_DB) {
- int_type = NC_INT64;
- }
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- id_type = NC_INT64;
- }
-/*-----------------------------Execution begins-----------------------------*/
- exerrval = 0; /* clear error code */
-
-
- /* Put NetCDF file into define mode */
- if ((status = nc_redef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file ID %d into define mode", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the file version */
- if ((status=ex_put_nemesis_version(exoid)) < 0) return (status);
-
- /* Define dimension for number of global nodes */
- if ((status = nc_def_dim(exoid, DIM_NUM_NODES_GLOBAL, num_nodes_g, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file ID %d",
- DIM_NUM_NODES_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define dimension for number of global elements */
- if ((status = nc_def_dim(exoid, DIM_NUM_ELEMS_GLOBAL, num_elems_g, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file ID %d",
- DIM_NUM_ELEMS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /*
- * Output the number of global element blocks. This is output as a
- * dimension since the vector of global element block IDs is sized
- * by this quantity.
- */
- if ((status = nc_def_dim(exoid, DIM_NUM_ELBLK_GLOBAL, num_elem_blks_g, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file ID %d",
- DIM_NUM_ELBLK_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define the element block IDs variable. */
- if ((status = nc_def_var(exoid, VAR_ELBLK_IDS_GLOBAL, id_type, 1, &dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable definition for \"%s\" into file ID %d",
- VAR_ELBLK_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define the element block counts variable. */
- if ((status = nc_def_var(exoid, VAR_ELBLK_CNT_GLOBAL, int_type, 1, &dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable definition for \"%s\" into file ID %d",
- VAR_ELBLK_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /*
- * Output the number of global node sets. This is output as a
- * dimension since the vector of global element block IDs is sized
- * by this quantity.
- */
- if (num_node_sets_g > 0) {
- if ((status = nc_def_dim(exoid, DIM_NUM_NS_GLOBAL, num_node_sets_g, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file ID %d",
- DIM_NUM_NS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define the variable for output of global node set IDs */
- if ((status = nc_def_var(exoid, VAR_NS_IDS_GLOBAL, id_type, 1, &dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable definition for \"%s\" into file ID %d",
- VAR_NS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define variable for global node counts in each global node set */
- if ((status = nc_def_var(exoid, VAR_NS_NODE_CNT_GLOBAL, int_type, 1, &dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable definition for \"%s\" into file ID %d",
- VAR_NS_NODE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returing */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /*
- * Define variable for global dist. factor count in each global
- * node set
- */
- if ((status = nc_def_var(exoid, VAR_NS_DF_CNT_GLOBAL, int_type, 1, &dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable definition for \"%s\" into file ID %d",
- VAR_NS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returing */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_node_sets_g > 0)" */
-
- /*
- * Output the number of global side sets. This is output as a
- * dimension since the vector of global element block IDs is sized
- * by this quantity.
- */
- if (num_side_sets_g > 0) {
- if ((status = nc_def_dim(exoid, DIM_NUM_SS_GLOBAL, num_side_sets_g, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_SS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define the variable for output of global side set IDs */
- if ((status = nc_def_var(exoid, VAR_SS_IDS_GLOBAL, id_type, 1, &dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable definition for \"%s\" into file id %d",
- VAR_SS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /*
- * Define the variable for count of global number of sides in the
- * global side sets.
- */
- if ((status = nc_def_var(exoid, VAR_SS_SIDE_CNT_GLOBAL, int_type, 1, &dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable definition for \"%s\" into file id %d",
- VAR_SS_SIDE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /*
- * Define the variable for count of global dist. factors in the
- * global side sets.
- */
- if ((status = nc_def_var(exoid, VAR_SS_DF_CNT_GLOBAL, int_type, 1, &dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable definition for \"%s\" into file id %d",
- VAR_SS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_side_sets_g > 0)" */
-
- /* End define mode */
- if (ex_leavedef(exoid, func_name) != EX_NOERR)
- return (EX_FATAL);
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_init_info.c b/cbind/src/ex_put_init_info.c
deleted file mode 100644
index c09c87e..0000000
--- a/cbind/src/ex_put_init_info.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_init_info()
- *****************************************************************************
- * This function writes information about the processors for which the
- * decomposition was performed.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * num_proc - The number of processors in the decomposition.
- * num_proc_in_f - The number of processors the file contains
- * information for.
- * ftype - The type of Nemesis file.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_init_info(int exoid,
- int num_proc,
- int num_proc_in_f,
- char *ftype
- )
-{
- const char *func_name="ex_put_init_info";
-
- int dimid, varid;
- int ltempsv;
- int lftype;
- int status;
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Check the file type */
- if (!ftype) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: NULL file type input for file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Set the file type */
- if (ftype[0] == 'p' || ftype[0] == 'P')
- lftype = 0;
- else if (ftype[0] == 's' || ftype[0] == 'S')
- lftype = 1;
- else {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: unknown file type requested for file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Put file into define mode */
- if ((status = nc_redef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file ID %d into define mode", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Define dimension for the number of processors */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_PROCS, &dimid)) != NC_NOERR) {
- ltempsv = num_proc;
- if ((status = nc_def_dim(exoid, DIM_NUM_PROCS, ltempsv, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file ID %d",
- DIM_NUM_PROCS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- /* If this is a parallel file then the status vectors are size 1 */
- if (nc_inq_dimid(exoid, DIM_NUM_PROCS_F, &dimid) != NC_NOERR) {
- ltempsv = num_proc_in_f;
- if ((status = nc_def_dim(exoid, DIM_NUM_PROCS_F, ltempsv, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file ID %d",
- DIM_NUM_PROCS_F, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- /* Output the file type */
- if (nc_inq_varid(exoid, VAR_FILE_TYPE, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_FILE_TYPE, NC_INT, 0, NULL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define file type in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if (ex_leavedef(exoid, func_name) != EX_NOERR)
- return (EX_FATAL);
-
- if ((status = nc_put_var1_int(exoid, varid, NULL, &lftype)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: unable to output file type variable in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
- }
- else {
- if (ex_leavedef(exoid, func_name) != EX_NOERR)
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_loadbal_param.c b/cbind/src/ex_put_loadbal_param.c
deleted file mode 100644
index 56bf3a3..0000000
--- a/cbind/src/ex_put_loadbal_param.c
+++ /dev/null
@@ -1,662 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_loadbal_param()
- *****************************************************************************
- * This function outputs the load balance parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * num_int_nodes - The number of internal FEM nodes.
- * num_bor_nodes - The number of border FEM nodes.
- * num_ext_nodes - The number of external FEM nodes.
- * num_int_elems - The number of internal FEM elements.
- * num_bor_elems - The number of border FEM elements.
- * num_node_cmaps - The number of nodal communication maps.
- * num_elem_cmaps - The number of elemental communication maps.
- * processor - The processor the file being read was written for.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_loadbal_param(int exoid,
- int64_t num_int_nodes,
- int64_t num_bor_nodes,
- int64_t num_ext_nodes,
- int64_t num_int_elems,
- int64_t num_bor_elems,
- int64_t num_node_cmaps,
- int64_t num_elem_cmaps,
- int processor
- )
-{
- const char *func_name="ex_put_loadbal_param";
-
- int status, varid;
- int dimid_npf, dimid[3];
- int varid_nm[3], varid_em[2];
- char ftype[2];
-
- int nmstat, ltempsv;
-
- char errmsg[MAX_ERR_LENGTH];
-
- int id_type = NC_INT;
- int map_type = NC_INT;
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- id_type = NC_INT64;
- }
- if (ex_int64_status(exoid) & EX_MAPS_INT64_DB) {
- map_type = NC_INT64;
- }
- /*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Get the file type */
- if (ex_get_file_type(exoid, ftype) != EX_NOERR) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: failed to get file type from file ID %d\n",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* make sure that this is a parallel file */
- if (ftype[0] != 'p') {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: function for use with parallel files only, file ID %d\n",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /*
- * Get the dimension ID for the number of processors storing
- * information in this file.
- */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_PROCS_F, &dimid_npf)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_PROCS_F, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Put NetCDF file into define mode */
- if ((status = nc_redef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the file version */
- if ((status=ex_put_nemesis_version(exoid)) < 0) return (status);
-
- /* Define the status variables for the nodal vectors */
- if (nc_inq_varid(exoid, VAR_INT_N_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_INT_N_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- /* Set the dimension for status vectors */
- if (nc_inq_varid(exoid, VAR_BOR_N_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_BOR_N_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- if (nc_inq_varid(exoid, VAR_EXT_N_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_EXT_N_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- /* Define the variable IDs for the elemental status vectors */
- if (nc_inq_varid(exoid, VAR_INT_E_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_INT_E_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- if (nc_inq_varid(exoid, VAR_BOR_E_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_BOR_E_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: Failed to define variable \"%s\" in file ID %d",
- VAR_BOR_E_STAT, exoid);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- /* Get the variable ID for the nodal status vectors */
- if ((status = nc_inq_varid(exoid, VAR_INT_N_STAT, &varid_nm[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_BOR_N_STAT, &varid_nm[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_EXT_N_STAT, &varid_nm[2])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define variable for the internal element information */
- if (num_int_elems > 0) {
- ltempsv = num_int_elems;
- if ((status = nc_def_dim(exoid, DIM_NUM_INT_ELEMS, ltempsv, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_INT_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_ELEM_MAP_INT, map_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_ELEM_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- } /* End "if (num_int_elems > 0)" */
-
- /* Get the variable IDs for the elemental status vectors */
- if ((status = nc_inq_varid(exoid, VAR_INT_E_STAT, &varid_em[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_BOR_E_STAT, &varid_em[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_BOR_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Define variable for the border element information */
- if (num_bor_elems > 0) {
- ltempsv = num_bor_elems;
- if ((status = nc_def_dim(exoid, DIM_NUM_BOR_ELEMS, ltempsv, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_BOR_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_ELEM_MAP_BOR, map_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_ELEM_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- } /* End "if (num_bor_elems > 0)" */
-
- if (num_int_nodes > 0) {
- /* Define variable for vector of internal FEM node IDs */
- ltempsv = num_int_nodes;
- if ((status = nc_def_dim(exoid, DIM_NUM_INT_NODES, ltempsv, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_INT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_NODE_MAP_INT, map_type, 1, &dimid[0], &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_NODE_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- } /* End "if (num_int_nodes > 0)" */
-
- if (num_bor_nodes > 0) {
- /* Define variable for vector of border FEM node IDs */
- ltempsv = num_bor_nodes;
- if ((status = nc_def_dim(exoid, DIM_NUM_BOR_NODES, ltempsv, &dimid[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_BOR_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_NODE_MAP_BOR, map_type, 1, &dimid[1], &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_NODE_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- } /* End "if (num_bor_nodes > 0)" */
-
- if (num_ext_nodes > 0) {
- /* Define dimension for vector of external FEM node IDs */
- ltempsv = num_ext_nodes;
- if ((status = nc_def_dim(exoid, DIM_NUM_EXT_NODES, ltempsv, &dimid[2])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_EXT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_NODE_MAP_EXT, map_type, 1, &dimid[2], &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_NODE_MAP_EXT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- } /* End "if (num_ext_nodes > 0)" */
-
- /* Add the nodal communication map count */
- if (num_node_cmaps > 0) {
- ltempsv = num_node_cmaps;
- if ((status = nc_def_dim(exoid, DIM_NUM_N_CMAPS, ltempsv, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add dimension \"%s\" in file ID %d",
- DIM_NUM_N_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Add the ID vector */
- if ((status = nc_def_var(exoid, VAR_N_COMM_IDS, id_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_N_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- /* Add the status vector */
- if ((status = nc_def_var(exoid, VAR_N_COMM_STAT, NC_INT, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_N_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_node_cmaps > 0)" */
-
- /* Add the nodal communication map count */
- if (num_elem_cmaps > 0) {
- ltempsv = num_elem_cmaps;
- if ((status = nc_def_dim(exoid, DIM_NUM_E_CMAPS, ltempsv, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add dimension \"%s\" in file ID %d",
- DIM_NUM_E_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Add variables for elemental communication maps */
- if ((status = nc_def_var(exoid, VAR_E_COMM_IDS, id_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_E_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- if ((status = nc_def_var(exoid, VAR_E_COMM_STAT, NC_INT, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_E_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_elem_cmaps > 0)" */
-
- /* Leave define mode */
- if (ex_leavedef(exoid, func_name) != EX_NOERR)
- return (EX_FATAL);
-
- /*
- ** Set up status vector for internal node map
- ** NOTE(9/26/96): this function is no longer valid
- ** for scaler files, so no need to check for file type
- */
- if (num_int_nodes == 0) {
- /* NULL set for internal nodes */
- nmstat = 0;
- if ((status = nc_put_var_int(exoid, varid_nm[0], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for int node map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
- else {
- nmstat = 1;
- if ((status = nc_put_var_int(exoid, varid_nm[0], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for int node map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- } /* End "if (num_int_nodes == 0)" */
-
- /* Set up status vector for border node map */
- if (num_bor_nodes == 0) {
- /* NULL set for border nodes */
- nmstat = 0;
- if ((status = nc_put_var_int(exoid, varid_nm[1], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for bor node map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
- else {
- /* Set the status indicating non-NULL size */
- nmstat = 1;
- if ((status = nc_put_var_int(exoid, varid_nm[1], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for bor node map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- } /* End "if (num_bor_nodes == 0)" */
-
- /* Set up status vector for external node map */
- if (num_ext_nodes == 0) {
- /* NULL set for external nodes */
- nmstat = 0;
- if ((status = nc_put_var_int(exoid, varid_nm[2], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for ext node map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
- else {
- /* Set the status indicating non-NULL size */
- nmstat = 1;
- if ((status = nc_put_var_int(exoid, varid_nm[2], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for ext node map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- } /* End "if (num_ext_nodes == 0)" */
-
- /* Set up status vector for internal element map */
- if (num_int_elems == 0) {
- /* NULL set for internal elements */
- nmstat = 0;
- if ((status = nc_put_var_int(exoid, varid_em[0], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for int elem map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
- else {
- /* Set the status indicating non-NULL size */
- nmstat = 1;
- if ((status = nc_put_var_int(exoid, varid_em[0], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for int elem map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- } /* End "if (num_int_elems == 0)" */
-
- /* Set up status vector for border element map */
- if (num_bor_elems == 0) {
- /* NULL set for internal elements */
- nmstat = 0;
- if ((status = nc_put_var_int(exoid, varid_em[1], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for bor elem map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
- else {
- /* Set the status indicating non-NULL size */
- nmstat = 1;
- if ((status = nc_put_var_int(exoid, varid_em[1], &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status for bor elem map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- } /* End "if (num_bor_elems == 0)" */
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_loadbal_param_cc.c b/cbind/src/ex_put_loadbal_param_cc.c
deleted file mode 100644
index db3ba52..0000000
--- a/cbind/src/ex_put_loadbal_param_cc.c
+++ /dev/null
@@ -1,920 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_loadbal_param_cc()
- *****************************************************************************
- * This function outputs the concatenated list of load-balance parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * num_int_nodes - Vector of number of internal FEM nodes for
- * "num_proc_in_f" processors.
- * num_bor_nodes - Vector of number of border FEM nodes for
- * "num_proc_in_f" processors.
- * num_ext_nodes - Vector of number of external FEM nodes for
- * "num_proc_in_f" processors.
- * num_int_elems - Vector of number of internal FEM elems for
- * "num_proc_in_f" processors.
- * num_bor_elems - Vector of number of border FEM elems for
- * "num_proc_in_f" processors.
- * num_node_cmaps - Vector of number of nodal communication maps
- * for "num_proc_in_f" processors.
- * num_elem_cmaps - Vector of number of elemental communication maps
- * for "num_proc_in_f" processors.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-#ifndef NC_INT64
-#define NC_INT64 NC_INT
-#endif
-
-int ex_put_loadbal_param_cc(int exoid,
- void_int *num_int_nodes,
- void_int *num_bor_nodes,
- void_int *num_ext_nodes,
- void_int *num_int_elems,
- void_int *num_bor_elems,
- void_int *num_node_cmaps,
- void_int *num_elem_cmaps
- )
-{
- const char *func_name="ex_put_loadbal_param_cc";
-
- int status;
- int iproc, varid, dimid_npf, dimid[3];
- int num_proc, num_proc_in_f;
- int varid_nm[3], varid_em[2];
- int varid_idx[7] = {0, 0, 0, 0, 0, 0, 0};
- size_t start[1];
- char ftype[2];
- int oldfill;
-
-#if defined(NC_NETCDF4)
- int64_t num_int_elem = 0, num_int_node = 0, num_bor_elem = 0;
- int64_t num_bor_node = 0, num_ext_node = 0;
- int64_t num_n_cmaps = 0, num_e_cmaps = 0;
-#else
- int num_int_elem = 0, num_int_node = 0, num_bor_elem = 0;
- int num_bor_node = 0, num_ext_node = 0;
- int num_n_cmaps = 0, num_e_cmaps = 0;
-#endif
-
- int nmstat;
-
- char errmsg[MAX_ERR_LENGTH];
-
- int format;
-
- int index_type = NC_INT;
- int map_type = NC_INT;
- int id_type = NC_INT;
-
- /*-----------------------------Execution begins-----------------------------*/
- exerrval = 0; /* clear error code */
-
- if (ex_int64_status(exoid) & EX_MAPS_INT64_DB) {
- map_type = NC_INT64;
- }
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- id_type = NC_INT64;
- }
-
- /* See if using NC_FORMAT_NETCDF4 format... */
- nc_inq_format(exoid, &format);
- if ((ex_int64_status(exoid) & EX_BULK_INT64_DB) || (format == NC_FORMAT_NETCDF4)) {
- index_type = NC_INT64;
- }
-
- /* Get the processor information from the file */
- if (ex_get_init_info(exoid, &num_proc, &num_proc_in_f, ftype) != EX_NOERR) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: Unable to get processor info from file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /*
- * Get the dimension ID for the number of processors storing
- * information in this file.
- */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_PROCS_F, &dimid_npf)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_PROCS_F, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Put NetCDF file into define mode */
- if ((status = nc_redef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode", exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Set the fill mode */
- if ((status = nc_set_fill(exoid, NC_NOFILL, &oldfill)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file ID %d into no-fill mode",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the file version */
- if ((status=ex_put_nemesis_version(exoid)) < 0) return (status);
-
- /* Output the file type */
- if (nc_inq_varid(exoid, VAR_FILE_TYPE, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_FILE_TYPE, NC_INT, 0, NULL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define file type in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- /* Define the status variables for the nodal vectors */
- if (nc_inq_varid(exoid, VAR_INT_N_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_INT_N_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- /* Set the dimension for status vectors */
- if (nc_inq_varid(exoid, VAR_BOR_N_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_BOR_N_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- if (nc_inq_varid(exoid, VAR_EXT_N_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_EXT_N_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- /* Define the variable IDs for the elemental status vectors */
- if (nc_inq_varid(exoid, VAR_INT_E_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_INT_E_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- if (nc_inq_varid(exoid, VAR_BOR_E_STAT, &varid) != NC_NOERR) {
- if ((status = nc_def_var(exoid, VAR_BOR_E_STAT, NC_INT, 1, &dimid_npf, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: Failed to define variable \"%s\" in file ID %d",
- VAR_BOR_E_STAT, exoid);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- }
-
- /* Get the variable ID for the nodal status vectors */
- if ((status = nc_inq_varid(exoid, VAR_INT_N_STAT, &varid_nm[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_BOR_N_STAT, &varid_nm[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_EXT_N_STAT, &varid_nm[2])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Get the variable IDs for the elemental status vectors */
- if ((status = nc_inq_varid(exoid, VAR_INT_E_STAT, &varid_em[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, VAR_BOR_E_STAT, &varid_em[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_BOR_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* mms: NEW STUFF HERE */
- /*
- ** first need to loop through the processors in this
- ** file and get the counts of the element and cmap lists
- */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- for(iproc=0; iproc < num_proc_in_f; iproc++) {
- num_int_elem += ((int64_t*)num_int_elems)[iproc];
- num_int_node += ((int64_t*)num_int_nodes)[iproc];
- num_bor_elem += ((int64_t*)num_bor_elems)[iproc];
- num_bor_node += ((int64_t*)num_bor_nodes)[iproc];
- num_ext_node += ((int64_t*)num_ext_nodes)[iproc];
- num_e_cmaps += ((int64_t*)num_elem_cmaps)[iproc];
- num_n_cmaps += ((int64_t*)num_node_cmaps)[iproc];
- }
- } else {
- for(iproc=0; iproc < num_proc_in_f; iproc++) {
- num_int_elem += ((int*)num_int_elems)[iproc];
- num_int_node += ((int*)num_int_nodes)[iproc];
- num_bor_elem += ((int*)num_bor_elems)[iproc];
- num_bor_node += ((int*)num_bor_nodes)[iproc];
- num_ext_node += ((int*)num_ext_nodes)[iproc];
- num_e_cmaps += ((int*)num_elem_cmaps)[iproc];
- num_n_cmaps += ((int*)num_node_cmaps)[iproc];
- }
- }
-
- /* Define variable for the internal element information */
- if (num_int_elem > 0) {
- if ((status = nc_def_dim(exoid, DIM_NUM_INT_ELEMS, num_int_elem, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_INT_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_ELEM_MAP_INT, map_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_ELEM_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- /* and the index variable */
- if ((status = nc_def_var(exoid, VAR_ELEM_MAP_INT_IDX, index_type, 1,
- &dimid_npf, &varid_idx[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_ELEM_MAP_INT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- } /* End "if (num_int_elem > 0)" */
-
- /* Define variable for the border element information */
- if (num_bor_elem > 0) {
- if ((status = nc_def_dim(exoid, DIM_NUM_BOR_ELEMS, num_bor_elem, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_BOR_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_ELEM_MAP_BOR, map_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_ELEM_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- /* and the index variable */
- if ((status = nc_def_var(exoid, VAR_ELEM_MAP_BOR_IDX, index_type, 1,
- &dimid_npf, &varid_idx[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_ELEM_MAP_BOR_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_bor_elem > 0)" */
-
- if (num_int_node > 0) {
- /* Define variable for vector of internal FEM node IDs */
- if ((status = nc_def_dim(exoid, DIM_NUM_INT_NODES, num_int_node, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_INT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_NODE_MAP_INT, map_type, 1, &dimid[0], &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_NODE_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- /* and the index variable */
- if ((status = nc_def_var(exoid, VAR_NODE_MAP_INT_IDX, index_type, 1,
- &dimid_npf, &varid_idx[2])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_NODE_MAP_INT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_int_node > 0)" */
-
- if (num_bor_node > 0) {
- /* Define variable for vector of border FEM node IDs */
- if ((status = nc_def_dim(exoid, DIM_NUM_BOR_NODES, num_bor_node, &dimid[1])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_BOR_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_NODE_MAP_BOR, map_type, 1, &dimid[1], &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_NODE_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- /* and the index variable */
- if ((status = nc_def_var(exoid, VAR_NODE_MAP_BOR_IDX, index_type, 1,
- &dimid_npf, &varid_idx[3])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_NODE_MAP_BOR_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_bor_node > 0)" */
-
- if (num_ext_node > 0) {
- /* Define dimension for vector of external FEM node IDs */
- if ((status = nc_def_dim(exoid, DIM_NUM_EXT_NODES, num_ext_node, &dimid[2])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to dimension \"%s\" in file id %d",
- DIM_NUM_EXT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_NODE_MAP_EXT, map_type, 1, &dimid[2], &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_NODE_MAP_EXT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
- ex_compress_variable(exoid, varid, 1);
-
- /* and the index variable */
- if ((status = nc_def_var(exoid, VAR_NODE_MAP_EXT_IDX, index_type, 1,
- &dimid_npf, &varid_idx[4])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_NODE_MAP_EXT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_ext_node > 0)" */
-
- /* Output the communication map dimensions */
- if (num_n_cmaps > 0) {
- if ((status = nc_def_dim(exoid, DIM_NUM_N_CMAPS, num_n_cmaps, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add dimension \"%s\" in file ID %d",
- DIM_NUM_N_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Add variables for communication maps */
- if ((status = nc_def_var(exoid, VAR_N_COMM_IDS, id_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_N_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_N_COMM_STAT, NC_INT, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_N_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* and the index variable */
- if ((status = nc_def_var(exoid, VAR_N_COMM_INFO_IDX, index_type, 1,
- &dimid_npf, &varid_idx[5])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_N_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_n_cmaps > 0)" */
-
- if (num_e_cmaps > 0) {
- if ((status = nc_def_dim(exoid, DIM_NUM_E_CMAPS, num_e_cmaps, &dimid[0])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to add dimension \"%s\" in file ID %d",
- DIM_NUM_E_CMAPS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* Add variables for elemental communication maps */
- if ((status = nc_def_var(exoid, VAR_E_COMM_IDS, id_type, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_E_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- if ((status = nc_def_var(exoid, VAR_E_COMM_STAT, NC_INT, 1, dimid, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_E_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- /* and the index variable */
- if ((status = nc_def_var(exoid, VAR_E_COMM_INFO_IDX, index_type, 1,
- &dimid_npf, &varid_idx[6])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define variable \"%s\" in file ID %d",
- VAR_E_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
- /* Leave define mode before returning */
- ex_leavedef(exoid, func_name);
-
- return (EX_FATAL);
- }
-
- } /* End "if (num_e_cmaps > 0)" */
-
- /* Leave define mode */
- if (ex_leavedef(exoid, func_name) != EX_NOERR)
- return (EX_FATAL);
-
- /* need to reset these counters */
- num_int_elem = 0;
- num_int_node = 0;
- num_bor_elem = 0;
- num_bor_node = 0;
- num_ext_node = 0;
- num_n_cmaps = 0;
- num_e_cmaps = 0;
-
- /* Update the status vectors */
- for(iproc=0; iproc < num_proc_in_f; iproc++) {
- size_t nin;
- size_t nbn;
- size_t nen;
- size_t nie;
- size_t nbe;
- size_t nnc;
- size_t nec;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- nie = ((int64_t*)num_int_elems)[iproc];
- nin = ((int64_t*)num_int_nodes)[iproc];
- nbe = ((int64_t*)num_bor_elems)[iproc];
- nbn = ((int64_t*)num_bor_nodes)[iproc];
- nen = ((int64_t*)num_ext_nodes)[iproc];
- nec = ((int64_t*)num_elem_cmaps)[iproc];
- nnc = ((int64_t*)num_node_cmaps)[iproc];
- } else {
- nie = ((int*)num_int_elems)[iproc];
- nin = ((int*)num_int_nodes)[iproc];
- nbe = ((int*)num_bor_elems)[iproc];
- nbn = ((int*)num_bor_nodes)[iproc];
- nen = ((int*)num_ext_nodes)[iproc];
- nec = ((int*)num_elem_cmaps)[iproc];
- nnc = ((int*)num_node_cmaps)[iproc];
- }
-
- start[0] = iproc;
-
- if (nin > 0)
- nmstat = 1;
- else
- nmstat = 0;
-
- if ((status = nc_put_var1_int(exoid, varid_nm[0], start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status int node map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nbn > 0)
- nmstat = 1;
- else
- nmstat = 0;
-
- if ((status = nc_put_var1_int(exoid, varid_nm[1], start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status bor node map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nen > 0)
- nmstat = 1;
- else
- nmstat = 0;
-
- if ((status = nc_put_var1_int(exoid, varid_nm[2], start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status ext node map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nie > 0)
- nmstat = 1;
- else
- nmstat = 0;
-
- if ((status = nc_put_var1_int(exoid, varid_em[0], start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status int elem map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nbe > 0)
- nmstat = 1;
- else
- nmstat = 0;
-
- if ((status = nc_put_var1_int(exoid, varid_em[1], start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output status bor elem map in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* now fill the index variables */
- if (varid_idx[0] > 0) {
- /* increment to the next starting position */
- num_int_elem += nie;
-#if defined(NC_NETCDF4)
- status = nc_put_var1_longlong(exoid, varid_idx[0], start, (long long*)&num_int_elem);
-#else
- status = nc_put_var1_int(exoid, varid_idx[0], start, &num_int_elem);
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output internal element map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- if (varid_idx[1] > 0) {
- /* increment to the next starting position */
- num_bor_elem += nbe;
-#if defined(NC_NETCDF4)
- status = nc_put_var1_longlong(exoid, varid_idx[1], start, (long long*)&num_bor_elem);
-#else
- status = nc_put_var1_int(exoid, varid_idx[1], start, &num_bor_elem);
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output border element map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- if (varid_idx[2] > 0) {
- /* increment to the next starting position */
- num_int_node += nin;
-#if defined(NC_NETCDF4)
- status = nc_put_var1_longlong(exoid, varid_idx[2], start, (long long*)&num_int_node);
-#else
- status = nc_put_var1_int(exoid, varid_idx[2], start, &num_int_node);
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output internal node map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- if (varid_idx[3] > 0) {
- /* increment to the next starting position */
- num_bor_node += nbn;
-#if defined(NC_NETCDF4)
- status = nc_put_var1_longlong(exoid, varid_idx[3], start, (long long*)&num_bor_node);
-#else
- status = nc_put_var1_int(exoid, varid_idx[3], start, &num_bor_node);
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output border node map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- if (varid_idx[4] > 0) {
- /* increment to the next starting position */
- num_ext_node += nen;
-#if defined(NC_NETCDF4)
- status = nc_put_var1_longlong(exoid, varid_idx[4], start, (long long*)&num_ext_node);
-#else
- status = nc_put_var1_int(exoid, varid_idx[4], start, &num_ext_node);
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output external node map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- if (varid_idx[5] > 0) {
- /* increment to the next starting position */
- num_n_cmaps += nnc;
-#if defined(NC_NETCDF4)
- status = nc_put_var1_longlong(exoid, varid_idx[5], start, (long long*)&num_n_cmaps);
-#else
- status = nc_put_var1_int(exoid, varid_idx[5], start, &num_n_cmaps);
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output node communication map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- if (varid_idx[6] > 0) {
- /* increment to the next starting position */
- num_e_cmaps += nec;
-#if defined(NC_NETCDF4)
- status = nc_put_var1_longlong(exoid, varid_idx[6], start, (long long*)&num_e_cmaps);
-#else
- status = nc_put_var1_int(exoid, varid_idx[6], start, &num_e_cmaps);
-#endif
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output elem communication map index in file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- }
-
- } /* End "for(iproc=0; iproc < num_proc_in_f; iproc++)" */
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_map.c b/cbind/src/ex_put_map.c
deleted file mode 100644
index 2e9b413..0000000
--- a/cbind/src/ex_put_map.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expmap - ex_put_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int* elem_map element order map array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*!
-\deprecated Use ex_put_num_map() instead.
-
-The function ex_put_map() writes out the optional element order map to
-the database. See #ElementOrderMap for a description of the element
-order map. The function ex_put_init() must be invoked before this call
-is made.
-
-In case of an error, ex_put_map() returns a negative number; a warning
-will return a positive number. Possible causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - an element map already exists in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] elem_map The element order map.
-
-The following code generates a default element order map and outputs
-it to an open exodus file. This is a trivial case and included just
-for illustration. Since this map is optional, it should be written out
-only if it contains something other than the default map.
-
-\code
-int error, exoid;
-int *elem_map = (int *)calloc(num_elem, sizeof(int));
-for (i=0; i < num_elem; i++) {
- elem_map[i] = i+1;
-}
-error = ex_put_map(exoid, elem_map);
-\endcode
-
- */
-
-int ex_put_map (int exoid,
- const void_int *elem_map)
-{
- int numelemdim, dims[1], mapid, status;
- int map_int_type;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire id's of previously defined dimensions */
-
- /* determine number of elements. Return if zero... */
- if (nc_inq_dimid(exoid, DIM_NUM_ELEM, &numelemdim) != NC_NOERR)
- {
- return (EX_NOERR);
- }
-
- /* put netcdf file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode",
- exoid);
- ex_err("ex_put_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* create a variable array in which to store the element map */
- dims[0] = numelemdim;
-
- map_int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_MAPS_INT64_DB) {
- map_int_type = NC_INT64;
- }
-
- if ((status = nc_def_var(exoid, VAR_MAP, map_int_type, 1, dims, &mapid)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: element map already exists in file id %d",
- exoid);
- ex_err("ex_put_map",errmsg,exerrval);
- }
- else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create element map array in file id %d",
- exoid);
- ex_err("ex_put_map",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, mapid, 1);
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition in file id %d",
- exoid);
- ex_err("ex_put_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* write out the element order map */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_var_longlong(exoid, mapid, elem_map);
- } else {
- status = nc_put_var_int(exoid, mapid, elem_map);
- }
-
- if (status != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store element map in file id %d",
- exoid);
- ex_err("ex_put_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_map",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
-
diff --git a/cbind/src/ex_put_map_param.c b/cbind/src/ex_put_map_param.c
deleted file mode 100644
index ebf957f..0000000
--- a/cbind/src/ex_put_map_param.c
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expmp - ex_put_map_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_node_maps number of node maps
-* int num_elem_maps number of element maps
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <assert.h>
-#include <stdlib.h>
-
-/*!
- * defines the number of node and element maps. It is more efficient
- * to define both of these at the same time; however, they can be
- * defined in separate calls by setting only one of the counts to a
- * non-zero value. It is an error to redefine the number of node or
- * element maps.
- * \param exoid exodus file id
- * \param num_node_maps number of node maps
- * \param num_elem_maps number of element maps
- */
-
-int ex_put_map_param (int exoid,
- int num_node_maps,
- int num_elem_maps)
-{
- int dim[2], dimid, strdim, varid, status;
- int var_nm_id, var_em_id;
- int i;
- char errmsg[MAX_ERR_LENGTH];
- int id_type = NC_INT;
- int int_type = NC_INT;
-
- exerrval = 0; /* clear error code */
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- id_type = NC_INT64;
- }
- if (ex_int64_status(exoid) & EX_BULK_INT64_DB) {
- int_type = NC_INT64;
- }
-
- /* return if these have been defined before */
- if ( (num_node_maps > 0 && ((nc_inq_dimid (exoid, DIM_NUM_NM, &dimid)) == NC_NOERR)) ||
- (num_elem_maps > 0 && ((nc_inq_dimid (exoid, DIM_NUM_EM, &dimid)) == NC_NOERR)) )
- {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: number of maps already defined for file id %d",exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ( (num_node_maps > 0) || (num_elem_maps > 0) ) {
-
- /* inquire previously defined dimensions */
- if ((status = nc_inq_dimid (exoid, DIM_STR_NAME, &strdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get string length in file id %d",exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* put file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode", exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* node maps: */
- if (num_node_maps > 0) {
-
- if ((status = nc_def_dim(exoid, DIM_NUM_NM, num_node_maps, &dimid)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of node maps in file id %d",exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* node maps id array: */
- dim[0] = dimid;
- if ((status = nc_def_var(exoid, VAR_NM_PROP(1), id_type, 1, dim, &var_nm_id)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create node maps property array in file id %d",
- exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* store property name as attribute of property array variable */
- if ((status=nc_put_att_text(exoid, var_nm_id, ATT_PROP_NAME, 3, "ID")) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store node map property name %s in file id %d",
- "ID",exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* Node map names... */
- dim[0] = dimid;
- dim[1] = strdim;
-
- if (nc_def_var(exoid, VAR_NAME_NM, NC_CHAR, 2, dim, &varid) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define node map name array in file id %d",exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* determine number of nodes */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: couldn't determine number of nodes in file id %d",
- exoid);
- ex_err("ex_put_node_map",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- dim[0] = dimid;
-
- /* create variable array in which to store the node maps */
- for (i=0; i < num_node_maps; i++) {
- if ((status = nc_def_var(exoid,VAR_NODE_MAP(i+1),int_type,1,dim,&varid)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: node map %d already defined in file id %d",
- i,exoid);
- ex_err("ex_put_node_map",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create node map %d in file id %d",
- i,exoid);
- ex_err("ex_put_node_map",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 1);
- }
- }
-
- /* element maps: */
- if (num_elem_maps > 0) {
- if ((status = nc_def_dim (exoid, DIM_NUM_EM, num_elem_maps,&dimid)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of element maps in file id %d",
- exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* element maps id array: */
- dim[0] = dimid;
- if ((status = nc_def_var(exoid, VAR_EM_PROP(1), id_type, 1, dim, &var_em_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create element maps property array in file id %d",
- exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* store property name as attribute of property array variable */
- if ((status=nc_put_att_text(exoid, var_em_id, ATT_PROP_NAME, 3, "ID")) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store element map property name %s in file id %d",
- "ID",exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* Element map names... */
- dim[0] = dimid;
- dim[1] = strdim;
-
- if ((status = nc_def_var(exoid, VAR_NAME_EM, NC_CHAR, 2, dim, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define element map name array in file id %d",exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* determine number of elements */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_ELEM, &dimid)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: couldn't determine number of elements in file id %d",
- exoid);
- ex_err("ex_put_elem_map",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* create variable array in which to store the element maps */
- dim[0] = dimid;
- for (i = 0; i < num_elem_maps; i++) {
- if ((status = nc_def_var(exoid,VAR_ELEM_MAP(i+1),int_type,1,dim, &varid)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: element map %d already defined in file id %d",
- i,exoid);
- ex_err("ex_put_elem_map",errmsg,exerrval);
- }
- else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create element map %d in file id %d",
- i,exoid);
- ex_err("ex_put_elem_map",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 1);
- }
- }
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete variable definitions in file id %d",exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Fill the id arrays with EX_INVALID_ID */
- {
- int maxset = num_node_maps > num_elem_maps ? num_node_maps : num_elem_maps;
- int *invalid_ids = malloc(maxset*sizeof(int));
- for (i=0; i < maxset; i++) {
- invalid_ids[i] = EX_INVALID_ID;
- }
- if (num_node_maps > 0) {
- status = nc_put_var_int(exoid, var_nm_id, invalid_ids);
- assert(status == NC_NOERR);
- }
- if (num_elem_maps > 0) {
- status = nc_put_var_int(exoid, var_em_id, invalid_ids);
- assert(status == NC_NOERR);
- }
- free(invalid_ids);
- }
- }
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_map_param",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_n_attr.c b/cbind/src/ex_put_n_attr.c
deleted file mode 100644
index a1dcaef..0000000
--- a/cbind/src/ex_put_n_attr.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expatt - ex_put_n_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int blk_type block type
-* int blk_id block id
-* float* attrib array of attributes
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \deprecated use ex_put_partial_attr()
- *
- * writes the attributes for an edge/face/element block
- * \param exoid exodus file id
- * \param blk_type block type
- * \param blk_id block id
- * \param attrib array of attributes
- */
-
-int ex_put_n_attr (int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- int64_t start_entity,
- int64_t num_entity,
- const void *attrib)
-{
- return ex_put_partial_attr(exoid, blk_type, blk_id, start_entity, num_entity, attrib);
-}
diff --git a/cbind/src/ex_put_n_coord.c b/cbind/src/ex_put_n_coord.c
deleted file mode 100644
index 9ba35ac..0000000
--- a/cbind/src/ex_put_n_coord.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expcor - ex_put_n_coord
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_node_num starting index (1-based) of coordinates to be written.
-* int num_nodes number of nodes to write coordinates for.
-* float* x_coord X coord array
-* float* y_coord y coord array
-* float* z_coord z coord array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_put_partial_coord() instead.
- * writes the coordinates of some of the nodes in the model
- * Only writes the 'non-null' arrays.
- * \param exoid exodus file id
- * \param start_node_num the starting index (1-based) of the coordinates to be written
- * \param num_nodes the number of nodes to write coordinates for.
- * \param x_coor x coord array
- * \param y_coor y coord array
- * \param z_coor z coord array
- */
-
-int ex_put_n_coord (int exoid,
- int64_t start_node_num,
- int64_t num_nodes,
- const void *x_coor,
- const void *y_coor,
- const void *z_coor)
-{
- return ex_put_partial_coord(exoid, start_node_num, num_nodes, x_coor, y_coor, z_coor);
-}
diff --git a/cbind/src/ex_put_n_elem_attr.c b/cbind/src/ex_put_n_elem_attr.c
deleted file mode 100644
index 96fef2d..0000000
--- a/cbind/src/ex_put_n_elem_attr.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_n_elem_attr()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_blk_id - The element block ID.
- * start_elem_num - The starting index of the elements to be
- * obtained.
- * num_elems - The number of FEM elements to read coords for.
- * attrib - Pointer to the attribute vector.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * \deprecated Use ex_put_partial_attr() instead.
- */
-
-int ex_put_n_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- int64_t start_elem_num,
- int64_t num_elems,
- void *attrib)
-{
- return ex_put_partial_attr(exoid, EX_ELEM_BLOCK, elem_blk_id, start_elem_num, num_elems, attrib);
-}
diff --git a/cbind/src/ex_put_n_elem_conn.c b/cbind/src/ex_put_n_elem_conn.c
deleted file mode 100644
index d906cde..0000000
--- a/cbind/src/ex_put_n_elem_conn.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_n_elem_conn()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_blk_id - The element block ID.
- * start_elem_num - The starting index of the elements to be
- * obtained.
- * num_elems - The number of FEM elements to read coords for.
- * connect - Pointer to the connectivity vector.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include "exodusII.h"
-
-/*!
- * \deprecated Use ex_put_partial_elem_conn() instead.
- */
-
-int ex_put_n_elem_conn (int exoid,
- ex_entity_id elem_blk_id,
- int64_t start_elem_num,
- int64_t num_elems,
- const void_int *connect)
-{
- return ex_put_partial_elem_conn(exoid, elem_blk_id, start_elem_num, num_elems, connect);
-}
diff --git a/cbind/src/ex_put_n_elem_num_map.c b/cbind/src/ex_put_n_elem_num_map.c
deleted file mode 100644
index 2e6dca6..0000000
--- a/cbind/src/ex_put_n_elem_num_map.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* ne_pennm - ex_put_n_elem_num_map
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_ent first entry in elem_map
-* int num_ents number of entries in node_map
-* int* elem_map element numbering map array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-
-/*
- * writes out a portion of the element numbering map to the database;
- * this allows element numbers to be non-contiguous
- */
-
-int ex_put_n_elem_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- const void_int *elem_map)
-{
- return ex_put_partial_id_map(exoid, EX_ELEM_MAP, start_ent, num_ents, elem_map);
-}
diff --git a/cbind/src/ex_put_n_nodal_var.c b/cbind/src/ex_put_n_nodal_var.c
deleted file mode 100644
index c41b46c..0000000
--- a/cbind/src/ex_put_n_nodal_var.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expnv - ex_put_n_nodal_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step whole time step number
-* int nodel_var_index index of desired nodal variable
-* int start_node index (1-based) of first node to put
-* int num_nodes number of nodal points
-* float* nodal_var_vals array of nodal variable values
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the values of a single nodal variable for a partial block at
- * one single time step to the database; assume the first time step
- * and nodal variable index is 1
- * \param exoid exodus file id
- * \param time_step whole time step number
- * \param nodal_var_index index of desired nodal variable
- * \param start_node index of first node to write data for (1-based)
- * \param num_nodes number of nodal points
- * \param nodal_var_vals array of nodal variable values
- */
-
-int ex_put_n_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t start_node,
- int64_t num_nodes,
- const void *nodal_var_vals)
-
-{
- return ex_put_partial_nodal_var(exoid, time_step, nodal_var_index, start_node, num_nodes, nodal_var_vals);
-}
diff --git a/cbind/src/ex_put_n_node_num_map.c b/cbind/src/ex_put_n_node_num_map.c
deleted file mode 100644
index 7b77a2b..0000000
--- a/cbind/src/ex_put_n_node_num_map.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************
-*
-* ne_pnnnm - ex_put_n_node_num_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_ent first entry in node_map
-* int num_ents number of entries in node_map
-* int* node_map node numbering map
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * writes out the node numbering map to the database; allows node numbers
- * to be non-contiguous
- */
-
-int ex_put_n_node_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- const void_int *node_map)
-{
- return ex_put_partial_id_map(exoid, EX_NODE_MAP, start_ent, num_ents, node_map);
-}
diff --git a/cbind/src/ex_put_n_node_set.c b/cbind/src/ex_put_n_node_set.c
deleted file mode 100644
index e41e77a..0000000
--- a/cbind/src/ex_put_n_node_set.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_n_node_set()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_set_id - ID of node set to read.
- * start_node_num - The starting index of the nodes to be read.
- * num_nodes - The number of nodes to read in.
- * node_set_node_list - List of node IDs in node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include "exodusII.h"
-
-/*
- * \deprecated Use ex_put_partial_set() instead
- */
-
-int ex_put_n_node_set (int exoid,
- ex_entity_id node_set_id,
- int64_t start_node_num,
- int64_t num_nodes,
- const void_int *node_set_node_list)
-{
- return ex_put_partial_set(exoid, EX_NODE_SET, node_set_id, start_node_num, num_nodes,
- node_set_node_list, NULL);
-}
diff --git a/cbind/src/ex_put_n_node_set_df.c b/cbind/src/ex_put_n_node_set_df.c
deleted file mode 100644
index eb7c9a0..0000000
--- a/cbind/src/ex_put_n_node_set_df.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_n_node_set_df()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_set_id - ID of node set to write.
- * start_num - The starting index of the df's to be written.
- * num_df_to_get - The number of distribution factors to write out.
- * node_set_dist_fact - List of node distribution factors in node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \deprecated Use ex_put_partial_set_dist_fact()
- */
-
-int ex_put_n_node_set_df (int exoid,
- ex_entity_id node_set_id,
- int64_t start_num,
- int64_t num_df_to_get,
- void *node_set_dist_fact)
-{
- return ex_put_partial_set_dist_fact(exoid, EX_NODE_SET, node_set_id, start_num, num_df_to_get,
- node_set_dist_fact);
-}
diff --git a/cbind/src/ex_put_n_one_attr.c b/cbind/src/ex_put_n_one_attr.c
deleted file mode 100644
index 4296d2c..0000000
--- a/cbind/src/ex_put_n_one_attr.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expoea - ex_put_n_one_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type (edge, face, elem block)
-* int obj_id object id (edge, face, elem block ID)
-* int attrib_index index of attribute to write
-* float* attrib array of attributes
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \deprecated Use ex_put_partial_one_attr() instead.
- * writes the specified attribute for a block
- * \param exoid exodus file id
- * \param obj_type object type (edge, face, elem block)
- * \param obj_id object id (edge, face, elem block ID)
- * \param start_num the starting index of the attributes to be written
- * \param num_ent the number of entities to write attributes for.
- * \param attrib_index index of attribute to write
- * \param attrib array of attributes
- */
-
-int ex_put_n_one_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- int attrib_index,
- const void *attrib )
-{
- return ex_put_partial_one_attr(exoid, obj_type, obj_id, start_num, num_ent, attrib_index, attrib);
-}
diff --git a/cbind/src/ex_put_n_side_set.c b/cbind/src/ex_put_n_side_set.c
deleted file mode 100644
index 871fe11..0000000
--- a/cbind/src/ex_put_n_side_set.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_n_side_set()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * side_set_id - ID of side set to read.
- * start_side_num - The starting index of the sides to be read.
- * num_sides - The number of sides to read in.
- * side_set_elem_list - List of element IDs in side set.
- * side_set_side_list - List of side IDs in side set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * /deprecated use ex_put_partial_set() instead
- */
-
-int ex_put_n_side_set (int exoid,
- ex_entity_id side_set_id,
- int64_t start_side_num,
- int64_t num_sides,
- const void_int *side_set_elem_list,
- const void_int *side_set_side_list)
-{
- return ex_put_partial_set(exoid, EX_SIDE_SET, side_set_id, start_side_num, num_sides,
- side_set_elem_list, side_set_side_list);
-}
diff --git a/cbind/src/ex_put_n_side_set_df.c b/cbind/src/ex_put_n_side_set_df.c
deleted file mode 100644
index 6ce9fea..0000000
--- a/cbind/src/ex_put_n_side_set_df.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_n_side_set_df()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * side_set_id - ID of side set to written.
- * start_num - The starting index of the df's to be written.
- * num_df_to_get - The number of sides to write.
- * side_set_dist_fact - List of distribution factors for the side set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \deprecated use ex_put_partial_set_dist_fact() instead
- */
-
-int ex_put_n_side_set_df (int exoid,
- ex_entity_id side_set_id,
- int64_t start_num,
- int64_t num_df_to_get,
- void *side_set_dist_fact)
-{
- return ex_put_partial_set_dist_fact(exoid, EX_SIDE_SET, side_set_id, start_num, num_df_to_get, side_set_dist_fact);
-}
diff --git a/cbind/src/ex_put_n_var.c b/cbind/src/ex_put_n_var.c
deleted file mode 100644
index 583ac12..0000000
--- a/cbind/src/ex_put_n_var.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvar - ex_put_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* int var_type type (edge block, face block, edge set, ... )
-* int var_index element variable index
-* int obj_id element block id
-* int start_num starting index of the variables to be written
-* int num_ent number of entities to write variables for.
-*
-* exit conditions -
-*
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * \deprecated use ex_put_partial_var() instead
- * writes the values of a single variable for a partial block at one time
- * step to the database; assume the first time step and variable index
- * are 1
- * \param exoid exodus file id
- * \param time_step time step number
- * \param var_type type (edge block, face block, edge set, ... )
- * \param var_index element variable index
- * \param obj_id element block id
- * \param start_index index of first entity in block to write (1-based)
- * \param num_entities number of entries in this block/set
- * \param var_vals the values to be written
- */
-
-int ex_put_n_var (int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t start_index,
- int64_t num_entities,
- const void *var_vals)
-{
- return ex_put_partial_var(exoid, time_step, var_type, var_index, obj_id, start_index, num_entities, var_vals);
-}
diff --git a/cbind/src/ex_put_name.c b/cbind/src/ex_put_name.c
deleted file mode 100644
index 760552a..0000000
--- a/cbind/src/ex_put_name.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expnam - ex_put_name
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type
-* int entity_id id of entity name to write
-* char* name ptr to entity name
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
- * writes the name of the specified entity to the database. The entity
- * with id `entity_id` must exist before calling ex_put_name().
- *
- * \param exoid exodus file id
- * \param obj_type object type
- * \param entity_id id of entity name to write
- * \param name ptr to entity name
- */
-
-int ex_put_name (int exoid,
- ex_entity_type obj_type,
- ex_entity_id entity_id,
- const char *name)
-{
- int status;
- int varid, ent_ndx;
- char errmsg[MAX_ERR_LENGTH];
- const char *routine = "ex_put_name";
- const char *vobj;
-
- exerrval = 0; /* clear error code */
-
- switch(obj_type) {
- case EX_EDGE_BLOCK:
- vobj = VAR_NAME_ED_BLK;
- break;
- case EX_FACE_BLOCK:
- vobj = VAR_NAME_FA_BLK;
- break;
- case EX_ELEM_BLOCK:
- vobj = VAR_NAME_EL_BLK;
- break;
- case EX_NODE_SET:
- vobj = VAR_NAME_NS;
- break;
- case EX_SIDE_SET:
- vobj = VAR_NAME_SS;
- break;
- case EX_EDGE_SET:
- vobj = VAR_NAME_ES;
- break;
- case EX_FACE_SET:
- vobj = VAR_NAME_FS;
- break;
- case EX_ELEM_SET:
- vobj = VAR_NAME_ELS;
- break;
- case EX_NODE_MAP:
- vobj = VAR_NAME_NM;
- break;
- case EX_EDGE_MAP:
- vobj = VAR_NAME_EDM;
- break;
- case EX_FACE_MAP:
- vobj = VAR_NAME_FAM;
- break;
- case EX_ELEM_MAP:
- vobj = VAR_NAME_EM;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid type specified in file id %d", exoid);
- ex_err(routine,errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, vobj, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s names in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- ent_ndx = ex_id_lkup(exoid, obj_type, entity_id);
-
- if (exerrval == EX_LOOKUPFAIL) { /* could not find the element block id */
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: %s id %"PRId64" not found in file id %d",
- ex_name_of_object(obj_type), entity_id, exoid);
- ex_err("ex_put_name",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* If this is a null entity, then 'ent_ndx' will be negative.
- * We don't care in this routine, so make it positive and continue...
- */
- if (ent_ndx < 0) ent_ndx = -ent_ndx;
-
- /* write EXODUS entityname */
- status = ex_put_name_internal(exoid, varid, ent_ndx-1, name, obj_type, "", routine);
-
- return(status);
-}
diff --git a/cbind/src/ex_put_names.c b/cbind/src/ex_put_names.c
deleted file mode 100644
index cf63384..0000000
--- a/cbind/src/ex_put_names.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expnam - ex_put_names
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type
-* char* names ptr array of entity names
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
- * writes the entity names to the database
- * \param exoid exodus file id
- * \param obj_type object type
- * \param names ptr array of entity names
- */
-
-int ex_put_names (int exoid,
- ex_entity_type obj_type,
- char* names[])
-{
- int status;
- int varid;
- size_t num_entity;
- char errmsg[MAX_ERR_LENGTH];
-
- const char *vname = NULL;
-
- const char *routine = "ex_put_names";
-
- exerrval = 0; /* clear error code */
-
- switch (obj_type) {
- /* ======== BLOCKS ========= */
- case EX_EDGE_BLOCK:
- vname = VAR_NAME_ED_BLK;
- break;
- case EX_FACE_BLOCK:
- vname = VAR_NAME_FA_BLK;
- break;
- case EX_ELEM_BLOCK:
- vname = VAR_NAME_EL_BLK;
- break;
-
- /* ======== SETS ========= */
- case EX_NODE_SET:
- vname = VAR_NAME_NS;
- break;
- case EX_EDGE_SET:
- vname = VAR_NAME_ES;
- break;
- case EX_FACE_SET:
- vname = VAR_NAME_FS;
- break;
- case EX_SIDE_SET:
- vname = VAR_NAME_SS;
- break;
- case EX_ELEM_SET:
- vname = VAR_NAME_ELS;
- break;
-
- /* ======== MAPS ========= */
- case EX_NODE_MAP:
- vname = VAR_NAME_NM;
- break;
- case EX_EDGE_MAP:
- vname = VAR_NAME_EDM;
- break;
- case EX_FACE_MAP:
- vname = VAR_NAME_FAM;
- break;
- case EX_ELEM_MAP:
- vname = VAR_NAME_EM;
- break;
-
- /* ======== ERROR (Invalid type) ========= */
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid type specified in file id %d", exoid);
- ex_err(routine,errmsg,exerrval);
- return(EX_FATAL);
- }
-
- ex_get_dimension(exoid, ex_dim_num_objects(obj_type), ex_name_of_object(obj_type),
- &num_entity, &varid, routine);
-
- if ((status = nc_inq_varid(exoid, vname, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s names in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write EXODUS entitynames */
- status = ex_put_names_internal(exoid, varid, num_entity, names, obj_type, "", routine);
-
- return(status);
-}
diff --git a/cbind/src/ex_put_nodal_var.c b/cbind/src/ex_put_nodal_var.c
deleted file mode 100644
index 349ca96..0000000
--- a/cbind/src/ex_put_nodal_var.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-The function ex_put_nodal_var() writes the values of a single nodal
-variable for a single time step. The function ex_put_variable_param()
-must be invoked before this call is made.
-
-Because nodal variables are floating point values, the application
-code must declare the array passed to be the appropriate type (\c
-float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_put_nodal_var() returns a negative number; a
-warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - ex_put_variable_param() not called previously specifying the number of nodal variables.
-
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or
- ex_open().
-
-\param[in] time_step The time step number, as described under ex_put_time(). This
- is essentially a counter that is incremented when results variables
- are output. The first time step is 1.
-
-\param[in] nodal_var_index The index of the nodal variable. The first variable has an index of 1.
-
-\param[in] num_nodes The number of nodal points.
-
-\param[in] nodal_var_vals Array of \c num_nodes values of the \c nodal_var_index-th nodal
- variable for the \c time_step-th time step.
-
-
-As an example, the following code segment writes all the nodal
-variables for a single time step:
-
-\code
-int num_nod_vars, num_nodes, error, exoid, time_step;
-float *nodal_var_vals;
-
-\comment{write nodal variables}
-nodal_var_vals = (float *) calloc(num_nodes, sizeof(float));
-for (k=1; k <= num_nod_vars; k++) {
- for (j=0; j < num_nodes; j++) {
- \comment{application code fills in this array}
- nodal_var_vals[j] = 10.0;
- }
- error = ex_put_nodal_var(exoid, time_step, k, num_nodes,
- nodal_var_vals);
-}
-\endcode
-
-*/
-
-int ex_put_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t num_nodes,
- const void *nodal_var_vals)
-
-{
- int status;
- int varid;
- size_t start[3], count[3];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if (ex_large_model(exoid) == 0) {
- /* write values of the nodal variable */
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variables in file id %d",
- exoid);
- ex_err("ex_put_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
- start[0] = --time_step;
- start[1] = --nodal_var_index;
- start[2] = 0;
-
- count[0] = 1;
- count[1] = 1;
- count[2] = num_nodes;
- } else {
- /* nodal variables stored separately, find variable for this variable
- index */
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR_NEW(nodal_var_index), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variable %d in file id %d",
- nodal_var_index, exoid);
- ex_err("ex_put_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
-
- start[0] = --time_step;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = num_nodes;
- }
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, varid, start, count, nodal_var_vals);
- } else {
- status = nc_put_vara_double(exoid, varid, start, count, nodal_var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store nodal variables in file id %d",
- exoid);
- ex_err("ex_put_nodal_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_nodal_var_slab.c b/cbind/src/ex_put_nodal_var_slab.c
deleted file mode 100644
index 52ffc37..0000000
--- a/cbind/src/ex_put_nodal_var_slab.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_nodal_var_slab()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * time_step - The time step to write this data to.
- * nodal_var_index - The index of this nodal variable.
- * start_pos - The start point for outputting data. The first
- * value is 0.
- * num_vals - The number of values to be output.
- * nodal_var_vals - Pointer to the vector of values to be output.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * writes the values of a single nodal variable for a single time step to
- * the database; assume the first time step and nodal variable index
- * is 1
- */
-
-int ex_put_nodal_var_slab (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t start_pos,
- int64_t num_vals,
- void *nodal_var_vals)
-
-{
- int status;
- int varid;
- size_t start[3], count[3];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined variable -- if not found assume that
- the new separate 'blob' per nodal var storage is being used */
-
- if (ex_large_model(exoid) == 0) {
- /* write values of the nodal variable */
- if ((status = nc_inq_varid (exoid, VAR_NOD_VAR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variable %d in file id %d",
- nodal_var_index, exoid);
- ex_err("ex_put_nodal_var_slab",errmsg,exerrval);
- return (EX_WARN);
- }
-
- start[0] = --time_step;
- start[1] = --nodal_var_index;
- start[2] = --start_pos;
-
- count[0] = 1;
- count[1] = 1;
- count[2] = num_vals;
- } else {
-
- /* nodal variables stored separately, find variable for this variable
- index */
- if ((status = nc_inq_varid (exoid, VAR_NOD_VAR_NEW(nodal_var_index), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variable %d in file id %d",
- nodal_var_index, exoid);
- ex_err("ex_put_nodal_var_slab",errmsg,exerrval);
- return (EX_WARN);
- }
-
- start[0] = --time_step;
- start[1] = --start_pos;
-
- count[0] = 1;
- count[1] = num_vals;
- }
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, varid, start, count, nodal_var_vals);
- } else {
- status = nc_put_vara_double(exoid, varid, start, count, nodal_var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store nodal variables in file id %d",
- exoid);
- ex_err("ex_put_nodal_var_slab",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_node_cmap.c b/cbind/src/ex_put_node_cmap.c
deleted file mode 100644
index 1de7728..0000000
--- a/cbind/src/ex_put_node_cmap.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/****************************************************************************/
-/****************************************************************************/
-/****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_node_cmap()
- ****************************************************************************
- * This function outputs a nodal communication map.
- ****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * map_id - The ID of the nodal communication map to retrieve.
- * node_ids - Pointer to vector containing the FEM node IDs
- * that make up this communication map.
- * proc_ids - Pointer to vector containing the processors IDs
- * associated with each of the nodes in this nodal
- * communication map.
- * processor - The processor the file is being written for.
- */
-/****************************************************************************/
-/****************************************************************************/
-/****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_node_cmap(int exoid,
- ex_entity_id map_id,
- void_int *node_ids,
- void_int *proc_ids,
- int processor
- )
-{
- const char *func_name="ex_put_node_cmap";
-
- int map_idx, varid, dimid, status;
- size_t start[1], count[1], ret_val;
- int64_t varidx[2];
- int value;
-
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* get the index for the comm map information variables */
- if (ex_get_idx(exoid, VAR_N_COMM_INFO_IDX, varidx, processor) == -1) {
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_N_COMM_INFO_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the index for this map_id */
- if ((map_idx=ne_id_lkup(exoid, VAR_N_COMM_IDS, varidx, map_id)) == -1) {
- sprintf(errmsg,
- "Error: failed to find index for variable \"%s\" in file ID %d",
- VAR_N_COMM_IDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /*
- * Find out if this is a NULL comm map by checking it's entry in
- * the status vector.
- */
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- start[0] = map_idx;
- if ((status = nc_get_var1_int(exoid, varid, start, &value)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: unable to get variable \"%s\" from file ID %d",
- VAR_N_COMM_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (value == 0) return(EX_NOERR); /* NULL set */
-
- /* now I need to get the comm map data index */
- if (ex_get_idx(exoid, VAR_N_COMM_DATA_IDX, varidx, map_idx) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_N_COMM_DATA_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension of the cmap data */
- if (varidx[1] == -1) {
- /* Get the size of the comm maps */
- if ((status = nc_inq_dimid(exoid, DIM_NCNT_CMAP, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get dimension ID for \"%s\" in file ID %d",
- DIM_NCNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &ret_val)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NCNT_CMAP, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- varidx[1] = ret_val;
- } /* "if (varidx[1]==-1)" */
-
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
-
- /* Output the node IDs for this comm map */
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_NIDS, &varid )) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_NIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, node_ids);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, node_ids);
- }
- if (status != NC_NOERR) {
- fprintf(stderr, "Start, Count = %lu\t%lu\n", (unsigned long)start[0], (unsigned long)count[0]);
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output vector \"%s\" in file ID %d",
- VAR_N_COMM_NIDS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the processor IDs for this map */
- if ((status = nc_inq_varid(exoid, VAR_N_COMM_PROC, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_N_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, proc_ids);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, proc_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_N_COMM_PROC, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_node_map.c b/cbind/src/ex_put_node_map.c
deleted file mode 100644
index 8272030..0000000
--- a/cbind/src/ex_put_node_map.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expnm - ex_put_node_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_id node map id
-* int *node_map node map
-*
-* exit conditions -
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-
-/*!
- * writes an node map; this is a vector of integers of length number
- * of nodes
- * \param exoid exodus file id
- * \param map_id node map id
- * \param node_map node map
- * \deprecated Use ex_put_num_map()(exoid, EX_NODE_MAP, map_id, node_map)
- */
-
-int ex_put_node_map (int exoid,
- ex_entity_id map_id,
- const void_int *node_map)
-{
- return ex_put_num_map( exoid, EX_NODE_MAP, map_id, node_map );
-}
diff --git a/cbind/src/ex_put_node_num_map.c b/cbind/src/ex_put_node_num_map.c
deleted file mode 100644
index bd6d5e3..0000000
--- a/cbind/src/ex_put_node_num_map.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-#include "exodusII.h"
-
-/*!
-
-\deprecated Use ex_put_id_map()(exoid, EX_NODE_MAP, node_map)
-
-The function ex_put_node_num_map() writes out the optional node number
-map to the database. See Section LocalNodeIds for a description of the
-node number map. The function ex_put_init() must be invoked before
-this call is made.
-
-\return In case of an error, ex_put_node_num_map() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - a node number map already exists in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] node_map The node number map.
-
-The following code generates a default node number map and outputs it
-to an open exodus file. This is a trivial case and included just for
-illustration. Since this map is optional, it should be written out
-only if it contains something other than the default map.
-
-\code
-int error, exoid;
-int *node_map = (int *)calloc(num_nodes, sizeof(int));
-
-for (i=1; i <= num_nodes; i++)
- node_map[i-1] = i;
-
-error = ex_put_node_num_map(exoid, node_map);
-
-\comment{Equivalent using non-deprecated function}
-error = ex_put_id_map(exoid, EX_NODE_MAP, node_map);
-\endcode
- */
-
-int ex_put_node_num_map (int exoid,
- const void_int *node_map)
-{
- return ex_put_id_map(exoid, EX_NODE_MAP, node_map);
-}
diff --git a/cbind/src/ex_put_node_set.c b/cbind/src/ex_put_node_set.c
deleted file mode 100644
index 68e964d..0000000
--- a/cbind/src/ex_put_node_set.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_put_set()(exoid, EX_NODE_SET, node_set_id, node_set_node_list, NULL)
-
-The function ex_put_node_set() writes the node list for a single node
-set. The function ex_put_node_set_param() must be called before this
-routine is invoked.
-
-\return In case of an error, ex_put_node_set() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - ex_put_node_set_param() not called previously.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] node_set_id The node set ID.
-\param[in] node_set_node_list Array containing the node list for the node set. Internal node IDs are
- used in this list (See Section LocalNodeIds).
-
-Refer to the description of ex_put_node_set_param() for a sample code
-segment to write out a node set.
-*/
-
-int ex_put_node_set (int exoid,
- ex_entity_id node_set_id,
- const void_int *node_set_node_list)
-{
- return ex_put_set(exoid, EX_NODE_SET, node_set_id,
- node_set_node_list, NULL);
-}
diff --git a/cbind/src/ex_put_node_set_dist_fact.c b/cbind/src/ex_put_node_set_dist_fact.c
deleted file mode 100644
index d356800..0000000
--- a/cbind/src/ex_put_node_set_dist_fact.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_put_set_dist_fact()(exoid, EX_NODE_SET, node_set_id, node_set_dist_fact)
-
-The function ex_put_node_set_dist_fact() writes node set distribution
-factors for a single node set. The function ex_put_node_set_param()
-must be called before this routine is invoked.
-
-Because the distribution factors are floating point values, the
-application code must declare the array passed to be the appropriate
-type (\c float or \c double) to match the compute word size passed in
-ex_create() or ex_open().
-
-\return In case of an error, ex_put_node_set_dist_fact() returns a
-negative number; a warning will return a positive number. Possible
-causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - ex_put_node_set_param() not called previously.
- - a call to ex_put_node_set_param() specified zero distribution factors.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] node_set_id The node set ID.
-\param[in] node_set_dist_fact Array containing the distribution factors in the node set.
-
-Refer to the description of ex_put_node_set_param() for a sample code
-segment to write out the distribution factors for a node set.
-*/
-
-int ex_put_node_set_dist_fact (int exoid,
- ex_entity_id node_set_id,
- const void *node_set_dist_fact)
-{
- return ex_put_set_dist_fact(exoid, EX_NODE_SET, node_set_id,
- node_set_dist_fact);
-}
diff --git a/cbind/src/ex_put_node_set_param.c b/cbind/src/ex_put_node_set_param.c
deleted file mode 100644
index a08f5f6..0000000
--- a/cbind/src/ex_put_node_set_param.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-
-/*!
-\deprecated Use ex_put_set_param()(exoid, EX_NODE_SET, node_set_id, num_nodes_in_set, num_dist_in_set)
-
-The function ex_put_node_set_param() writes the node set ID, the
-number of nodes which describe a single node set, and the number of
-node set distribution factors for the node set.
-
-\return In case of an error, ex_put_node_set_param() returns a
-negative number; a warning will return a positive number. Possible
-causes of errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - the number of node sets specified in the call to ex_put_init() was zero or has been exceeded.
- - a node set with the same ID has already been stored.
- - the specified number of distribution factors is not zero and is not equal to the number of nodes.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] node_set_id The node set ID.
-\param[in] num_nodes_in_set The number of nodes in the node set.
-\param[in] num_dist_in_set The number of distribution factors in the node set. This should be
- either 0 (zero) for no factors, or should equal \c num_nodes_in_set.
-
-
-The following code segment will write out a node set to an open exodus
-file :
-
-\code
-int id, num_nodes_in_set, num_dist_in_set, error, exoid, *node_list;
-float *dist_fact;
-
-\comment{write node set parameters}
-id = 20; num_nodes_in_set = 5; num_dist_in_set = 5;
-error = ex_put_node_set_param(exoid, id, num_nodes_in_set,
- num_dist_in_set);
-
-\comment{write node set node list}
-node_list = (int *) calloc (num_nodes_in_set, sizeof(int));
-node_list[0] = 100; node_list[1] = 101; node_list[2] = 102;
-node_list[3] = 103; node_list[4] = 104;
-
-error = ex_put_node_set(exoid, id, node_list);
-
-\comment{write node set distribution factors}
-dist_fact = (float *) calloc (num_dist_in_set, sizeof(float));
-dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
-dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
-error = ex_put_node_set_dist_fact(exoid, id, dist_fact);
-
-\comment{Same result using non-deprecated functions}
-error = ex_put_set_param(exoid, EX_NODE_SET, id, num_nodes_in_set, num_dist_in_set);
-error = ex_put_set(exoid, EX_NODE_SET, id, node_list);
-error = ex_put_set_dist_fact(exoid, EX_NODE_SET, id, dist_fact);
-\endcode
- */
-
-int ex_put_node_set_param (int exoid,
- ex_entity_id node_set_id,
- int64_t num_nodes_in_set,
- int64_t num_dist_in_set)
-{
- return ex_put_set_param(exoid, EX_NODE_SET, node_set_id, num_nodes_in_set, num_dist_in_set);
-}
diff --git a/cbind/src/ex_put_ns_param_global.c b/cbind/src/ex_put_ns_param_global.c
deleted file mode 100644
index 8ee0486..0000000
--- a/cbind/src/ex_put_ns_param_global.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_ns_param_global()
- *****************************************************************************
- * This function outputs the global node-set parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * global_ids - Pointer to a vector of global node-set IDs.
- * node_cnts - Pointer to a vector of global node counts in
- * each global node set.
- * df_cnts - Pointer to a vector of global distribution
- * factors in each global node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_ns_param_global(int exoid,
- void_int *global_ids,
- void_int *node_cnts,
- void_int *df_cnts
- )
-{
- const char *func_name="ex_put_ns_param_global";
- int varid, status;
-
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Get the variable ID for the vector of global node set IDs */
- if ((status = nc_inq_varid(exoid, VAR_NS_IDS_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the vector of global node set IDs */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, global_ids);
- } else {
- status = nc_put_var_int(exoid, varid, global_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" to file ID %d",
- VAR_NS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the vector of global node-set node counts */
- if ((status = nc_inq_varid(exoid, VAR_NS_NODE_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NS_NODE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the vector of global node counts in each global node set */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, node_cnts);
- } else {
- status = nc_put_var_int(exoid, varid, node_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable \"%s\" in file ID %d",
- VAR_NS_NODE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the number of dist. factors in each node set */
- if ((status = nc_inq_varid(exoid, VAR_NS_DF_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the vector of dist. factor counts */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, df_cnts);
- } else {
- status = nc_put_var_int(exoid, varid, df_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_NS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_nset_var.c b/cbind/src/ex_put_nset_var.c
deleted file mode 100644
index 32ea9a9..0000000
--- a/cbind/src/ex_put_nset_var.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expmv - ex_put_nset_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* int nset_var_index nodeset variable index
-* int nset_id nodeset id
-* int num_nodes_this_nset number of nodes in this nodeset
-*
-* exit conditions -
-*
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the values of a single nodeset variable for one nodeset at
- * one time step to the database; assume the first time step and
- * nodeset variable index are 1
- * \param exoid exodus file id
- * \param time_step time step number
- * \param nset_var_index nodeset variable index
- * \param nset_id nodeset id
- * \param num_nodes_this_nset number of nodes in this nodeset
- * \param nset_var_vals the values to be written
- * \deprecated Use ex_put_var()(exoid, time_step, EX_NODE_SET, nset_var_index, nset_id, num_nodes_this_nset, nset_var_vals)
-
- */
-
-int ex_put_nset_var (int exoid,
- int time_step,
- int nset_var_index,
- ex_entity_id nset_id,
- int64_t num_nodes_this_nset,
- const void *nset_var_vals)
-{
- return ex_put_var(exoid, time_step, EX_NODE_SET, nset_var_index,
- nset_id, num_nodes_this_nset, nset_var_vals);
-}
diff --git a/cbind/src/ex_put_nset_var_tab.c b/cbind/src/ex_put_nset_var_tab.c
deleted file mode 100644
index 2d85f37..0000000
--- a/cbind/src/ex_put_nset_var_tab.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expnstt - ex_put_nset_var_tab
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_nset number of nodesets
-* int num_nset_var number of nodeset variables
-* int* nset_var_tab nodeset variable truth table array
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the EXODUS II nodeset variable truth table to the database;
- * also, creates netCDF variables in which to store EXODUS II nodeset
- * variable values; although this table isn't required (because the
- * netCDF variables can also be created in ex_put_nset_var), this call
- * will save tremendous time because all of the variables are defined
- * at once while the file is in define mode, rather than going in and out
- * of define mode (causing the entire file to be copied over and over)
- * which is what occurs when the nodeset variable values variables are
- * defined in ex_put_nset_var
- * \param exoid exodus file id
- * \param num_nset number of nodesets
- * \param num_nset_var number of nodeset variables
- * \param nset_var_tab nodeset variable truth table array
- * \deprecated Use ex_put_truth_table()(exoid, EX_NODE_SET, num_nset, num_nset_var, nset_var_tab)
- */
-
-int ex_put_nset_var_tab (int exoid,
- int num_nset,
- int num_nset_var,
- int *nset_var_tab)
-{
- return ex_put_truth_table(exoid, EX_NODE_SET, num_nset, num_nset_var, nset_var_tab);
-}
diff --git a/cbind/src/ex_put_num_map.c b/cbind/src/ex_put_num_map.c
deleted file mode 100644
index f12a391..0000000
--- a/cbind/src/ex_put_num_map.c
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expem - ex_put_num_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_type type of map (node,edge,face,elem)
-* int map_id id to associate with new map
-* int *map_data map set value array
-*
-* exit conditions -
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*!
- * writes a map; this is a vector of integers of the same length as the
- * number of entries in the source object (nodes, edges, faces, or elements
- * in the file).
- * \param exoid exodus file id
- * \param map_type type of map (node,edge,face,elem)
- * \param map_id id to associate with new map
- * \param map map set value array
- */
-
-int ex_put_num_map ( int exoid,
- ex_entity_type map_type,
- ex_entity_id map_id,
- const void_int *map )
-{
- int dimid, varid;
- int map_int_type;
- size_t start[1];
- int ldum;
- int num_maps;
- size_t num_entries;
- int cur_num_maps;
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumentries;
- const char* dnummaps;
- const char* vmapids;
- const char* vmap;
- int status;
-
- exerrval = 0; /* clear error code */
-
- switch ( map_type ) {
- case EX_NODE_MAP:
- dnumentries = DIM_NUM_NODES;
- dnummaps = DIM_NUM_NM;
- vmapids = VAR_NM_PROP(1);
- break;
- case EX_EDGE_MAP:
- dnumentries = DIM_NUM_EDGE;
- dnummaps = DIM_NUM_EDM;
- vmapids = VAR_EDM_PROP(1);
- break;
- case EX_FACE_MAP:
- dnumentries = DIM_NUM_FACE;
- dnummaps = DIM_NUM_FAM;
- vmapids = VAR_FAM_PROP(1);
- break;
- case EX_ELEM_MAP:
- dnumentries = DIM_NUM_ELEM;
- dnummaps = DIM_NUM_EM;
- vmapids = VAR_EM_PROP(1);
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg,
- "Error: Bad map type (%d) specified for file id %d",
- map_type, exoid );
- ex_err( "ex_put_num_map", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- /* Make sure the file contains entries */
- if (nc_inq_dimid (exoid, dnumentries, &dimid) != NC_NOERR )
- {
- return (EX_NOERR);
- }
-
- /* first check if any maps are specified */
- if ((status = nc_inq_dimid (exoid, dnummaps, &dimid)) != NC_NOERR )
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: no %ss specified in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check for duplicate map id entry */
- ex_id_lkup(exoid,map_type,map_id);
- if (exerrval != EX_LOOKUPFAIL) /* found the map id */
- {
- sprintf(errmsg,
- "Error: %s %"PRId64" already defined in file id %d",
- ex_name_of_object(map_type),map_id,exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* Get number of maps initialized for this file */
- if ((status = nc_inq_dimlen(exoid,dimid,&num_entries)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of %ss in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
- num_maps = num_entries;
-
- /* Keep track of the total number of maps defined using a counter stored
- in a linked list keyed by exoid.
- NOTE: ex_get_file_item is used to find the number of maps
- for a specific file and returns that value.
- */
- cur_num_maps = ex_get_file_item(exoid, ex_get_counter_list(map_type));
- if (cur_num_maps >= num_maps) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: exceeded number of %ss (%d) specified in file id %d",
- ex_name_of_object(map_type),num_maps,exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* NOTE: ex_inc_file_item is used to find the number of maps
- for a specific file and returns that value incremented. */
- cur_num_maps = ex_inc_file_item(exoid, ex_get_counter_list(map_type));
-
- /* write out information to previously defined variable */
-
- /* first get id of variable */
- if ((status = nc_inq_varid (exoid, vmapids, &varid)) == -1)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s ids in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* then, write out map id */
- start[0] = cur_num_maps;
-
- ldum = (int)map_id;
- if ((status = nc_put_var1_int(exoid, varid, start, &ldum)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s id %"PRId64" in file id %d",
- ex_name_of_object(map_type),map_id,exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- switch ( map_type ) {
- case EX_NODE_MAP:
- vmap = VAR_NODE_MAP(cur_num_maps+1);
- break;
- case EX_EDGE_MAP:
- vmap = VAR_EDGE_MAP(cur_num_maps+1);
- break;
- case EX_FACE_MAP:
- vmap = VAR_FACE_MAP(cur_num_maps+1);
- break;
- case EX_ELEM_MAP:
- vmap = VAR_ELEM_MAP(cur_num_maps+1);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized map type in switch: %d in file id %d",
- map_type,exoid);
- ex_err("ex_putt_n_one_attr",errmsg,EX_MSG);
- return (EX_FATAL);
- }
-
- /* locate variable array in which to store the map */
- if ((status = nc_inq_varid(exoid,vmap,&varid)) != NC_NOERR) {
- int dims[2];
-
- /* determine number of entries */
- if ((status = nc_inq_dimid (exoid, dnumentries, &dimid)) == -1 ) {
- exerrval = status;
- sprintf(errmsg,
- "Error: couldn't determine number of %s entries in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_redef( exoid )) != NC_NOERR ) {
- exerrval = status;
- sprintf(errmsg, "Error: failed to place file id %d into define mode", exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check type to be used for maps... */
- map_int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_MAPS_INT64_DB) {
- map_int_type = NC_INT64;
- }
-
- dims[0] = dimid;
- if ((status = nc_def_var( exoid, vmap, map_int_type, 1, dims, &varid )) == -1 ) {
- exerrval = status;
- sprintf(errmsg, "Error: failed to define map %s in file id %d", vmap, exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- }
- ex_compress_variable(exoid, varid, 1);
-
- if ((status = nc_enddef(exoid)) != NC_NOERR ) { /* exit define mode */
- sprintf( errmsg, "Error: failed to complete definition for file id %d", exoid );
- ex_err( "ex_put_num_map", errmsg, exerrval );
- varid = -1; /* force early exit */
- }
-
- if ( varid == -1 ) /* we couldn't define variable and have prepared error message. */
- return (EX_FATAL);
- }
-
- /* write out the map */
-
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, map);
- } else {
- status = nc_put_var_int(exoid, varid, map);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_one_attr.c b/cbind/src/ex_put_one_attr.c
deleted file mode 100644
index 6c31d08..0000000
--- a/cbind/src/ex_put_one_attr.c
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expoea - ex_put_one_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type (edge, face, elem block)
-* int obj_id object id (edge, face, elem block ID)
-* int attrib_index index of attribute to write
-* float* attrib array of attributes
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the specified attribute for a block
- * \param exoid exodus file id
- * \param obj_type object type (edge, face, elem block)
- * \param obj_id object id (edge, face, elem block ID)
- * \param attrib_index index of attribute to write
- * \param attrib array of attributes
- */
-
-int ex_put_one_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int attrib_index,
- const void *attrib )
-{
- int status;
- int attrid, obj_id_ndx, temp;
- size_t num_entries_this_obj, num_attr;
- size_t start[2], count[2];
- ptrdiff_t stride[2];
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumobjent;
- const char* dnumobjatt;
- const char* vattrbname;
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of obj_id in id array */
- if (obj_type != EX_NODAL) {
- obj_id_ndx = ex_id_lkup(exoid,obj_type,obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_put_one_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this element block */
- } else {
- sprintf(errmsg,
- "Error: no %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_put_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
-
- switch (obj_type) {
- case EX_SIDE_SET:
- dnumobjent = DIM_NUM_SIDE_SS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_SS(obj_id_ndx);
- vattrbname = VAR_SSATTRIB(obj_id_ndx);
- break;
- case EX_NODE_SET:
- dnumobjent = DIM_NUM_NOD_NS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_NS(obj_id_ndx);
- vattrbname = VAR_NSATTRIB(obj_id_ndx);
- break;
- case EX_EDGE_SET:
- dnumobjent = DIM_NUM_EDGE_ES(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ES(obj_id_ndx);
- vattrbname = VAR_ESATTRIB(obj_id_ndx);
- break;
- case EX_FACE_SET:
- dnumobjent = DIM_NUM_FACE_FS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FS(obj_id_ndx);
- vattrbname = VAR_FSATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_SET:
- dnumobjent = DIM_NUM_ELE_ELS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ELS(obj_id_ndx);
- vattrbname = VAR_ELSATTRIB(obj_id_ndx);
- break;
- case EX_NODAL:
- dnumobjent = DIM_NUM_NODES;
- dnumobjatt = DIM_NUM_ATT_IN_NBLK;
- vattrbname = VAR_NATTRIB;
- break;
- case EX_EDGE_BLOCK:
- dnumobjent = DIM_NUM_ED_IN_EBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_EBLK(obj_id_ndx);
- vattrbname = VAR_EATTRIB(obj_id_ndx);
- break;
- case EX_FACE_BLOCK:
- dnumobjent = DIM_NUM_FA_IN_FBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FBLK(obj_id_ndx);
- vattrbname = VAR_FATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_BLOCK:
- dnumobjent = DIM_NUM_EL_IN_BLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_BLK(obj_id_ndx);
- vattrbname = VAR_ATTRIB(obj_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- obj_type,exoid);
- ex_err("ex_put_one_attr",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- /* inquire id's of previously defined dimensions */
- if (ex_get_dimension(exoid, dnumobjent,"entries", &num_entries_this_obj, &temp, "ex_put_one_attr") != NC_NOERR)
- return EX_FATAL;
-
- if (ex_get_dimension(exoid, dnumobjatt,"attributes", &num_attr, &temp, "ex_put_one_attr") != NC_NOERR)
- return EX_FATAL;
-
- if (attrib_index < 1 || attrib_index > (int)num_attr) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: Invalid attribute index specified: %d. Valid range is 1 to %d for %s %"PRId64" in file id %d",
- attrib_index, (int)num_attr, ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_put_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, vattrbname, &attrid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attribute variable for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_put_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out the attributes */
-
- start[0] = 0;
- start[1] = attrib_index-1;
-
- count[0] = num_entries_this_obj;
- count[1] = 1;
-
- stride[0] = 1;
- stride[1] = num_attr;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vars_float(exoid, attrid, start, count, stride, attrib);
- } else {
- status = nc_put_vars_double(exoid, attrid, start, count, stride, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put attribute %d for %s %"PRId64" in file id %d",
- attrib_index, ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_put_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_put_one_elem_attr.c b/cbind/src/ex_put_one_elem_attr.c
deleted file mode 100644
index b10178c..0000000
--- a/cbind/src/ex_put_one_elem_attr.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expoea - ex_put_one_elem_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int elem_blk_id element block id
-* int attrib_index index of attribute to write
-* float* attrib array of attributes
-*
-* exit conditions -
-*
-* revision history -
-* 20061003 - David Thompson - moved to ex_put_one_attr
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the specified attribute for an element block
- * \param exoid exodus file id
- * \param elem_blk_id element block id
- * \param attrib_index index of attribute to write
- * \param attrib array of attributes
- * \deprecated Use ex_put_one_attr()(exoid, EX_ELEM_BLOCK, elem_blk_id, attrib_index, attrib)
-
- */
-
-int ex_put_one_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- int attrib_index,
- const void *attrib)
-{
- return ex_put_one_attr( exoid, EX_ELEM_BLOCK, elem_blk_id, attrib_index, attrib );
-}
diff --git a/cbind/src/ex_put_partial_attr.c b/cbind/src/ex_put_partial_attr.c
deleted file mode 100644
index e9be9b9..0000000
--- a/cbind/src/ex_put_partial_attr.c
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expatt - ex_put_partial_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int blk_type block type
-* int blk_id block id
-* float* attrib array of attributes
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the attributes for an edge/face/element block
- * \param exoid exodus file id
- * \param blk_type block type
- * \param blk_id block id
- * \param attrib array of attributes
- */
-
-int ex_put_partial_attr (int exoid,
- ex_entity_type blk_type,
- ex_entity_id blk_id,
- int64_t start_entity,
- int64_t num_entity,
- const void *attrib)
-{
- int status;
- int attrid;
- int blk_id_ndx = 0;
- int numattrdim;
- size_t start[2], count[2];
- size_t num_attr;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if ( blk_type != EX_NODAL ) {
- /* Determine index of blk_id in VAR_ID_EL_BLK array */
- blk_id_ndx = ex_id_lkup(exoid,blk_type,blk_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this block */
- } else {
- sprintf(errmsg,
- "Error: no %s id %"PRId64" in in file id %d",
- ex_name_of_object(blk_type), blk_id, exoid);
- ex_err("ex_put_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
-
- switch (blk_type) {
- case EX_SIDE_SET:
- status = nc_inq_varid (exoid, VAR_SSATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_NODE_SET:
- status = nc_inq_varid (exoid, VAR_NSATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_EDGE_SET:
- status = nc_inq_varid (exoid, VAR_ESATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_FACE_SET:
- status = nc_inq_varid (exoid, VAR_FSATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_ELEM_SET:
- status = nc_inq_varid (exoid, VAR_ELSATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_NODAL:
- status = nc_inq_varid (exoid, VAR_NATTRIB, &attrid);
- break;
- case EX_EDGE_BLOCK:
- status = nc_inq_varid (exoid, VAR_EATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_FACE_BLOCK:
- status = nc_inq_varid (exoid, VAR_FATTRIB(blk_id_ndx), &attrid);
- break;
- case EX_ELEM_BLOCK:
- status = nc_inq_varid (exoid, VAR_ATTRIB(blk_id_ndx), &attrid);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- blk_type,exoid);
- ex_err("ex_put_partial_attr",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attribute variable for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_partial_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Determine number of attributes */
- switch (blk_type) {
- case EX_SIDE_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_SS(blk_id_ndx), &numattrdim);
- break;
- case EX_NODE_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_NS(blk_id_ndx), &numattrdim);
- break;
- case EX_EDGE_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_ES(blk_id_ndx), &numattrdim);
- break;
- case EX_FACE_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_FS(blk_id_ndx), &numattrdim);
- break;
- case EX_ELEM_SET:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_ELS(blk_id_ndx), &numattrdim);
- break;
- case EX_NODAL:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_NBLK, &numattrdim);
- break;
- case EX_EDGE_BLOCK:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_EBLK(blk_id_ndx), &numattrdim);
- break;
- case EX_FACE_BLOCK:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_FBLK(blk_id_ndx), &numattrdim);
- break;
- case EX_ELEM_BLOCK:
- status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_BLK(blk_id_ndx), &numattrdim);
- break;
- default:
- /* No need for error message, handled in previous switch; just to quiet compiler. */
- return (EX_FATAL);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: number of attributes not defined for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_partial_attr",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- if ((status = nc_inq_dimlen(exoid, numattrdim, &num_attr)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_partial_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out the attributes */
- start[0] = --start_entity;
- start[1] = 0;
-
- count[0] = num_entity;
- count[1] = num_attr;
- if (count[0] == 0)
- start[0] = 0;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, attrid, start, count, attrib);
- } else {
- status = nc_put_vara_double(exoid, attrid, start, count, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put attributes for %s %"PRId64" in file id %d",
- ex_name_of_object(blk_type),blk_id,exoid);
- ex_err("ex_put_partial_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_coord.c b/cbind/src/ex_put_partial_coord.c
deleted file mode 100644
index fa3c3be..0000000
--- a/cbind/src/ex_put_partial_coord.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expcor - ex_put_partial_coord
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_node_num starting index (1-based) of coordinates to be written.
-* int num_nodes number of nodes to write coordinates for.
-* float* x_coord X coord array
-* float* y_coord y coord array
-* float* z_coord z coord array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the coordinates of some of the nodes in the model
- * Only writes the 'non-null' arrays.
- * \param exoid exodus file id
- * \param start_node_num the starting index (1-based) of the coordinates to be written
- * \param num_nodes the number of nodes to write coordinates for.
- * \param x_coor x coord array
- * \param y_coor y coord array
- * \param z_coor z coord array
- */
-
-int ex_put_partial_coord (int exoid,
- int64_t start_node_num,
- int64_t num_nodes,
- const void *x_coor,
- const void *y_coor,
- const void *z_coor)
-{
- int status;
- int coordid;
- int coordidx, coordidy, coordidz;
-
- int numnoddim, ndimdim;
- int64_t num_nod;
- size_t i, num_dim, start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire id's of previously defined dimensions */
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_NODES, &numnoddim)) != NC_NOERR) {
- /* If not found, then this file is storing 0 nodes.
- Return immediately */
- return (EX_NOERR);
- }
-
- {
- size_t tmp;
- if ((status = nc_inq_dimlen(exoid, numnoddim, &tmp)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: inquire failed to return number of nodes in file id %d",
- exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- num_nod = tmp;
- }
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_DIM, &ndimdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of dimensions in file id %d",
- exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, ndimdim, &num_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of dimensions in file id %d",
- exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (start_node_num + num_nodes -1 > num_nod) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: start index (%"PRId64") + node count (%"PRId64") is larger than total number of nodes (%"PRId64") in file id %d",
- start_node_num, num_nodes, num_nod, exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- --start_node_num;
-
- /* write out the coordinates */
- if (ex_large_model(exoid) == 0) {
- if ((status = nc_inq_varid(exoid, VAR_COORD, &coordid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate nodal coordinates in file id %d", exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- for (i=0; i<num_dim; i++) {
- char *which = 0;
- start[0] = i;
- start[1] = start_node_num;
-
- count[0] = 1;
- count[1] = num_nodes;
-
- if (count[1] == 0)
- start[1] = 0;
-
- if (i == 0 && x_coor != NULL) {
- which = "X";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, coordid, start, count, x_coor);
- } else {
- status = nc_put_vara_double(exoid, coordid, start, count, x_coor);
- }
- }
- else if (i == 1 && y_coor != NULL) {
- which = "Y";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, coordid, start, count, y_coor);
- } else {
- status = nc_put_vara_double(exoid, coordid, start, count, y_coor);
- }
- }
- else if (i == 2 && z_coor != NULL) {
- which = "Z";
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, coordid, start, count, z_coor);
- } else {
- status = nc_put_vara_double(exoid, coordid, start, count, z_coor);
- }
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put %s coord array in file id %d", which, exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- } else {
- if ((status = nc_inq_varid(exoid, VAR_COORD_X, &coordidx)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate x nodal coordinates in file id %d", exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_dim > 1) {
- if ((status = nc_inq_varid(exoid, VAR_COORD_Y, &coordidy)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate y nodal coordinates in file id %d", exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- coordidy = 0;
- }
- if (num_dim > 2) {
- if ((status = nc_inq_varid(exoid, VAR_COORD_Z, &coordidz)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate z nodal coordinates in file id %d", exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- coordidz = 0;
- }
-
- /* write out the coordinates */
- for (i=0; i<num_dim; i++) {
- const void *coor = NULL;
- char *which = NULL;
-
- start[0] = start_node_num;
- count[0] = num_nodes;
- if (count[0] == 0)
- start[0] = 0;
-
- if (i == 0) {
- coor = x_coor;
- which = "X";
- coordid = coordidx;
- } else if (i == 1) {
- coor = y_coor;
- which = "Y";
- coordid = coordidy;
- } else if (i == 2) {
- coor = z_coor;
- which = "Z";
- coordid = coordidz;
- }
-
- if (coor != NULL && coordid != 0) {
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, coordid, start, count, coor);
- } else {
- status = nc_put_vara_double(exoid, coordid, start, count, coor);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put %s coord array in file id %d", which, exoid);
- ex_err("ex_put_partial_coord",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_elem_attr.c b/cbind/src/ex_put_partial_elem_attr.c
deleted file mode 100644
index 93fdf47..0000000
--- a/cbind/src/ex_put_partial_elem_attr.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_partial_elem_attr()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_blk_id - The element block ID.
- * start_elem_num - The starting index of the elements to be
- * obtained.
- * num_elems - The number of FEM elements to read coords for.
- * attrib - Pointer to the attribute vector.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * writes the attributes for an element block
- */
-
-int ex_put_partial_elem_attr (int exoid,
- ex_entity_id elem_blk_id,
- int64_t start_elem_num,
- int64_t num_elems,
- void *attrib)
-{
- int status;
- int numelbdim, numattrdim, attrid, elem_blk_id_ndx;
- size_t num_elem_this_blk, num_attr, start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of elem_blk_id in VAR_ID_EL_BLK array */
- if ((elem_blk_id_ndx = ex_id_lkup(exoid, EX_ELEM_BLOCK, elem_blk_id)) < 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes allowed for NULL block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this element block */
- } else {
- sprintf(errmsg,
- "Error: no element block id %"PRId64" in %s array in file id %d",
- elem_blk_id, VAR_ID_EL_BLK, exoid);
- ex_err("ex_put_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_EL_IN_BLK(elem_blk_id_ndx), &numelbdim)) != NC_NOERR) {
- if (status == NC_EBADDIM) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no element block with id %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of elements for block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
-
- if ((status = nc_inq_dimlen(exoid, numelbdim, &num_elem_this_blk)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of elements for block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimid(exoid, DIM_NUM_ATT_IN_BLK(elem_blk_id_ndx), &numattrdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: number of attributes not defined for block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_attr",errmsg,EX_MSG);
- return (EX_FATAL); /* number of attributes not defined */
- }
-
- if ((status = nc_inq_dimlen(exoid, numattrdim, &num_attr)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of attributes for block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid (exoid, VAR_ATTRIB(elem_blk_id_ndx), &attrid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attribute variable for block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* do some error checking */
- if (num_elem_this_blk < (start_elem_num + num_elems - 1)) {
- exerrval = status;
- sprintf(errmsg,
- "Error: requested attributes from too many elements in block %"PRId64,
- elem_blk_id);
- ex_err("ex_put_partial_elem_attr",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- /* write out the attributes */
- start[0] = --start_elem_num;
- start[1] = 0;
-
- count[0] = num_elems;
- count[1] = num_attr;
-
- if (count[0] == 0)
- start[0] = 0;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, attrid, start, count, attrib);
- } else {
- status = nc_put_vara_double(exoid, attrid, start, count, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put attributes for block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_elem_conn.c b/cbind/src/ex_put_partial_elem_conn.c
deleted file mode 100644
index cd53297..0000000
--- a/cbind/src/ex_put_partial_elem_conn.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_partial_elem_conn()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_blk_id - The element block ID.
- * start_elem_num - The starting index of the elements to be
- * obtained.
- * num_elems - The number of FEM elements to read coords for.
- * connect - Pointer to the connectivity vector.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * writes the connectivity array for an element block
- */
-
-int ex_put_partial_elem_conn (int exoid,
- ex_entity_id elem_blk_id,
- int64_t start_elem_num,
- int64_t num_elems,
- const void_int *connect)
-{
- int numelbdim, nelnoddim, connid, elem_blk_id_ndx, status;
- size_t num_elem_this_blk, num_nod_per_elem, start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of elem_blk_id in VAR_ID_EL_BLK array */
- if ((elem_blk_id_ndx = ex_id_lkup(exoid, EX_ELEM_BLOCK, elem_blk_id)) == -1)
- {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: connectivity array not allowed for NULL element block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_conn",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
-
- sprintf(errmsg,
- "Error: failed to locate element block id %"PRId64" in %s array in file id %d",
- elem_blk_id,VAR_ID_EL_BLK, exoid);
- ex_err("ex_put_partial_elem_conn",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_EL_IN_BLK(elem_blk_id_ndx), &numelbdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of elements in block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, numelbdim, &num_elem_this_blk)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of elements in block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_conn",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NOD_PER_EL(elem_blk_id_ndx), &nelnoddim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of nodes/elem in block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_conn",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen (exoid, nelnoddim, &num_nod_per_elem)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes/elem in block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_conn",errmsg,exerrval);
- return(EX_FATAL);
- }
-
-
- if ((status = nc_inq_varid (exoid, VAR_CONN(elem_blk_id_ndx), &connid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate connectivity array for element block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- /* do some error checking */
- if (num_elem_this_blk < (start_elem_num + num_elems - 1)) {
- exerrval = status;
- sprintf(errmsg,
- "Error: requested connectivity from too many elements in block, %"PRId64,
- elem_blk_id);
- ex_err("ex_put_partial_elem_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- /* write out the connectivity array */
- start[0] = --start_elem_num;
- start[1] = 0;
-
- count[0] = num_elems;
- count[1] = num_nod_per_elem;
-
- if (count[0] == 0)
- start[0] = 0;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, connid, start, count, connect);
- } else {
- status = nc_put_vara_int(exoid, connid, start, count, connect);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to write connectivity array for block %"PRId64" in file id %d",
- elem_blk_id, exoid);
- ex_err("ex_put_partial_elem_conn",errmsg, exerrval);
- return(EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_elem_map.c b/cbind/src/ex_put_partial_elem_map.c
deleted file mode 100644
index 16d68f4..0000000
--- a/cbind/src/ex_put_partial_elem_map.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exppem - ex_put_partial_elem_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_id element map id
-* int ent_start first entry in map
-* int ent_count number of entries in map
-* int *elem_map element map
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*!
- * writes an element map; this is a vector of integers of length number
- * of elements
- * \deprecated Use ex_put_partial_num_map()(exoid, EX_ELEM_MAP, map_id, ent_start, ent_count, elem_map) instead
- */
-int ex_put_partial_elem_map (int exoid,
- ex_entity_id map_id,
- int64_t ent_start,
- int64_t ent_count,
- const void_int *elem_map)
-{
- return ex_put_partial_num_map(exoid, EX_ELEM_MAP, map_id, ent_start, ent_count, elem_map);
-}
diff --git a/cbind/src/ex_put_partial_elem_num_map.c b/cbind/src/ex_put_partial_elem_num_map.c
deleted file mode 100644
index b2a2735..0000000
--- a/cbind/src/ex_put_partial_elem_num_map.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* ne_pennm - ex_put_partial_elem_num_map
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_ent first entry in elem_map
-* int num_ents number of entries in node_map
-* int* elem_map element numbering map array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-
-/*
- * writes out a portion of the element numbering map to the database;
- * this allows element numbers to be non-contiguous
- */
-
-int ex_put_partial_elem_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- const void_int *elem_map)
-{
- return ex_put_partial_id_map(exoid, EX_ELEM_MAP, start_ent, num_ents, elem_map);
-}
diff --git a/cbind/src/ex_put_partial_id_map.c b/cbind/src/ex_put_partial_id_map.c
deleted file mode 100644
index 60d7b93..0000000
--- a/cbind/src/ex_put_partial_id_map.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * Copyright (c) 2007 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expenm - ex_put_partial_id_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* ex_entity_type obj_type
-* int* elem_map element numbering map array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h>
-
-/*!
- * writes out a portion of the entity numbering map to the database;
- * this allows the entity numbers to be non-contiguous. This map is
- * used for mapping between local and global entity ids.
- * \param exoid exodus file id
- * \param map_type
- * \param start_entity_num
- * \param num_entities
- * \param map element numbering map array
- */
-
-int ex_put_partial_id_map (int exoid,
- ex_entity_type map_type,
- int64_t start_entity_num,
- int64_t num_entities,
- const void_int *map)
-{
- int dimid, mapid, status, dims[1];
- int map_int_type;
- size_t start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
- const char* tname;
- const char* dnumentries;
- const char* vmap;
-
- exerrval = 0; /* clear error code */
- if (num_entities == 0 && !ex_is_parallel(exoid))
- return EX_NOERR;
-
- switch ( map_type ) {
- case EX_NODE_MAP:
- tname = "node";
- dnumentries = DIM_NUM_NODES;
- vmap = VAR_NODE_NUM_MAP;
- break;
- case EX_EDGE_MAP:
- tname = "edge";
- dnumentries = DIM_NUM_EDGE;
- vmap = VAR_EDGE_NUM_MAP;
- break;
- case EX_FACE_MAP:
- tname = "face";
- dnumentries = DIM_NUM_FACE;
- vmap = VAR_FACE_NUM_MAP;
- break;
- case EX_ELEM_MAP:
- tname = "element";
- dnumentries = DIM_NUM_ELEM;
- vmap = VAR_ELEM_NUM_MAP;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg,
- "Error: Bad map type (%d) specified for file id %d",
- map_type, exoid );
- ex_err( "ex_put_partial_id_map", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- /* Make sure the file contains entries */
- if (nc_inq_dimid (exoid, dnumentries, &dimid) != NC_NOERR) {
- /* Error -- if we made it this far, num_entities is > 0,
- * but the dimension 'dnumentries' is not defined which
- * indicates that either the entity count is zero, or
- * there is an error in that the dimension has not yet
- * been defined. Note that in parallel, num_entities could
- * be zero on a processor, but non-zero globally.
- */
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: The %s count is %ld, but the %s dimension is not defined on file id %d.",
- tname, num_entities, dnumentries, exoid);
- ex_err("ex_put_partial_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* define the map if it doesn't already exist... */
- if (nc_inq_varid (exoid, vmap, &mapid) != NC_NOERR) {
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode",
- exoid);
- ex_err("ex_put_partial_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* create a variable array in which to store the id map */
- dims[0] = dimid;
-
- /* Check type to be used for maps... */
- map_int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_MAPS_INT64_DB) {
- map_int_type = NC_INT64;
- }
-
- if ((status = nc_def_var(exoid, vmap, map_int_type, 1, dims, &mapid)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: %s numbering map already exists in file id %d",
- tname, exoid);
- ex_err("ex_put_partial_id_map",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create %s id map in file id %d",
- tname, exoid);
- ex_err("ex_put_partial_id_map",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, mapid, 1);
-
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition in file id %d",
- exoid);
- ex_err("ex_put_partial_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* write out the entity numbering map */
- start[0] = start_entity_num-1;
- count[0] = num_entities;
- if (num_entities == 0)
- start[0] = 0;
-
- /* write out the entity numbering map */
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_vara_longlong(exoid, mapid, start, count, map);
- } else {
- status = nc_put_vara_int(exoid, mapid, start, count, map);
- }
-
- if (status!= NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s numbering map in file id %d",
- tname, exoid);
- ex_err("ex_put_partial_id_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_partial_id_map",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
-
diff --git a/cbind/src/ex_put_partial_nodal_var.c b/cbind/src/ex_put_partial_nodal_var.c
deleted file mode 100644
index 78a26a6..0000000
--- a/cbind/src/ex_put_partial_nodal_var.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expnv - ex_put_partial_nodal_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step whole time step number
-* int nodel_var_index index of desired nodal variable
-* int start_node index (1-based) of first node to put
-* int num_nodes number of nodal points
-* float* nodal_var_vals array of nodal variable values
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the values of a single nodal variable for a partial block at
- * one single time step to the database; assume the first time step
- * and nodal variable index is 1
- * \param exoid exodus file id
- * \param time_step whole time step number
- * \param nodal_var_index index of desired nodal variable
- * \param start_node index of first node to write data for (1-based)
- * \param num_nodes number of nodal points
- * \param nodal_var_vals array of nodal variable values
- */
-
-int ex_put_partial_nodal_var (int exoid,
- int time_step,
- int nodal_var_index,
- int64_t start_node,
- int64_t num_nodes,
- const void *nodal_var_vals)
-
-{
- int status;
- int varid;
- size_t start[3], count[3];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if (ex_large_model(exoid) == 0) {
- /* write values of the nodal variable */
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variables in file id %d",
- exoid);
- ex_err("ex_put_partial_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
- start[0] = --time_step;
- start[1] = --nodal_var_index;
- start[2] = --start_node;
-
- count[0] = 1;
- count[1] = 1;
- count[2] = num_nodes;
- } else {
- /* nodal variables stored separately, find variable for this variable
- index */
- if ((status = nc_inq_varid(exoid, VAR_NOD_VAR_NEW(nodal_var_index), &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Warning: could not find nodal variable %d in file id %d",
- nodal_var_index, exoid);
- ex_err("ex_put_partial_nodal_var",errmsg,exerrval);
- return (EX_WARN);
- }
-
- start[0] = --time_step;
- start[1] = --start_node;
-
- count[0] = 1;
- count[1] = num_nodes;
- if (num_nodes == 0)
- start[1] = 0;
- }
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, varid, start, count, nodal_var_vals);
- } else {
- status = nc_put_vara_double(exoid, varid, start, count, nodal_var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store nodal variables in file id %d",
- exoid);
- ex_err("ex_put_partial_nodal_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_node_num_map.c b/cbind/src/ex_put_partial_node_num_map.c
deleted file mode 100644
index 64cd248..0000000
--- a/cbind/src/ex_put_partial_node_num_map.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************
-*
-* ne_pnnnm - ex_put_partial_node_num_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int start_ent first entry in node_map
-* int num_ents number of entries in node_map
-* int* node_map node numbering map
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * writes out the node numbering map to the database; allows node numbers
- * to be non-contiguous
- */
-
-int ex_put_partial_node_num_map (int exoid,
- int64_t start_ent,
- int64_t num_ents,
- const void_int *node_map)
-{
- return ex_put_partial_id_map(exoid, EX_NODE_MAP, start_ent, num_ents, node_map);
-}
diff --git a/cbind/src/ex_put_partial_node_set.c b/cbind/src/ex_put_partial_node_set.c
deleted file mode 100644
index 4e68d55..0000000
--- a/cbind/src/ex_put_partial_node_set.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_partial_node_set()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_set_id - ID of node set to read.
- * start_node_num - The starting index of the nodes to be read.
- * num_nodes - The number of nodes to read in.
- * node_set_node_list - List of node IDs in node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * writes the node list for a single node set
- */
-
-int ex_put_partial_node_set (int exoid,
- ex_entity_id node_set_id,
- int64_t start_node_num,
- int64_t num_nodes,
- const void_int *node_set_node_list)
-{
- int dimid, node_list_id, node_set_id_ndx, status;
- size_t num_nodes_in_set, start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any node sets are specified */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no node sets specified in file id %d",
- exoid);
- ex_err("ex_put_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Lookup index of node set id in VAR_NS_IDS array */
- if ((node_set_id_ndx = ex_id_lkup(exoid, EX_NODE_SET, node_set_id)) < 0)
- {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no data allowed for NULL node set %"PRId64" in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate node set id %"PRId64" in VAR_NS_IDS array in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NOD_NS(node_set_id_ndx), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of nodes in set %"PRId64" in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_nodes_in_set)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes in set %"PRId64" in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (start_node_num < 0 || start_node_num > num_nodes_in_set) {
- fprintf(stderr, "ERROR: Invalid input to function ex_get_partial_node_set!\n");
- return -1;
- }
-
- if (num_nodes < 0) {
- fprintf(stderr, "ERROR: Invalid number of nodes in nodes set!\n");
- return -1;
- }
-
- /* start_node_num now starts at 1, not 0 */
- if ((start_node_num + num_nodes - 1) > num_nodes_in_set) {
- fprintf(stderr, "ERROR: request larger than number of nodes in set!\n");
- return -1;
- }
-
- /* inquire if variable for node set node list has been defined */
- if ((status = nc_inq_varid (exoid, VAR_NODE_NS(node_set_id_ndx), &node_list_id)) != NC_NOERR) {
- /* variable doesn't exist */
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate node set %"PRId64" node list in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out the node list array */
- start[0] = --start_node_num;
- count[0] = num_nodes;
- if (count[0] == 0)
- start[0] = 0;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, node_list_id, start, count, node_set_node_list);
- } else {
- status = nc_put_vara_int(exoid, node_list_id, start, count, node_set_node_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store node set %"PRId64" node list in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_node_set_df.c b/cbind/src/ex_put_partial_node_set_df.c
deleted file mode 100644
index 2f69a27..0000000
--- a/cbind/src/ex_put_partial_node_set_df.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_partial_node_set_df()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_set_id - ID of node set to write.
- * start_num - The starting index of the df's to be written.
- * num_df_to_get - The number of distribution factors to write out.
- * node_set_dist_fact - List of node distribution factors in node set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * writes the node set distribution factors for a single node set
- */
-
-int ex_put_partial_node_set_df (int exoid,
- ex_entity_id node_set_id,
- int64_t start_num,
- int64_t num_df_to_get,
- void *node_set_dist_fact)
-{
- int status;
- int dimid, dist_id, node_set_id_ndx;
- size_t num_nodes_in_set, start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any node sets are specified */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NS, &dimid)) < 0) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no node sets specified in file id %d",
- exoid);
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Lookup index of node set id in VAR_NS_IDS array */
- if ((node_set_id_ndx = ex_id_lkup(exoid, EX_NODE_SET, node_set_id)) < 0)
- {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no data allowed for NULL node set %"PRId64" in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set_df",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate node set id %"PRId64" in VAR_NS_IDS array in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions */
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NOD_NS(node_set_id_ndx), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of nodes in node set %"PRId64" in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_nodes_in_set)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of nodes in set %"PRId64" in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (start_num < 0 || start_num > num_nodes_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid input");
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_df_to_get < 0) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid number of nodes in nodes set!");
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* start_num now starts at 1, not 0 */
- if ((start_num + num_df_to_get - 1) > num_nodes_in_set) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: request larger than number of nodes in set!");
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* find id of distribution factors variable */
- if ((status = nc_inq_varid (exoid, VAR_FACT_NS(node_set_id_ndx), &dist_id)) != NC_NOERR) {
- if (status == NC_ENOTVAR) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: no dist factors defined for node set %"PRId64" in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_WARN);
-
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate node set %"PRId64" dist factors in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
-
- /* write out the distribution factors array */
- start[0] = --start_num;
- count[0] = num_df_to_get;
- if (count[0] == 0)
- start[0] = 0;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, dist_id, start, count, node_set_dist_fact);
- } else {
- status = nc_put_vara_double(exoid, dist_id, start, count, node_set_dist_fact);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store node set %"PRId64" dist factors in file id %d",
- node_set_id, exoid);
- ex_err("ex_put_partial_node_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_num_map.c b/cbind/src/ex_put_partial_num_map.c
deleted file mode 100644
index fc67112..0000000
--- a/cbind/src/ex_put_partial_num_map.c
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exppem - ex_put_partial_num_map
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int map_id element map id
-* int ent_start first entry in map
-* int ent_count number of entries in map
-* int *map map
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*!
- * writes a map; this is a vector of integers of length number of mesh
- * objects of that type (element, node, face, edge)
- */
-int ex_put_partial_num_map (int exoid,
- ex_entity_type map_type,
- ex_entity_id map_id,
- int64_t ent_start,
- int64_t ent_count,
- const void_int *map)
-{
- int status;
- int dimid, varid, map_ndx, map_exists;
- size_t start[1];
- size_t num_maps, num_mobj, count[1];
- int cur_num_maps;
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumentries;
- const char* dnummaps;
- const char* vmapids;
- const char* vmap;
-
- exerrval = 0; /* clear error code */
-
- switch ( map_type ) {
- case EX_NODE_MAP:
- dnumentries = DIM_NUM_NODES;
- dnummaps = DIM_NUM_NM;
- vmapids = VAR_NM_PROP(1);
- break;
- case EX_EDGE_MAP:
- dnumentries = DIM_NUM_EDGE;
- dnummaps = DIM_NUM_EDM;
- vmapids = VAR_EDM_PROP(1);
- break;
- case EX_FACE_MAP:
- dnumentries = DIM_NUM_FACE;
- dnummaps = DIM_NUM_FAM;
- vmapids = VAR_FAM_PROP(1);
- break;
- case EX_ELEM_MAP:
- dnumentries = DIM_NUM_ELEM;
- dnummaps = DIM_NUM_EM;
- vmapids = VAR_EM_PROP(1);
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg,
- "Error: Bad map type (%d) specified for file id %d",
- map_type, exoid );
- ex_err( "ex_put_num_map", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- /* Make sure the file contains entries */
- if (nc_inq_dimid (exoid, dnumentries, &dimid) != NC_NOERR ) {
- return (EX_NOERR);
- }
-
- /* first check if any maps are specified */
- if ((status = nc_inq_dimid (exoid, dnummaps, &dimid)) != NC_NOERR )
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: no %ss specified in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_put_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check for duplicate map id entry */
- ex_id_lkup(exoid,map_type,map_id);
- if (exerrval == EX_LOOKUPFAIL) { /* did not find the map id */
- map_exists = 0; /* Map is being defined */
- } else {
- map_exists = 1; /* A portion of this map has already been written */
- }
-
- /* Check for duplicate map id entry */
- if (!map_exists) {
- /* Get number of maps initialized for this file */
- if ((status = nc_inq_dimlen(exoid,dimid,&num_maps)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of %ss in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_put_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Keep track of the total number of maps defined using a
- counter stored in a linked list keyed by exoid. NOTE:
- ex_get_file_item is used to find the number of element maps for a
- specific file and returns that value.
- */
- cur_num_maps = ex_get_file_item(exoid, ex_get_counter_list(map_type));
- if (cur_num_maps >= (int)num_maps) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: exceeded number of %ss (%"ST_ZU") specified in file id %d",
- ex_name_of_object(map_type),num_maps,exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* NOTE: ex_inc_file_item is used to find the number of element maps
- for a specific file and returns that value incremented. */
- cur_num_maps = ex_inc_file_item(exoid, ex_get_counter_list(map_type));
- } else {
- map_ndx = ex_id_lkup(exoid,map_type,map_id);
- cur_num_maps = map_ndx-1;
- }
-
- /* determine number of elements */
- if ((status = nc_inq_dimid(exoid, dnumentries, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: couldn't determine number of mesh objects in file id %d",
- exoid);
- ex_err("ex_put_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_mobj)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of mesh objects in file id %d",
- exoid);
- ex_err("ex_put_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (ent_start <= 0 || ent_start > num_mobj) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: start count is invalid in file id %d",
- exoid);
- ex_err("ex_put_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
- if (ent_count < 0) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: Invalid count value in file id %d",
- exoid);
- ex_err("ex_put_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
- if (ent_start+ent_count-1 > num_mobj) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: start+count-1 is larger than mesh object count in file id %d",
- exoid);
- ex_err("ex_put_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* write out information to previously defined variable */
-
- /* first get id of variable */
- if ((status = nc_inq_varid (exoid, vmapids, &varid)) == -1)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s ids in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* then, write out map id */
- if (!map_exists) {
- start[0] = cur_num_maps;
- {
- if ((status = nc_put_var1_longlong(exoid, varid, start, (long long*)&map_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s id %"PRId64" in file id %d",
- ex_name_of_object(map_type),map_id,exoid);
- ex_err("ex_put_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
-
- switch ( map_type ) {
- case EX_NODE_MAP:
- vmap = VAR_NODE_MAP(cur_num_maps+1);
- break;
- case EX_EDGE_MAP:
- vmap = VAR_EDGE_MAP(cur_num_maps+1);
- break;
- case EX_FACE_MAP:
- vmap = VAR_FACE_MAP(cur_num_maps+1);
- break;
- case EX_ELEM_MAP:
- vmap = VAR_ELEM_MAP(cur_num_maps+1);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized map type in switch: %d in file id %d",
- map_type,exoid);
- ex_err("ex_putt_partial_one_attr",errmsg,EX_MSG);
- return (EX_FATAL);
- }
-
- /* locate variable array in which to store the map */
- if ((status = nc_inq_varid(exoid,vmap, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s %"PRId64" in file id %d",
- ex_name_of_object(map_type),map_id,exoid);
- ex_err("ex_put_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out the map */
- start[0] = ent_start-1;
- count[0] = ent_count;
-
- if (count[0] == 0)
- start[0] = 0;
-
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, map);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, map);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s in file id %d",
- ex_name_of_object(map_type),exoid);
- ex_err("ex_put_partial_num_map",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_one_attr.c b/cbind/src/ex_put_partial_one_attr.c
deleted file mode 100644
index 344efe3..0000000
--- a/cbind/src/ex_put_partial_one_attr.c
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expoea - ex_put_partial_one_attr
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type (edge, face, elem block)
-* int obj_id object id (edge, face, elem block ID)
-* int attrib_index index of attribute to write
-* float* attrib array of attributes
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the specified attribute for a block
- * \param exoid exodus file id
- * \param obj_type object type (edge, face, elem block)
- * \param obj_id object id (edge, face, elem block ID)
- * \param start_num the starting index of the attributes to be written
- * \param num_ent the number of entities to write attributes for.
- * \param attrib_index index of attribute to write
- * \param attrib array of attributes
- */
-
-int ex_put_partial_one_attr( int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- int64_t start_num,
- int64_t num_ent,
- int attrib_index,
- const void *attrib )
-{
- int status;
- int attrid, obj_id_ndx, temp;
- size_t num_entries_this_obj, num_attr;
- size_t start[2], count[2];
- ptrdiff_t stride[2];
- char errmsg[MAX_ERR_LENGTH];
- const char* dnumobjent;
- const char* dnumobjatt;
- const char* vattrbname;
-
- exerrval = 0; /* clear error code */
-
- /* Determine index of obj_id in id array */
- if (obj_type != EX_NODAL) {
- obj_id_ndx = ex_id_lkup(exoid,obj_type,obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no attributes allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_put_partial_one_attr",errmsg,EX_MSG);
- return (EX_WARN); /* no attributes for this element block */
- } else {
- sprintf(errmsg,
- "Error: no %s id %"PRId64" in id array in file id %d",
- ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_put_partial_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
-
- switch (obj_type) {
- case EX_SIDE_SET:
- dnumobjent = DIM_NUM_SIDE_SS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_SS(obj_id_ndx);
- vattrbname = VAR_SSATTRIB(obj_id_ndx);
- break;
- case EX_NODE_SET:
- dnumobjent = DIM_NUM_NOD_NS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_NS(obj_id_ndx);
- vattrbname = VAR_NSATTRIB(obj_id_ndx);
- break;
- case EX_EDGE_SET:
- dnumobjent = DIM_NUM_EDGE_ES(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ES(obj_id_ndx);
- vattrbname = VAR_ESATTRIB(obj_id_ndx);
- break;
- case EX_FACE_SET:
- dnumobjent = DIM_NUM_FACE_FS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FS(obj_id_ndx);
- vattrbname = VAR_FSATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_SET:
- dnumobjent = DIM_NUM_ELE_ELS(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_ELS(obj_id_ndx);
- vattrbname = VAR_ELSATTRIB(obj_id_ndx);
- break;
- case EX_NODAL:
- dnumobjent = DIM_NUM_NODES;
- dnumobjatt = DIM_NUM_ATT_IN_NBLK;
- vattrbname = VAR_NATTRIB;
- break;
- case EX_EDGE_BLOCK:
- dnumobjent = DIM_NUM_ED_IN_EBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_EBLK(obj_id_ndx);
- vattrbname = VAR_EATTRIB(obj_id_ndx);
- break;
- case EX_FACE_BLOCK:
- dnumobjent = DIM_NUM_FA_IN_FBLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_FBLK(obj_id_ndx);
- vattrbname = VAR_FATTRIB(obj_id_ndx);
- break;
- case EX_ELEM_BLOCK:
- dnumobjent = DIM_NUM_EL_IN_BLK(obj_id_ndx);
- dnumobjatt = DIM_NUM_ATT_IN_BLK(obj_id_ndx);
- vattrbname = VAR_ATTRIB(obj_id_ndx);
- break;
- default:
- exerrval = 1005;
- sprintf(errmsg,
- "Internal Error: unrecognized object type in switch: %d in file id %d",
- obj_type,exoid);
- ex_err("ex_putt_partial_one_attr",errmsg,EX_MSG);
- return (EX_FATAL);
- }
-
- /* inquire id's of previously defined dimensions */
- if (ex_get_dimension(exoid, dnumobjent,"entries", &num_entries_this_obj, &temp, "ex_put_partial_one_attr") != NC_NOERR)
- return EX_FATAL;
-
- if (start_num + num_ent -1 > num_entries_this_obj) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: start index (%"PRId64") + count (%"PRId64") is larger than total number of entities (%"ST_ZU") in file id %d",
- start_num, num_ent, num_entries_this_obj, exoid);
- ex_err("ex_put_partial_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_get_dimension(exoid, dnumobjatt,"attributes", &num_attr, &temp, "ex_put_partial_one_attr") != NC_NOERR)
- return EX_FATAL;
-
- if (attrib_index < 1 || attrib_index > (int)num_attr) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: Invalid attribute index specified: %d. Valid range is 1 to %"ST_ZU" for %s %"PRId64" in file id %d",
- attrib_index, num_attr, ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_put_partial_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, vattrbname, &attrid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate attribute variable for %s %"PRId64" in file id %d",
- ex_name_of_object(obj_type),obj_id,exoid);
- ex_err("ex_put_partial_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out the attributes */
-
- start[0] = start_num-1;
- start[1] = attrib_index-1;
-
- count[0] = num_ent;
- count[1] = 1;
-
- stride[0] = 1;
- stride[1] = num_attr;
-
- if (count[0] == 0)
- start[0] = 0;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vars_float(exoid, attrid, start, count, stride, attrib);
- } else {
- status = nc_put_vars_double(exoid, attrid, start, count, stride, attrib);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put attribute %d for %s %"PRId64" in file id %d",
- attrib_index, ex_name_of_object(obj_type), obj_id, exoid);
- ex_err("ex_put_partial_one_attr",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_set.c b/cbind/src/ex_put_partial_set.c
deleted file mode 100644
index 9b090c7..0000000
--- a/cbind/src/ex_put_partial_set.c
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expss - ex_put_set
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int set_type set type
-* int set_id set id
-* int* set_entry_list array of entries in set
-* int* set_extra_list array of extras in set
-
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*!
- * writes the set entry list and set extra list for a single set
- * \param exoid exodus file id
- * \param set_type set type
- * \param set_id set id
- * \param *set_entry_list array of entries in set. Set to NULL to not write.
- * \param *set_extra_list array of extras in set. Set to NULL to not write.
- */
-
-int ex_put_partial_set (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- int64_t offset,
- int64_t num_to_put,
- const void_int *set_entry_list,
- const void_int *set_extra_list)
-{
- int dimid, status;
- int entry_list_id, extra_list_id, set_id_ndx;
- size_t start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
- char* entryptr = NULL;
- char* extraptr = NULL;
-
- exerrval = 0; /* clear error code */
-
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(set_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no %ss defined in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Lookup index of set id in VAR_*S_IDS array */
- set_id_ndx = ex_id_lkup(exoid, set_type,set_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no data allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(set_type),set_id,exoid);
- ex_err("ex_put_set",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in VAR_*S_IDS array in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* setup more pointers based on set_type */
- if (set_type == EX_NODE_SET) {
- entryptr = VAR_NODE_NS(set_id_ndx);
- extraptr = NULL;
- }
- else if (set_type == EX_EDGE_SET) {
- entryptr = VAR_EDGE_ES(set_id_ndx);
- extraptr = VAR_ORNT_ES(set_id_ndx);
- }
- else if (set_type == EX_FACE_SET) {
- entryptr = VAR_FACE_FS(set_id_ndx);
- extraptr = VAR_ORNT_FS(set_id_ndx);
- }
- else if (set_type == EX_SIDE_SET) {
- entryptr = VAR_ELEM_SS(set_id_ndx);
- extraptr = VAR_SIDE_SS(set_id_ndx);
- }
- else if (set_type == EX_ELEM_SET) {
- entryptr = VAR_ELEM_ELS(set_id_ndx);
- extraptr = NULL;
- }
-
- /* inquire id's of previously defined variables */
- if ((status = nc_inq_varid(exoid, entryptr, &entry_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate entry list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* only do for edge, face and side sets */
- if (extraptr) {
- if ((status = nc_inq_varid(exoid, extraptr, &extra_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate extra list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* write out the entry list and extra list arrays */
- if (set_entry_list != NULL || ex_is_parallel(exoid)) {
- start[0] = offset-1;
- count[0] = num_to_put;
- if (count[0] == 0)
- start[0] = 0;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, entry_list_id, start, count, set_entry_list);
- } else {
- status = nc_put_vara_int(exoid, entry_list_id, start, count, set_entry_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store entry list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
-
- /* only do for edge, face and side sets */
- if (extraptr && set_extra_list != NULL ) {
-
- start[0] = offset-1;
- count[0] = num_to_put;
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, extra_list_id, start, count, set_extra_list);
- } else {
- status = nc_put_vara_int(exoid, extra_list_id, start, count, set_extra_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store extra list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* warn if extra data was sent in for node sets and elem sets */
- if ((set_type == EX_NODE_SET || set_type == EX_ELEM_SET) &&
- set_extra_list != NULL) {
- sprintf(errmsg,
- "Warning: extra list was ignored for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id, exoid);
- ex_err("ex_put_set",errmsg,EX_MSG);
- return(EX_WARN);
- }
-
- return (EX_NOERR);
-
-}
diff --git a/cbind/src/ex_put_partial_set_dist_fact.c b/cbind/src/ex_put_partial_set_dist_fact.c
deleted file mode 100644
index 1b521ad..0000000
--- a/cbind/src/ex_put_partial_set_dist_fact.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expssd - ex_put_partial_set_dist_fact
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int set_type set type
-* int set_id set id
-* int offset index (1-based) of first dist factor to write
-* int num_to_put number of dist factors to write.
-* void* set_dist_fact array of dist factors for set
-
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the partial distribution factors for a single set
- * \param exoid exodus file id
- * \param set_type set type
- * \param set_id set id
- * \param offset index (1-based) of first dist factor to write
- * \param num_to_put number of dist factors to write.
- * \param *set_dist_fact array of dist factors for set
- */
-
-int ex_put_partial_set_dist_fact (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- int64_t offset,
- int64_t num_to_put,
- const void *set_dist_fact)
-{
- int status;
- int dimid, set_id_ndx;
- int dist_id;
- size_t start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
- char* factptr = NULL;
-
- exerrval = 0; /* clear error code */
-
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(set_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no %ss specified in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Lookup index of set id in VAR_*S_IDS array */
- set_id_ndx = ex_id_lkup(exoid,set_type,set_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no data allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set_fact",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in VAR_*S_IDS array in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* setup more pointers based on set_type */
- if (set_type == EX_NODE_SET) {
- /* note we are using DIM_NUM_NODE_NS instead of DIM_NUM_DF_NS */
- factptr = VAR_FACT_NS(set_id_ndx);
- }
- else if (set_type == EX_EDGE_SET) {
- factptr = VAR_FACT_ES(set_id_ndx);
- }
- else if (set_type == EX_FACE_SET) {
- factptr = VAR_FACT_FS(set_id_ndx);
- }
- else if (set_type == EX_SIDE_SET) {
- factptr = VAR_FACT_SS(set_id_ndx);
- }
- if (set_type == EX_ELEM_SET) {
- factptr = VAR_FACT_ELS(set_id_ndx);
- }
-
- /* find id of distribution factors variable
- */
-
- if ((status = nc_inq_varid(exoid, factptr, &dist_id)) != NC_NOERR) {
- /* this test is only needed for node set because we're using
- DIM_NUM_NOD_NS instead of DIM_NUM_DF_NS*/
- if (status == NC_ENOTVAR) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: no dist factors defined for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id, exoid);
- ex_err("ex_put_set_dist_fact",errmsg,exerrval);
- return (EX_WARN);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate dist factors list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- start[0] = offset-1;
- count[0] = num_to_put;
- if (num_to_put == 0)
- start[0] = 0;
-
- /* write out the distribution factors array */
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, dist_id, start, count, set_dist_fact);
- } else {
- status = nc_put_vara_double(exoid, dist_id, start, count, set_dist_fact);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store dist factors for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_partial_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_side_set.c b/cbind/src/ex_put_partial_side_set.c
deleted file mode 100644
index 46f4e68..0000000
--- a/cbind/src/ex_put_partial_side_set.c
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_partial_side_set()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * side_set_id - ID of side set to read.
- * start_side_num - The starting index of the sides to be read.
- * num_sides - The number of sides to read in.
- * side_set_elem_list - List of element IDs in side set.
- * side_set_side_list - List of side IDs in side set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * writes the side set element list and side set side list for a single side set
- */
-
-int ex_put_partial_side_set (int exoid,
- ex_entity_id side_set_id,
- int64_t start_side_num,
- int64_t num_sides,
- const void_int *side_set_elem_list,
- const void_int *side_set_side_list)
-{
- int status;
- int dimid;
- int elem_list_id, side_list_id, side_set_id_ndx;
- size_t num_side_in_set, start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any side sets are specified */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_SS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no side sets defined in file id %d",
- exoid);
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Lookup index of side set id in VAR_SS_IDS array */
-
- if ((side_set_id_ndx = ex_id_lkup(exoid, EX_SIDE_SET, side_set_id)) < 0)
- {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no data allowed for NULL side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate side set id %"PRId64" in VAR_SS_IDS array in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimensions */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_SIDE_SS(side_set_id_ndx), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of sides in side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_side_in_set)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of sides in side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of side numbers */
- if (start_side_num < 0 || (num_sides > 0 && start_side_num > num_side_in_set)) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid input");
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (num_sides < 0) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid number of elements in side set!");
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* start_side_num now starts at 1, not 0 */
- if ((start_side_num + num_sides) > num_side_in_set+1) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: request larger than number of elements in set!");
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* inquire id's of previously defined variables */
- if ((status = nc_inq_varid (exoid, VAR_ELEM_SS(side_set_id_ndx), &elem_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate element list for side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid (exoid, VAR_SIDE_SS(side_set_id_ndx), &side_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate side list for side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* write out the element list and side list arrays */
- start[0] = --start_side_num;
- count[0] = num_sides;
- if (num_sides == 0)
- start[0] = 0;
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, elem_list_id, start, count, side_set_elem_list);
- } else {
- status = nc_put_vara_int(exoid, elem_list_id, start, count, side_set_elem_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store element list for side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_vara_longlong(exoid, side_list_id, start, count, side_set_side_list);
- } else {
- status = nc_put_vara_int(exoid, side_list_id, start, count, side_set_side_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store side list for side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_side_set_df.c b/cbind/src/ex_put_partial_side_set_df.c
deleted file mode 100644
index 0c35db2..0000000
--- a/cbind/src/ex_put_partial_side_set_df.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- *
- * ex_put_partial_side_set_df()
- *
- *****************************************************************************
- *
- * Variable Index:
- *
- * exoid - The NetCDF ID of an already open NemesisI file.
- * side_set_id - ID of side set to written.
- * start_num - The starting index of the df's to be written.
- * num_df_to_get - The number of sides to write.
- * side_set_dist_fact - List of distribution factors for the side set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*
- * writes the distribution factors for a single side set
- */
-
-int ex_put_partial_side_set_df (int exoid,
- ex_entity_id side_set_id,
- int64_t start_num,
- int64_t num_df_to_get,
- void *side_set_dist_fact)
-{
- int status;
- int dimid, side_set_id_ndx;
- int dist_id;
- size_t num_df_in_set, start[1], count[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* first check if any side sets are specified */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_SS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no side sets specified in file id %d",
- exoid);
- ex_err("ex_put_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Lookup index of side set id in VAR_SS_IDS array */
-
- if ((side_set_id_ndx = ex_id_lkup(exoid, EX_SIDE_SET, side_set_id)) < 0)
- {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no data allowed for NULL side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_side_set_fact",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate side set id %"PRId64" in VAR_SS_IDS array in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* inquire id's of previously defined dimension and variable */
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_DF_SS(side_set_id_ndx), &dimid)) != NC_NOERR) {
- if (status == NC_EBADDIM) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: no dist factors defined for side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set_df",errmsg,exerrval);
- return (EX_WARN);
-
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of dist factors in side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, &num_df_in_set)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get number of dist factors in side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Check input parameters for a valid range of numbers */
- if (start_num < 0 || (num_df_to_get > 0 && start_num > num_df_in_set)) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid input");
- ex_err("ex_put_partial_side_set_df", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (num_df_to_get < 0) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: Invalid number of df's to put!");
- ex_err("ex_put_partial_side_set_df", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* start_num now starts at 1, not 0 */
- if ((start_num + num_df_to_get) > num_df_in_set+1) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: request larger than number of df's in set!");
- ex_err("ex_put_partial_side_set_df", errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_varid (exoid, VAR_FACT_SS(side_set_id_ndx), &dist_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate dist factors list for side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* write out the distribution factors array */
- start[0] = --start_num;
- count[0] = num_df_to_get;
- if (num_df_to_get == 0)
- start[0] = 0;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, dist_id, start, count, side_set_dist_fact);
- } else {
- status = nc_put_vara_double(exoid, dist_id, start, count, side_set_dist_fact);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store dist factors for side set %"PRId64" in file id %d",
- side_set_id, exoid);
- ex_err("ex_put_partial_side_set_df",errmsg,exerrval);
- return (EX_FATAL);
- }
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_partial_var.c b/cbind/src/ex_put_partial_var.c
deleted file mode 100644
index eec641a..0000000
--- a/cbind/src/ex_put_partial_var.c
+++ /dev/null
@@ -1,310 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the values of a single variable for a partial block at one time
- * step to the database; assume the first time step and variable index
- * are 1
- * \param exoid exodus file id
- * \param time_step time step number
- * \param var_type type (edge block, face block, edge set, ... )
- * \param var_index element variable index
- * \param obj_id element block id
- * \param start_index index of first entity in block to write (1-based)
- * \param num_entities number of entries in this block/set
- * \param var_vals the values to be written
- */
-
-int ex_put_partial_var (int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t start_index,
- int64_t num_entities,
- const void *var_vals)
-{
- int varid, dimid,time_dim, numobjdim, dims[2], obj_id_ndx;
- size_t num_obj;
- size_t num_obj_var;
- size_t num_entity;
- size_t start[2], count[2];
- int *obj_var_truth_tab;
- int status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
-#define EX_LOOK_UP_VAR(VOBJID,VVAR,VOBJTAB,DNUMOBJ,DNUMOBJVAR) \
- /* Determine index of obj_id in VOBJID array */ \
- obj_id_ndx = ex_id_lkup(exoid,var_type,obj_id); \
- if (exerrval != 0) \
- { \
- if (exerrval == EX_NULLENTITY) \
- { \
- sprintf(errmsg, \
- "Warning: no variables allowed for NULL block %"PRId64" in file id %d", \
- obj_id,exoid); \
- ex_err("ex_put_partial_var",errmsg,EX_MSG); \
- return (EX_WARN); \
- } \
- else \
- { \
- sprintf(errmsg, \
- "Error: failed to locate %s id %"PRId64" in %s array in file id %d", \
- ex_name_of_object(var_type), obj_id, VOBJID, exoid); \
- ex_err("ex_put_partial_var",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- } \
- \
- if ((status = nc_inq_varid (exoid, VVAR(var_index,obj_id_ndx), &varid)) != NC_NOERR) \
- { \
- if (status == NC_ENOTVAR) /* variable doesn't exist, create it! */ \
- { \
- /* check for the existance of an TNAME variable truth table */ \
- if (nc_inq_varid(exoid, VOBJTAB, &varid) == NC_NOERR) { \
- /* find out number of TNAMEs and TNAME variables */ \
- status = ex_get_dimension(exoid, DNUMOBJ, ex_name_of_object(var_type), &num_obj, &dimid, "ex_put_partial_var"); \
- if (status != NC_NOERR) return status; \
- \
- status = ex_get_dimension(exoid, DNUMOBJVAR, ex_name_of_object(var_type), &num_obj_var, &dimid, "ex_put_partial_var"); \
- if (status != NC_NOERR) return status; \
- \
- if (!(obj_var_truth_tab = malloc(num_obj*num_obj_var*sizeof(int)))) \
- { \
- exerrval = EX_MEMFAIL; \
- sprintf(errmsg, \
- "Error: failed to allocate memory for %s variable truth table in file id %d", \
- ex_name_of_object(var_type), exoid); \
- ex_err("ex_put_partial_var",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- \
- /* read in the TNAME variable truth table */ \
- if ((status = nc_get_var_int (exoid, varid, obj_var_truth_tab)) != NC_NOERR) \
- { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to get truth table from file id %d", exoid); \
- ex_err("ex_put_partial_var",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- \
- if(obj_var_truth_tab[num_obj_var*(obj_id_ndx-1)+var_index-1] \
- == 0L) \
- { \
- free(obj_var_truth_tab); \
- exerrval = EX_BADPARAM; \
- sprintf(errmsg, \
- "Error: Invalid %s variable %d, %s %"PRId64" in file id %d", \
- ex_name_of_object(var_type), var_index, ex_name_of_object(var_type), obj_id, exoid); \
- ex_err("ex_put_partial_var",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- free(obj_var_truth_tab); \
- } \
- \
- if ((status = nc_inq_dimid(exoid, DIM_TIME, &time_dim)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to locate time dimension in file id %d", exoid); \
- ex_err("ex_put_partial_var",errmsg,exerrval); \
- goto error_ret; /* exit define mode and return */ \
- } \
- \
- ex_get_dimension(exoid, ex_dim_num_entries_in_object(var_type, obj_id_ndx), \
- ex_name_of_object(var_type), &num_entity, &numobjdim, "ex_put_partial_var"); \
- \
- /* variable doesn't exist so put file into define mode */ \
- if ((status = nc_redef (exoid)) != NC_NOERR) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to put file id %d into define mode", exoid); \
- ex_err("ex_put_partial_var",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- \
- /* define netCDF variable to store TNAME variable values */ \
- dims[0] = time_dim; \
- dims[1] = numobjdim; \
- if ((status = nc_def_var(exoid, VVAR(var_index,obj_id_ndx), \
- nc_flt_code(exoid), 2, dims, &varid)) != NC_NOERR) \
- { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to define %s variable %d in file id %d", \
- ex_name_of_object(var_type), var_index,exoid); \
- ex_err("ex_put_partial_var",errmsg,exerrval); \
- goto error_ret; \
- } \
- ex_compress_variable(exoid, varid, 2); \
- \
- /* leave define mode */ \
- \
- if ((status = nc_enddef (exoid)) != NC_NOERR) \
- { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to complete %s variable %s definition to file id %d", \
- ex_name_of_object(var_type), VVAR(var_index,obj_id_ndx), exoid); \
- ex_err("ex_put_partial_var",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- } \
- else \
- { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to locate %s variable %s in file id %d", \
- ex_name_of_object(var_type), VVAR(var_index,obj_id_ndx),exoid); \
- ex_err("ex_put_partial_var",errmsg,exerrval); \
- return (EX_FATAL); \
- } \
- }
-
- switch (var_type) {
- case EX_GLOBAL:
- if ( num_entities <= 0 ) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Warning: no global variables specified for file id %d",
- exoid);
- ex_err("ex_put_glob_vars",errmsg,exerrval);
-
- return (EX_WARN);
- }
- /* inquire previously defined variable */
-
- if ((status = nc_inq_varid (exoid, VAR_GLO_VAR, &varid)) != NC_NOERR) {
- if (status == NC_ENOTVAR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no global variables defined in file id %d",
- exoid);
- ex_err("ex_put_glob_vars",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get global variables parameters in file id %d",
- exoid);
- ex_err("ex_put_glob_vars",errmsg,exerrval);
- }
- return (EX_FATAL);
- }
- break;
- case EX_NODAL:
- return ex_put_partial_nodal_var(exoid, time_step, var_index, start_index, num_entities, var_vals);
- break;
- case EX_EDGE_BLOCK:
- EX_LOOK_UP_VAR(VAR_ID_ED_BLK,VAR_EDGE_VAR,VAR_EBLK_TAB,DIM_NUM_ED_BLK,DIM_NUM_EDG_VAR);
- break;
- case EX_FACE_BLOCK:
- EX_LOOK_UP_VAR(VAR_ID_FA_BLK,VAR_FACE_VAR,VAR_FBLK_TAB,DIM_NUM_FA_BLK,DIM_NUM_FAC_VAR);
- break;
- case EX_ELEM_BLOCK:
- EX_LOOK_UP_VAR(VAR_ID_EL_BLK,VAR_ELEM_VAR,VAR_ELEM_TAB,DIM_NUM_EL_BLK,DIM_NUM_ELE_VAR);
- break;
- case EX_NODE_SET:
- EX_LOOK_UP_VAR(VAR_NS_IDS,VAR_NS_VAR,VAR_NSET_TAB,DIM_NUM_NS,DIM_NUM_NSET_VAR);
- break;
- case EX_EDGE_SET:
- EX_LOOK_UP_VAR(VAR_ES_IDS,VAR_ES_VAR,VAR_ESET_TAB,DIM_NUM_ES,DIM_NUM_ESET_VAR);
- break;
- case EX_FACE_SET:
- EX_LOOK_UP_VAR(VAR_FS_IDS,VAR_FS_VAR,VAR_FSET_TAB,DIM_NUM_FS,DIM_NUM_FSET_VAR);
- break;
- case EX_SIDE_SET:
- EX_LOOK_UP_VAR(VAR_SS_IDS,VAR_SS_VAR,VAR_SSET_TAB,DIM_NUM_SS,DIM_NUM_SSET_VAR);
- break;
- case EX_ELEM_SET:
- EX_LOOK_UP_VAR(VAR_ELS_IDS,VAR_ELS_VAR,VAR_ELSET_TAB,DIM_NUM_ELS,DIM_NUM_ELSET_VAR);
- break;
- default:
- exerrval = EX_MSG;
- sprintf( errmsg, "Error: invalid variable type (%d) specified for file id %d",
- var_type, exoid );
- ex_err( "ex_put_partial_var", errmsg, exerrval );
- return (EX_FATAL);
- }
- /* store element variable values */
-
- start[0] = --time_step;
- start[1] = start_index-1;
- if ( var_type == EX_GLOBAL ) {
- /* global variables may be written
- * - all at once (by setting var_index to 1 and num_entries_this_obj to num_glob, or
- * - one at a time (by setting var_index to the desired index and num_entries_this_obj to 1.
- */
- count[0] = var_index;
- } else {
- count[0] = 1;
- }
- count[1] = num_entities;
- if (count[1] == 0)
- start[1] = 0;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, varid, start, count, var_vals);
- } else {
- status = nc_put_vara_double(exoid, varid, start, count, var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s %"PRId64" variable %d in file id %d",
- ex_name_of_object(var_type), obj_id, var_index,exoid);
- ex_err("ex_put_partial_var",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_partial_var",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_processor_elem_maps.c b/cbind/src/ex_put_processor_elem_maps.c
deleted file mode 100644
index 11cf63c..0000000
--- a/cbind/src/ex_put_processor_elem_maps.c
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_elem_map()
- *****************************************************************************
- * This function outputs the elemental map.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * elem_mapi - Vector of internal element IDs.
- * elem_mapb - Vector of border element IDs.
- * processor - The processor ID for which info is to be read.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_processor_elem_maps(int exoid,
- void_int *elem_mapi,
- void_int *elem_mapb,
- int processor
- )
-{
- const char *func_name="ex_put_processor_elem_maps";
-
- char ftype[2];
- int status, dimid, varid;
- size_t start[1], count[1];
- int64_t varidx[2];
- int nmstat;
-
- char errmsg[MAX_ERR_LENGTH];
- /*-----------------------------Execution begins-----------------------------*/
-
- /* Get the file type */
- if (ex_get_file_type(exoid, ftype) != EX_NOERR) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: unable to find file type for file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the status of the internal element map */
- if ((status = nc_inq_varid(exoid, VAR_INT_E_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (ftype[0] == 's')
- start[0] = processor;
- else
- start[0] = 0;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get variable \"%s\" from file ID %d",
- VAR_INT_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- /* get the index */
- if (ex_get_idx(exoid, VAR_ELEM_MAP_INT_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_ELEM_MAP_INT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (varidx[1] == -1) {
- /* Get the size of the internal element map */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_INT_ELEMS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_INT_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_INT_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- varidx[1] = count[0];
- }
-
- if ((status = nc_inq_varid(exoid, VAR_ELEM_MAP_INT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_ELEM_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the map */
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, elem_mapi);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, elem_mapi);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_ELEM_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- } /* End "if (nmstat == 1)" */
-
- /* Get the status of the border element map */
- if ((status = nc_inq_varid(exoid, VAR_BOR_E_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_BOR_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (ftype[0] == 's')
- start[0] = processor;
- else
- start[0] = 0;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file %d",
- VAR_BOR_E_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- /* get the index */
- if (ex_get_idx(exoid, VAR_ELEM_MAP_BOR_IDX, varidx, processor) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_ELEM_MAP_BOR_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- if (varidx[1] == -1) {
- /* Get the size of the border element map */
- if ((status = nc_inq_dimid(exoid, DIM_NUM_BOR_ELEMS, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_BOR_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_BOR_ELEMS, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- varidx[1] = count[0];
- }
-
- if ((status = nc_inq_varid(exoid, VAR_ELEM_MAP_BOR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_ELEM_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Output the map */
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, elem_mapb);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, elem_mapb);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_ELEM_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "if (nmstat == 1)" */
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_processor_node_maps.c b/cbind/src/ex_put_processor_node_maps.c
deleted file mode 100644
index e9316a4..0000000
--- a/cbind/src/ex_put_processor_node_maps.c
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************
- * This function outputs the nodal map.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * node_mapi - Pointer to vector containing the internal FEM
- * nodal IDs.
- * node_mapb - Pointer to vector containing the border FEM
- * nodal IDs.
- * node_mape - Pointer to vector containing the external FEM
- * nodal IDs.
- * proc_id - The processor the file is being written for.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_processor_node_maps(int exoid,
- void_int *node_mapi,
- void_int *node_mapb,
- void_int *node_mape,
- int proc_id
- )
-{
- const char *func_name="ex_put_processor_node_maps";
-
- int status, varid, dimid;
- char ftype[2];
- size_t start[1], count[1];
- int64_t varidx[2];
- int nmstat;
-
- char errmsg[MAX_ERR_LENGTH];
- /*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Get the file type */
- if (ex_get_file_type(exoid, ftype) != EX_NOERR) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Error: unable to find file type for file ID %d",
- exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the status of this node map */
- if ((status = nc_inq_varid(exoid, VAR_INT_N_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 'p')
- start[0] = 0;
- else
- start[0] = proc_id;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file %d",
- VAR_INT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- /* Write out the internal node-number map */
- if (nmstat == 1) {
- /* get the index */
- if (ex_get_idx(exoid, VAR_NODE_MAP_INT_IDX, varidx, proc_id) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_NODE_MAP_INT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension */
- if (varidx[1] == -1) {
- if ((status = nc_inq_dimid(exoid, DIM_NUM_INT_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_INT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_INT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- varidx[1] = count[0];
- }
-
- if ((status = nc_inq_varid(exoid, VAR_NODE_MAP_INT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NODE_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, node_mapi);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, node_mapi);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_NODE_MAP_INT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "if (nmstat == 1)" */
-
- /* Get the status of this node map */
- if ((status = nc_inq_varid(exoid, VAR_BOR_N_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 'p')
- start[0] = 0;
- else
- start[0] = proc_id;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file %d",
- VAR_BOR_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- /* Write out the border node-number map */
- /* get the index */
- if (ex_get_idx(exoid, VAR_NODE_MAP_BOR_IDX, varidx, proc_id) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_NODE_MAP_BOR_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension */
- if (varidx[1] == -1) {
- if ((status = nc_inq_dimid(exoid, DIM_NUM_BOR_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_BOR_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_BOR_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- varidx[1] = count[0];
- }
-
- if ((status = nc_inq_varid(exoid, VAR_NODE_MAP_BOR, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NODE_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the map */
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, node_mapb);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, node_mapb);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_NODE_MAP_BOR, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "if (nmstat == 1)" */
-
- /* Get the status of this node map */
- if ((status = nc_inq_varid(exoid, VAR_EXT_N_STAT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" from file ID %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (ftype[0] == 'p')
- start[0] = 0;
- else
- start[0] = proc_id;
-
- if ((status = nc_get_var1_int(exoid, varid, start, &nmstat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get status for \"%s\" from file %d",
- VAR_EXT_N_STAT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if (nmstat == 1) {
- /* Write out the external node-number map */
- if (ex_get_idx(exoid, VAR_NODE_MAP_EXT_IDX, varidx, proc_id) == -1) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find index variable, \"%s\", in file ID %d",
- VAR_NODE_MAP_EXT_IDX, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* check if I need to get the dimension */
- if (varidx[1] == -1) {
- if ((status = nc_inq_dimid(exoid, DIM_NUM_EXT_NODES, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find dimension ID for \"%s\" in file ID %d",
- DIM_NUM_EXT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimlen(exoid, dimid, count)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find length of dimension \"%s\" in file ID %d",
- DIM_NUM_EXT_NODES, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- varidx[1] = count[0];
- }
-
- if ((status = nc_inq_varid(exoid, VAR_NODE_MAP_EXT, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_NODE_MAP_EXT, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the map */
- start[0] = varidx[0];
- count[0] = varidx[1] - varidx[0];
- if (ex_int64_status(exoid) & EX_MAPS_INT64_API) {
- status = nc_put_vara_longlong(exoid, varid, start, count, node_mape);
- } else {
- status = nc_put_vara_int(exoid, varid, start, count, node_mape);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_NODE_MAP_EXT, exoid);
- ex_err(func_name, errmsg, exerrval);
- return (EX_FATAL);
- }
- } /* End "if (nmstat == 1)" */
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_prop.c b/cbind/src/ex_put_prop.c
deleted file mode 100644
index b8b99ae..0000000
--- a/cbind/src/ex_put_prop.c
+++ /dev/null
@@ -1,412 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
-
-The function ex_put_prop() stores an integer object property value to
-a single element block, node set, or side set. Although it is not
-necessary to invoke ex_put_prop_names(), since ex_put_prop() will
-allocate space within the data file if it hasn't been previously
-allocated, it is more efficient to use ex_put_prop_names() if there is
-more than one property to store. \see Efficiency for a discussion of
-efficiency issues.
-
-It should be noted that the interpretation of the values of the
-integers stored as properties is left to the application code. In
-general, a zero (0) means the object does not have the specified
-property (or is not in the specified group); a nonzero value means the
-object does have the specified property. When space is allocated for
-the properties using ex_put_prop_names() or ex_put_prop(), the
-properties are initialized to zero (0).
-
-Because the ID of an element block, node set, or side set is just
-another property (named \b ID), this routine can be used to change
-the value of an ID. This feature must be used with caution, though,
-because changing the ID of an object to the ID of another object of
-the same type (element block, node set, or side set) would cause two
-objects to have the same ID, and thus only the first would be
-accessible. Therefore, ex_put_prop() issues a warning if a user
-attempts to give two objects the same ID.
-
-\return In case of an error, ex_put_prop() returns a negative number;
-a warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - invalid object type specified.
- - a warning is issued if a user attempts to change the ID of an
- object to the ID of an existing object of the same type.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Type of object; use one of the options in the table below.
-\param[in] obj_id The element block, node set, or side set ID.
-\param[in] prop_name The name of the property for which the value will be stored.
- Maximum length of this string is \p MAX_STR_LENGTH .
-\param[in] value The value of the property.
-
-<table>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-<tr><td> \c EX_ELEM_MAP </td><td> Element Map entity type </td></tr>
-<tr><td> \c EX_NODE_MAP </td><td> Node Map entity type </td></tr>
-<tr><td> \c EX_EDGE_MAP </td><td> Edge Map entity type </td></tr>
-<tr><td> \c EX_FACE_MAP </td><td> Face Map entity type </td></tr>
-</table>
-
-For an example of code to write out an object property, refer to the
-description for ex_put_prop_names().
-*/
-
-int ex_put_prop (int exoid,
- ex_entity_type obj_type,
- ex_entity_id obj_id,
- const char *prop_name,
- ex_entity_id value)
-{
- int status;
- int oldfill = 0;
- int temp;
- int found = FALSE;
- int num_props, i, dimid, propid, dims[1];
- int int_type;
- size_t start[1];
- size_t prop_name_len, name_length;
- char name[MAX_VAR_NAME_LENGTH+1];
- char tmpstr[MAX_STR_LENGTH+1];
- char dim_name[MAX_VAR_NAME_LENGTH+1];
- long long vals[1];
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* check if property has already been created */
-
- num_props = ex_get_num_props(exoid, obj_type);
-
- if (num_props > 1) { /* any properties other than the default 1? */
-
- for (i=1; i<=num_props; i++) {
- switch (obj_type) {
- case EX_ELEM_BLOCK:
- strcpy (name, VAR_EB_PROP(i));
- break;
- case EX_EDGE_BLOCK:
- strcpy (name, VAR_ED_PROP(i));
- break;
- case EX_FACE_BLOCK:
- strcpy (name, VAR_FA_PROP(i));
- break;
- case EX_NODE_SET:
- strcpy (name, VAR_NS_PROP(i));
- break;
- case EX_EDGE_SET:
- strcpy (name, VAR_ES_PROP(i));
- break;
- case EX_FACE_SET:
- strcpy (name, VAR_FS_PROP(i));
- break;
- case EX_ELEM_SET:
- strcpy (name, VAR_ELS_PROP(i));
- break;
- case EX_SIDE_SET:
- strcpy (name, VAR_SS_PROP(i));
- break;
- case EX_ELEM_MAP:
- strcpy (name, VAR_EM_PROP(i));
- break;
- case EX_FACE_MAP:
- strcpy (name, VAR_FAM_PROP(i));
- break;
- case EX_EDGE_MAP:
- strcpy (name, VAR_EDM_PROP(i));
- break;
- case EX_NODE_MAP:
- strcpy (name, VAR_NM_PROP(i));
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- obj_type, exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, name, &propid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get property array id in file id %d",
- exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* compare stored attribute name with passed property name */
- memset(tmpstr, 0, MAX_STR_LENGTH+1);
- if ((status = nc_get_att_text(exoid, propid, ATT_PROP_NAME, tmpstr)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get property name in file id %d", exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (strcmp(tmpstr, prop_name) == 0) {
- found = TRUE;
- break;
- }
- }
- }
-
- /* if property array has not been created, create it */
- if (!found) {
-
- name_length = ex_inquire_int(exoid, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH)+1;
-
- /* put netcdf file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to place file id %d into define mode",exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* create a variable with a name xx_prop#, where # is the new number */
- /* of the property */
-
- switch (obj_type){
- case EX_ELEM_BLOCK:
- strcpy (name, VAR_EB_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_EL_BLK);
- break;
- case EX_FACE_BLOCK:
- strcpy (name, VAR_FA_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_FA_BLK);
- break;
- case EX_EDGE_BLOCK:
- strcpy (name, VAR_ED_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_ED_BLK);
- break;
- case EX_NODE_SET:
- strcpy (name, VAR_NS_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_NS);
- break;
- case EX_EDGE_SET:
- strcpy (name, VAR_ES_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_ES);
- break;
- case EX_FACE_SET:
- strcpy (name, VAR_FS_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_FS);
- break;
- case EX_ELEM_SET:
- strcpy (name, VAR_ELS_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_ELS);
- break;
- case EX_SIDE_SET:
- strcpy (name, VAR_SS_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_SS);
- break;
- case EX_ELEM_MAP:
- strcpy (name, VAR_EM_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_EM);
- break;
- case EX_FACE_MAP:
- strcpy (name, VAR_FAM_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_FAM);
- break;
- case EX_EDGE_MAP:
- strcpy (name, VAR_EDM_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_EDM);
- break;
- case EX_NODE_MAP:
- strcpy (name, VAR_NM_PROP(num_props+1));
- strcpy (dim_name, DIM_NUM_NM);
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- obj_type, exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- /* inquire id of previously defined dimension (number of objects) */
- if ((status = nc_inq_dimid(exoid, dim_name, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of objects in file id %d",
- exoid);
- ex_err("ex_put_prop",errmsg, exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- dims[0] = dimid;
- nc_set_fill(exoid, NC_FILL, &oldfill); /* fill with zeros per routine spec */
-
- int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- int_type = NC_INT64;
- }
-
- if ((status = nc_def_var(exoid, name, int_type, 1, dims, &propid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create property array variable in file id %d",
- exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- vals[0] = 0; /* fill value */
- /* create attribute to cause variable to fill with zeros per routine spec */
- if ((status = nc_put_att_longlong(exoid, propid, _FillValue, int_type, 1, vals)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create property name fill attribute in file id %d",
- exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- /* Check that the property name length is less than MAX_NAME_LENGTH */
- prop_name_len = strlen(prop_name)+1;
- if (prop_name_len > name_length) {
- fprintf(stderr,
- "Warning: The property name '%s' is too long.\n\tIt will be truncated from %d to %d characters\n",
- prop_name, (int)prop_name_len-1, (int)name_length-1);
- prop_name_len = name_length;
- }
-
- /* store property name as attribute of property array variable */
- if ((status = nc_put_att_text(exoid, propid, ATT_PROP_NAME,
- prop_name_len, (void*)prop_name)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store property name %s in file id %d",
- prop_name,exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- ex_update_max_name_length(exoid, prop_name_len-1);
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to leave define mode in file id %d",
- exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- nc_set_fill(exoid, oldfill, &temp); /* default: nofill */
- }
-
- /* find index into property array using obj_id; put value in property */
- /* array at proper index; ex_id_lkup returns an index that is 1-based,*/
- /* but netcdf expects 0-based arrays so subtract 1 */
-
- /* special case: property name ID - check for duplicate ID assignment */
- if (strcmp("ID",prop_name) == 0) {
- start[0] = ex_id_lkup (exoid, obj_type, value);
- if (exerrval != EX_LOOKUPFAIL) /* found the id */
- {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: attempt to assign duplicate %s ID %"PRId64" in file id %d",
- ex_name_of_object(obj_type), value, exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- return (EX_WARN);
- }
- }
-
- start[0] = ex_id_lkup (exoid, obj_type, obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no properties allowed for NULL %s id %"PRId64" in file id %d",
- ex_name_of_object(obj_type), obj_id,exoid);
- ex_err("ex_put_prop",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to find value %"PRId64" in %s property array in file id %d",
- obj_id, ex_name_of_object(obj_type), exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- start[0] = start[0] - 1;
-
- /* value is of type 'ex_entity_id' which is a typedef to int64_t or long long */
- status = nc_put_var1_longlong(exoid, propid, start, (long long*)&value);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store property value in file id %d",
- exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- nc_set_fill(exoid, oldfill, &temp); /* default: nofill */
-
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_prop",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_prop_array.c b/cbind/src/ex_put_prop_array.c
deleted file mode 100644
index e785cb4..0000000
--- a/cbind/src/ex_put_prop_array.c
+++ /dev/null
@@ -1,324 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-#include <stdlib.h> /* for free() */
-
-/*!
-
-The function ex_put_prop_array() stores an array of ({num_elem_blk},
-\c num_node_sets, or \c num_side_sets) integer property values for all
-element blocks, node sets, or side sets. The order of the values in
-the array must correspond to the order in which the element blocks,
-node sets, or side sets were introduced into the file. For instance,
-if the parameters for element block with ID 20 were written to a file
-(via ex_put_elem_block()), and then parameters for element block with
-ID 10, followed by the parameters for element block with ID 30, the
-first, second, and third elements in the property array would
-correspond to element block 20, element block 10, and element block
-30, respectively.
-
-One should note that this same functionality (writing properties to
-multiple objects) can be accomplished with multiple calls to
-ex_put_prop().
-
-Although it is not necessary to invoke ex_put_prop_names(), since
-ex_put_prop_array() will allocate space within the data file if it
-hasn't been previously allocated, it is more efficient to use
-ex_put_prop_names() if there is more than one property to store. \see
-See Efficiency for a discussion of efficiency issues.
-
-\return In case of an error, ex_put_prop_array() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - invalid object type specified.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Type of object; use one of the options in the table below.
-\param[in] prop_name The name of the property for which the values will be stored. Maximum
- length of this string is \p MAX_STR_LENGTH .
-\param[in] values An array of property values.
-
-<table>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-<tr><td> \c EX_ELEM_MAP </td><td> Element Map entity type </td></tr>
-<tr><td> \c EX_NODE_MAP </td><td> Node Map entity type </td></tr>
-<tr><td> \c EX_EDGE_MAP </td><td> Edge Map entity type </td></tr>
-<tr><td> \c EX_FACE_MAP </td><td> Face Map entity type </td></tr>
-</table>
-
-For an example of code to write an array of object properties, refer
-to the description for ex_put_prop_names().
- */
-
-int ex_put_prop_array (int exoid,
- ex_entity_type obj_type,
- const char *prop_name,
- const void_int *values)
-{
- int oldfill = 0;
- int temp;
- int num_props, i, propid, dimid, dims[1], status;
- int found = FALSE;
- int int_type;
- size_t num_obj;
- char name[MAX_VAR_NAME_LENGTH+1];
- char tmpstr[MAX_STR_LENGTH+1];
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* check if property has already been created */
-
- num_props = ex_get_num_props(exoid, obj_type);
-
- /* inquire id of previously defined dimension (number of objects) */
- status = ex_get_dimension(exoid, ex_dim_num_objects(obj_type), ex_name_of_object(obj_type),
- &num_obj, &dimid, "ex_put_prop_array");
- if (status != NC_NOERR) return status;
-
- for (i=1; i<=num_props; i++) {
- switch (obj_type){
- case EX_ELEM_BLOCK:
- strcpy (name, VAR_EB_PROP(i));
- break;
- case EX_FACE_BLOCK:
- strcpy (name, VAR_FA_PROP(i));
- break;
- case EX_EDGE_BLOCK:
- strcpy (name, VAR_ED_PROP(i));
- break;
- case EX_NODE_SET:
- strcpy (name, VAR_NS_PROP(i));
- break;
- case EX_EDGE_SET:
- strcpy (name, VAR_ES_PROP(i));
- break;
- case EX_FACE_SET:
- strcpy (name, VAR_FS_PROP(i));
- break;
- case EX_ELEM_SET:
- strcpy (name, VAR_ELS_PROP(i));
- break;
- case EX_SIDE_SET:
- strcpy (name, VAR_SS_PROP(i));
- break;
- case EX_ELEM_MAP:
- strcpy (name, VAR_EM_PROP(i));
- break;
- case EX_FACE_MAP:
- strcpy (name, VAR_FAM_PROP(i));
- break;
- case EX_EDGE_MAP:
- strcpy (name, VAR_EDM_PROP(i));
- break;
- case EX_NODE_MAP:
- strcpy (name, VAR_NM_PROP(i));
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- obj_type, exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if ((status = nc_inq_varid(exoid, name, &propid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get property array id in file id %d",
- exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* compare stored attribute name with passed property name */
- memset(tmpstr, 0, MAX_STR_LENGTH+1);
- if ((status = nc_get_att_text(exoid, propid, ATT_PROP_NAME, tmpstr)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get property name in file id %d", exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (strcmp(tmpstr, prop_name) == 0) {
- found = TRUE;
- break;
- }
- }
-
- /* if property array has not been created, create it */
- if (!found) {
-
- /* put netcdf file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to place file id %d into define mode",exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* create a variable with a name xx_prop#, where # is the new number */
- /* of properties */
- switch (obj_type){
- case EX_ELEM_BLOCK:
- strcpy (name, VAR_EB_PROP(num_props+1));
- break;
- case EX_FACE_BLOCK:
- strcpy (name, VAR_FA_PROP(num_props+1));
- break;
- case EX_EDGE_BLOCK:
- strcpy (name, VAR_ED_PROP(num_props+1));
- break;
- case EX_NODE_SET:
- strcpy (name, VAR_NS_PROP(num_props+1));
- break;
- case EX_EDGE_SET:
- strcpy (name, VAR_ES_PROP(num_props+1));
- break;
- case EX_FACE_SET:
- strcpy (name, VAR_FS_PROP(num_props+1));
- break;
- case EX_ELEM_SET:
- strcpy (name, VAR_ELS_PROP(num_props+1));
- break;
- case EX_SIDE_SET:
- strcpy (name, VAR_SS_PROP(num_props+1));
- break;
- case EX_ELEM_MAP:
- strcpy (name, VAR_EM_PROP(num_props+1));
- break;
- case EX_FACE_MAP:
- strcpy (name, VAR_FAM_PROP(num_props+1));
- break;
- case EX_EDGE_MAP:
- strcpy (name, VAR_EDM_PROP(num_props+1));
- break;
- case EX_NODE_MAP:
- strcpy (name, VAR_NM_PROP(num_props+1));
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- obj_type, exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- dims[0] = dimid;
- nc_set_fill(exoid, NC_FILL, &oldfill); /* fill with zeros per routine spec */
-
- int_type = NC_INT;
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- int_type = NC_INT64;
- }
-
- if ((status = nc_def_var(exoid, name, int_type, 1, dims, &propid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create property array variable in file id %d",
- exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
- nc_set_fill(exoid, oldfill, &temp); /* default: nofill */
-
-
- /* store property name as attribute of property array variable */
- if ((status = nc_put_att_text(exoid, propid, ATT_PROP_NAME,
- strlen(prop_name)+1, prop_name)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store property name %s in file id %d",
- prop_name,exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- /* leave define mode */
-
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to leave define mode in file id %d",
- exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* put num_obj values in property array */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_var_longlong(exoid, propid, values);
- } else {
- status = nc_put_var_int(exoid, propid, values);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store property values in file id %d",
- exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- nc_set_fill(exoid, oldfill, &temp); /* default: nofill */
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_prop_array",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_prop_names.c b/cbind/src/ex_put_prop_names.c
deleted file mode 100644
index 85b508f..0000000
--- a/cbind/src/ex_put_prop_names.c
+++ /dev/null
@@ -1,288 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
-
-The function ex_put_prop_names() writes object property names and
-allocates space for object property arrays used to assign integer
-properties to element blocks, node sets, or side sets. The property
-arrays are initialized to zero (0). Although this function is
-optional, since ex_put_prop() will allocate space within the data file
-if it hasn't been previously allocated, it is more efficient to use
-ex_put_prop_names() if there is more than one property to store. \see
-Efficiency for a discussion of efficiency issues.
-
-\return In case of an error, ex_put_prop_names() returns a negative number; a
-warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - data file not initialized properly with call to ex_put_init().
- - invalid object type specified.
- - no object of the specified type is stored in the file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Type of object; use one of the options in the table below.
-\param[in] num_props The number of integer properties to be assigned to all of the objects
- of the type specified (element blocks, node sets, or side sets).
-\param[in] prop_names Array containing \c num_props names (of maximum length
- of \p MAX_STR_LENGTH ) of properties to be stored.
-
-<table>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-<tr><td> \c EX_ELEM_MAP </td><td> Element Map entity type </td></tr>
-<tr><td> \c EX_NODE_MAP </td><td> Node Map entity type </td></tr>
-<tr><td> \c EX_EDGE_MAP </td><td> Edge Map entity type </td></tr>
-<tr><td> \c EX_FACE_MAP </td><td> Face Map entity type </td></tr>
-</table>
-
-For instance, suppose a user wanted to assign the 1st, 3rd, and 5th
-element blocks (those element blocks stored 1st, 3rd, and 5th,
-regardless of their ID) to a group (property) called \b TOP, and the
-2nd, 3rd, and 4th element blocks to a group called \b LSIDE. This
-could be accomplished with the following code:
-
-\code
-#include "exodusII.h";
-
-char* prop_names[2];
-int top_part[] = {1,0,1,0,1};
-int lside_part[] = {0,1,1,1,0};
-
-int id[] = {10, 20, 30, 40, 50};
-
-prop_names[0] = "TOP";
-prop_names[1] = "LSIDE";
-
-\comment{This call to ex_put_prop_names is optional, but more efficient}
-ex_put_prop_names (exoid, EX_ELEM_BLOCK, 2, prop_names);
-
-\comment{The property values can be output individually thus}
-for (i=0; i < 5; i++) {
- ex_put_prop (exoid, EX_ELEM_BLOCK, id[i], prop_names[0],
- top_part[i]);
-
- ex_put_prop (exoid, EX_ELEM_BLOCK, id[i], prop_names[1],
- lside_part[i]);
-}
-
-\comment{Alternatively, the values can be output as an array}
-ex_put_prop_array (exoid, EX_ELEM_BLOCK, prop_names[0],
- top_part);
-
-ex_put_prop_array (exoid, EX_ELEM_BLOCK, prop_names[1],
- lside_part);
-
-\endcode
-
-*/
-
-int ex_put_prop_names (int exoid,
- ex_entity_type obj_type,
- int num_props,
- char **prop_names)
-{
- int status;
- int oldfill, temp;
- int i, propid, dimid, dims[1];
- size_t name_length, prop_name_len;
- char name[MAX_VAR_NAME_LENGTH+1];
- long long vals[1];
- int max_name_len = 0;
- int int_type = NC_INT;
-
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_DB) {
- int_type = NC_INT64;
- }
-
- /* Get the name string length */
- name_length = ex_inquire_int(exoid, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH)+1;
-
- /* inquire id of previously defined dimension (number of objects) */
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(obj_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate number of %s in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("ex_put_prop_names",errmsg, exerrval);
- return(EX_FATAL);
- }
-
- nc_set_fill(exoid, NC_FILL, &oldfill); /* fill with zeros per routine spec */
-
- /* put netcdf file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,"Error: failed to place file id %d into define mode",exoid);
- ex_err("ex_put_prop_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* define num_props variables; we postpend the netcdf variable name with */
- /* a counter starting at 2 because "xx_prop1" is reserved for the id array*/
- dims[0] = dimid;
-
- for (i=0; i<num_props; i++) {
- switch (obj_type) {
- case EX_ELEM_BLOCK:
- strcpy (name, VAR_EB_PROP(i+2));
- break;
- case EX_FACE_BLOCK:
- strcpy (name, VAR_FA_PROP(i+2));
- break;
- case EX_EDGE_BLOCK:
- strcpy (name, VAR_ED_PROP(i+2));
- break;
- case EX_NODE_SET:
- strcpy (name, VAR_NS_PROP(i+2));
- break;
- case EX_SIDE_SET:
- strcpy (name, VAR_SS_PROP(i+2));
- break;
- case EX_EDGE_SET:
- strcpy (name, VAR_ES_PROP(i+2));
- break;
- case EX_FACE_SET:
- strcpy (name, VAR_FS_PROP(i+2));
- break;
- case EX_ELEM_SET:
- strcpy (name, VAR_ELS_PROP(i+2));
- break;
- case EX_ELEM_MAP:
- strcpy (name, VAR_EM_PROP(i+2));
- break;
- case EX_FACE_MAP:
- strcpy (name, VAR_FAM_PROP(i+2));
- break;
- case EX_EDGE_MAP:
- strcpy (name, VAR_EDM_PROP(i+2));
- break;
- case EX_NODE_MAP:
- strcpy (name, VAR_NM_PROP(i+2));
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- obj_type, exoid);
- ex_err("ex_put_prop_names",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- if ((status = nc_def_var(exoid, name, int_type, 1, dims, &propid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create property array variable in file id %d",
- exoid);
- ex_err("ex_put_prop_names",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- vals[0] = 0; /* fill value */
-
- /* create attribute to cause variable to fill with zeros per routine spec */
- if ((status = nc_put_att_longlong(exoid, propid, _FillValue, int_type, 1, vals)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to create property name fill attribute in file id %d",
- exoid);
- ex_err("ex_put_prop_names",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
-
- /* Check that the property name length is less than MAX_NAME_LENGTH */
- prop_name_len = strlen(prop_names[i])+1;
- if (prop_name_len > name_length) {
- fprintf(stderr,
- "Warning: The property name '%s' is too long.\n\tIt will be truncated from %d to %d characters\n",
- prop_names[i], (int)prop_name_len-1, (int)name_length-1);
- prop_name_len = name_length;
- }
-
- if (prop_name_len > max_name_len)
- max_name_len = prop_name_len;
-
- /* store property name as attribute of property array variable */
- if ((status = nc_put_att_text(exoid, propid, ATT_PROP_NAME,
- prop_name_len, prop_names[i])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store property name %s in file id %d",
- prop_names[i],exoid);
- ex_err("ex_put_prop_names",errmsg,exerrval);
- goto error_ret; /* Exit define mode and return */
- }
- }
-
- /* leave define mode */
- if ((status = nc_enddef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to leave define mode in file id %d",
- exoid);
- ex_err("ex_put_prop_names",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Update the maximum_name_length attribute on the file. */
- ex_update_max_name_length(exoid, max_name_len-1);
-
- nc_set_fill(exoid, oldfill, &temp); /* default: turn off fill */
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_prop_names",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_qa.c b/cbind/src/ex_put_qa.c
deleted file mode 100644
index 4347b1a..0000000
--- a/cbind/src/ex_put_qa.c
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-
-/*!
-
-The function ex_put_qa() writes the QA records to the database. Each
-QA record contains four \c MAX_STR_LENGTH-byte character
-strings. The character strings are:
-
- - the analysis code name
- - the analysis code QA descriptor
- - the analysis date
- - the analysis time
-
-\return In case of an error, ex_put_qa() returns a negative number; a
- warning will return a positive number. Possible causes of errors
- include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - QA records already exist in file.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-
-\param[in] num_qa_records The number of QA records.
-\param[in] qa_record Array containing the QA records. To only
- define the number of qa records instead of
- defining and outputting, pass NULL for
- qa_record argument.
-
-The following code segment will write out two QA records:
-
-\code
-#include "exodusII.h"
-int num_qa_rec, error, exoid;
-char *qa_record[2][4];
-
-\comment{write QA records}
-num_qa_rec = 2;
-
-qa_record[0][0] = "TESTWT1";
-qa_record[0][1] = "testwt1";
-qa_record[0][2] = "07/07/93";
-qa_record[0][3] = "15:41:33";
-qa_record[1][0] = "FASTQ";
-qa_record[1][1] = "fastq";
-qa_record[1][2] = "07/07/93";
-qa_record[1][3] = "16:41:33";
-
-error = ex_put_qa (exoid, num_qa_rec, qa_record);
-\endcode
-
- */
-
-int ex_put_qa (int exoid,
- int num_qa_records,
- char* qa_record[][4])
-{
- int status;
- int i, j, strdim, num_qa_dim, varid, n4dim;
- int dims[3];
- size_t start[3], count[3];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* only do this if there are records */
-
- if (num_qa_records > 0) {
- /* See if the number of qa records has already been defined.
- Assume that if the DIM_NUM_QA dimension exists, then the
- VAR_QA_TITLE variable also exists...
- */
- status = nc_inq_dimid(exoid, DIM_NUM_QA, &num_qa_dim);
- if (status != NC_NOERR) {
-
- /* inquire previously defined dimensions */
- if ((status = nc_inq_dimid(exoid, DIM_STR, &strdim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate string length in file id %d", exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimid(exoid, DIM_N4, &n4dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate record length in file id %d", exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* put file into define mode */
- if ((status = nc_redef(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode", exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* define dimensions */
- if ((status = nc_def_dim(exoid,DIM_NUM_QA,num_qa_records, &num_qa_dim)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) { /* duplicate entry? */
- exerrval = status;
- sprintf(errmsg,
- "Error: qa records already exist in file id %d", exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define qa record array size in file id %d", exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- }
-
- goto error_ret; /* exit define mode and return */
- }
-
- /* define variable */
- dims[0] = num_qa_dim;
- dims[1] = n4dim;
- dims[2] = strdim;
-
- if ((status = nc_def_var(exoid, VAR_QA_TITLE, NC_CHAR, 3, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define qa record array in file id %d", exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition in file id %d", exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- if ((status = nc_inq_varid(exoid, VAR_QA_TITLE, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find qa records variable in file id %d", exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if (qa_record != NULL) {
- /* write out QA records */
-
- for (i=0; i<num_qa_records; i++) {
- for (j=0; j<4; j++) {
- start[0] = i;
- start[1] = j;
- start[2] = 0;
-
- count[0] = 1;
- count[1] = 1;
- count[2] = strlen(qa_record[i][j]) + 1;
-
- if ((status = nc_put_vara_text(exoid, varid, start, count, qa_record[i][j])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store qa record in file id %d", exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- }
- } else if (ex_is_parallel(exoid)) {
- /* In case we are in a collective mode, all processors need to call */
- const char dummy[] = " ";
- for (i=0; i<num_qa_records; i++) {
- for (j=0; j<4; j++) {
- start[0] = start[1] = start[2] = 0;
- count[0] = count[1] = count[2] = 0;
- nc_put_vara_text(exoid, varid, start, count, dummy);
- }
- }
- }
- }
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_qa",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_set.c b/cbind/src/ex_put_set.c
deleted file mode 100644
index f944e3c..0000000
--- a/cbind/src/ex_put_set.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expss - ex_put_set
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int set_type set type
-* int set_id set id
-* int* set_entry_list array of entries in set
-* int* set_extra_list array of extras in set
-
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*!
- * writes the set entry list and set extra list for a single set
- * \param exoid exodus file id
- * \param set_type set type
- * \param set_id set id
- * \param *set_entry_list array of entries in set. Set to NULL to not write.
- * \param *set_extra_list array of extras in set. Set to NULL to not write.
- */
-
-int ex_put_set (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- const void_int *set_entry_list,
- const void_int *set_extra_list)
-{
- int dimid, status;
- int entry_list_id, extra_list_id, set_id_ndx;
- char errmsg[MAX_ERR_LENGTH];
- char* entryptr = NULL;
- char* extraptr = NULL;
-
- exerrval = 0; /* clear error code */
-
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(set_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no %ss defined in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Lookup index of set id in VAR_*S_IDS array */
- set_id_ndx = ex_id_lkup(exoid, set_type,set_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no data allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(set_type),set_id,exoid);
- ex_err("ex_put_set",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in VAR_*S_IDS array in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* setup more pointers based on set_type */
- if (set_type == EX_NODE_SET) {
- entryptr = VAR_NODE_NS(set_id_ndx);
- extraptr = NULL;
- }
- else if (set_type == EX_EDGE_SET) {
- entryptr = VAR_EDGE_ES(set_id_ndx);
- extraptr = VAR_ORNT_ES(set_id_ndx);
- }
- else if (set_type == EX_FACE_SET) {
- entryptr = VAR_FACE_FS(set_id_ndx);
- extraptr = VAR_ORNT_FS(set_id_ndx);
- }
- else if (set_type == EX_SIDE_SET) {
- entryptr = VAR_ELEM_SS(set_id_ndx);
- extraptr = VAR_SIDE_SS(set_id_ndx);
- }
- else if (set_type == EX_ELEM_SET) {
- entryptr = VAR_ELEM_ELS(set_id_ndx);
- extraptr = NULL;
- }
-
- /* inquire id's of previously defined variables */
- if ((status = nc_inq_varid(exoid, entryptr, &entry_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate entry list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* only do for edge, face and side sets */
- if (extraptr) {
- if ((status = nc_inq_varid(exoid, extraptr, &extra_list_id)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate extra list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* write out the entry list and extra list arrays */
- if (set_entry_list != NULL) {
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_var_longlong(exoid, entry_list_id, set_entry_list);
- } else {
- status = nc_put_var_int(exoid, entry_list_id, set_entry_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store entry list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
-
- /* only do for edge, face and side sets */
- if (extraptr && set_extra_list != NULL ) {
-
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_var_longlong(exoid, extra_list_id, set_extra_list);
- } else {
- status = nc_put_var_int(exoid, extra_list_id, set_extra_list);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store extra list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* warn if extra data was sent in for node sets and elem sets */
- if ((set_type == EX_NODE_SET || set_type == EX_ELEM_SET) &&
- set_extra_list != NULL) {
- sprintf(errmsg,
- "Warning: extra list was ignored for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id, exoid);
- ex_err("ex_put_set",errmsg,EX_MSG);
- return(EX_WARN);
- }
-
- return (EX_NOERR);
-
-}
diff --git a/cbind/src/ex_put_set_dist_fact.c b/cbind/src/ex_put_set_dist_fact.c
deleted file mode 100644
index 61a1a0b..0000000
--- a/cbind/src/ex_put_set_dist_fact.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expssd - ex_put_set_dist_fact
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int set_type set type
-* int set_id set id
-* void* set_dist_fact array of dist factors for set
-
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the distribution factors for a single set
- * \param exoid exodus file id
- * \param set_type set type
- * \param set_id set id
- * \param *set_dist_fact array of dist factors for set
- */
-
-int ex_put_set_dist_fact (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- const void *set_dist_fact)
-{
- int status;
- int dimid, set_id_ndx;
- int dist_id;
- char errmsg[MAX_ERR_LENGTH];
- char* factptr = NULL;
-
- exerrval = 0; /* clear error code */
-
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(set_type), &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no %ss specified in file id %d",
- ex_name_of_object(set_type), exoid);
- ex_err("ex_put_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Lookup index of set id in VAR_*S_IDS array */
- set_id_ndx = ex_id_lkup(exoid,set_type,set_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no data allowed for NULL %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set_fact",errmsg,EX_MSG);
- return (EX_WARN);
- } else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in VAR_*S_IDS array in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* setup more pointers based on set_type */
- if (set_type == EX_NODE_SET) {
- /* note we are using DIM_NUM_NODE_NS instead of DIM_NUM_DF_NS */
- factptr = VAR_FACT_NS(set_id_ndx);
- }
- else if (set_type == EX_EDGE_SET) {
- factptr = VAR_FACT_ES(set_id_ndx);
- }
- else if (set_type == EX_FACE_SET) {
- factptr = VAR_FACT_FS(set_id_ndx);
- }
- else if (set_type == EX_SIDE_SET) {
- factptr = VAR_FACT_SS(set_id_ndx);
- }
- if (set_type == EX_ELEM_SET) {
- factptr = VAR_FACT_ELS(set_id_ndx);
- }
-
- /* find id of distribution factors variable
- */
-
- if ((status = nc_inq_varid(exoid, factptr, &dist_id)) != NC_NOERR) {
- /* this test is only needed for node set because we're using
- DIM_NUM_NOD_NS instead of DIM_NUM_DF_NS*/
- if (status == NC_ENOTVAR) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Warning: no dist factors defined for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id, exoid);
- ex_err("ex_put_set_dist_fact",errmsg,exerrval);
- return (EX_WARN);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate dist factors list for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- /* write out the distribution factors array */
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_var_float(exoid, dist_id, set_dist_fact);
- } else {
- status = nc_put_var_double(exoid, dist_id, set_dist_fact);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store dist factors for %s %"PRId64" in file id %d",
- ex_name_of_object(set_type), set_id,exoid);
- ex_err("ex_put_set_dist_fact",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-
-}
diff --git a/cbind/src/ex_put_set_param.c b/cbind/src/ex_put_set_param.c
deleted file mode 100644
index 8f4ccbf..0000000
--- a/cbind/src/ex_put_set_param.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expsetp - ex_put_set_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int set_type the type of set
-* int set_id set id
-* int num_entries_in_set number of entries in the set
-* int num_dist_fact_in_set number of distribution factors in the
-* set
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the set id and the number of entries which describe a single set
- * \param exoid exodus file id
- * \param set_type the type of set
- * \param set_id set id
- * \param num_entries_in_set number of entries in the set
- * \param num_dist_fact_in_set number of distribution factors in the set
- */
-
-int ex_put_set_param (int exoid,
- ex_entity_type set_type,
- ex_entity_id set_id,
- int64_t num_entries_in_set,
- int64_t num_dist_fact_in_set)
-{
- struct ex_set set[1];
- set[0].type = set_type;
- set[0].id = set_id;
- set[0].num_entry = num_entries_in_set;
- set[0].num_distribution_factor = num_dist_fact_in_set;
- set[0].entry_list = NULL;
- set[0].extra_list = NULL;
- set[0].distribution_factor_list = NULL;
-
- return ex_put_sets(exoid, 1, set);
-}
diff --git a/cbind/src/ex_put_sets.c b/cbind/src/ex_put_sets.c
deleted file mode 100644
index 6cb926e..0000000
--- a/cbind/src/ex_put_sets.c
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
- * Copyright (c) 2012 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <stdlib.h> /* for free() */
-
-/*!
- * writes the set parameters and optionally set data for 1 or more sets
- * \param exoid exodus file id
- * \param set_count number of sets to write
- * \param *sets array of ex_set structures
- */
-
-int ex_put_sets (int exoid,
- size_t set_count,
- const struct ex_set *sets)
-{
- size_t i;
- int needs_define = 0;
- int set_stat;
- int dimid, varid, status, dims[1];
- int set_id_ndx;
- size_t start[1];
- int cur_num_sets;
- char errmsg[MAX_ERR_LENGTH];
- int* sets_to_define = NULL;
- char* numentryptr = NULL;
- char* entryptr = NULL;
- char* extraptr = NULL;
- char* idsptr = NULL;
- char* statptr = NULL;
- char* numdfptr = NULL;
- char* factptr = NULL;
-
- size_t int_size;
-
- exerrval = 0; /* clear error code */
-
- sets_to_define = malloc(set_count*sizeof(int));
-
- /* Note that this routine can be called:
- 1) just define the sets
- 2) just output the set data (after a previous call to define)
- 3) define and output the set data in one call.
- */
- for (i=0; i < set_count; i++) {
- /* first check if any sets are specified */
- if ((status = nc_inq_dimid(exoid, ex_dim_num_objects(sets[i].type), &dimid)) != NC_NOERR) {
- if (status == NC_EBADDIM) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no %ss defined for file id %d", ex_name_of_object(sets[i].type), exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %ss defined in file id %d",
- ex_name_of_object(sets[i].type), exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- }
- return (EX_FATAL);
- }
-
- set_id_ndx = ex_id_lkup(exoid, sets[i].type, sets[i].id);
- if (exerrval != EX_LOOKUPFAIL) { /* found the side set id, so set is already defined... */
- sets_to_define[i] = 0;
- continue;
- } else {
- needs_define++;
- sets_to_define[i] = 1;
- }
- }
-
- if (needs_define > 0) {
- /* put netcdf file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode",
- exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- for (i=0; i < set_count; i++) {
- if (sets_to_define[i] == 0)
- continue;
-
- /* NOTE: ex_inc_file_item finds the current number of sets defined
- for a specific file and returns that value incremented. */
- cur_num_sets=ex_inc_file_item(exoid, ex_get_counter_list(sets[i].type));
- set_id_ndx = cur_num_sets + 1;
- sets_to_define[i] = set_id_ndx;
-
- if (sets[i].num_entry == 0)
- continue;
-
- /* setup pointers based on set_type */
- if (sets[i].type == EX_NODE_SET) {
- numentryptr = DIM_NUM_NOD_NS(set_id_ndx);
- entryptr = VAR_NODE_NS(set_id_ndx);
- extraptr = NULL;
- /* note we are using DIM_NUM_NODE_NS instead of DIM_NUM_DF_NS */
- numdfptr = DIM_NUM_NOD_NS(set_id_ndx);
- factptr = VAR_FACT_NS(set_id_ndx);
- }
- else if (sets[i].type == EX_EDGE_SET) {
- numentryptr = DIM_NUM_EDGE_ES(set_id_ndx);
- entryptr = VAR_EDGE_ES(set_id_ndx);
- extraptr = VAR_ORNT_ES(set_id_ndx);
- numdfptr = DIM_NUM_DF_ES(set_id_ndx);
- factptr = VAR_FACT_ES(set_id_ndx);
- }
- else if (sets[i].type == EX_FACE_SET) {
- numentryptr = DIM_NUM_FACE_FS(set_id_ndx);
- entryptr = VAR_FACE_FS(set_id_ndx);
- extraptr = VAR_ORNT_FS(set_id_ndx);
- numdfptr = DIM_NUM_DF_FS(set_id_ndx);
- factptr = VAR_FACT_FS(set_id_ndx);
- }
- else if (sets[i].type == EX_SIDE_SET) {
- numentryptr = DIM_NUM_SIDE_SS(set_id_ndx);
- entryptr = VAR_ELEM_SS(set_id_ndx);
- extraptr = VAR_SIDE_SS(set_id_ndx);
- numdfptr = DIM_NUM_DF_SS(set_id_ndx);
- factptr = VAR_FACT_SS(set_id_ndx);
- }
- else if (sets[i].type == EX_ELEM_SET) {
- numentryptr = DIM_NUM_ELE_ELS(set_id_ndx);
- entryptr = VAR_ELEM_ELS(set_id_ndx);
- extraptr = NULL;
- numdfptr = DIM_NUM_DF_ELS(set_id_ndx);
- factptr = VAR_FACT_ELS(set_id_ndx);
- }
-
- /* define dimensions and variables */
- if ((status = nc_def_dim(exoid, numentryptr,
- sets[i].num_entry, &dimid)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) {
- sprintf(errmsg,
- "Error: %s %"PRId64" -- size already defined in file id %d",
- ex_name_of_object(sets[i].type), sets[i].id,exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- }
- else {
- sprintf(errmsg,
- "Error: failed to define number of entries in %s %"PRId64" in file id %d",
- ex_name_of_object(sets[i].type), sets[i].id,exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- }
- goto error_ret;
- }
-
- int_size = sizeof(int);
- if (ex_int64_status(exoid) & EX_BULK_INT64_DB) {
- int_size = sizeof(int64_t);
- }
-
- /* create variable array in which to store the entry lists */
- dims[0] = dimid;
- if ((status = nc_def_var(exoid, entryptr, int_size, 1, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) {
- sprintf(errmsg,
- "Error: entry list already exists for %s %"PRId64" in file id %d",
- ex_name_of_object(sets[i].type), sets[i].id,exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- } else {
- sprintf(errmsg,
- "Error: failed to create entry list for %s %"PRId64" in file id %d",
- ex_name_of_object(sets[i].type), sets[i].id,exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 1);
-
- if (extraptr) {
- if ((status = nc_def_var(exoid, extraptr, int_size, 1, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) {
- sprintf(errmsg,
- "Error: extra list already exists for %s %"PRId64" in file id %d",
- ex_name_of_object(sets[i].type), sets[i].id, exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- } else {
- sprintf(errmsg,
- "Error: failed to create extra list for %s %"PRId64" in file id %d",
- ex_name_of_object(sets[i].type), sets[i].id,exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 1);
- }
-
- /* Create distribution factors variable if required */
- if (sets[i].num_distribution_factor > 0) {
- if (sets[i].type != EX_SIDE_SET) {
- /* but sets[i].num_distribution_factor must equal number of nodes */
- if (sets[i].num_distribution_factor != sets[i].num_entry) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: # dist fact (%"PRId64") not equal to # nodes (%"PRId64") in node set %"PRId64" file id %d",
- sets[i].num_distribution_factor, sets[i].num_entry, sets[i].id, exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- } else {
- /* resuse dimid from entry lists */
- if ((status = nc_def_dim(exoid, numdfptr,
- sets[i].num_distribution_factor, &dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of dist factors in %s %"PRId64" in file id %d",
- ex_name_of_object(sets[i].type), sets[i].id,exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- }
-
- /* create variable array in which to store the set distribution factors
- */
- dims[0] = dimid;
- if ((status = nc_def_var(exoid, factptr, nc_flt_code(exoid), 1, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- if (status == NC_ENAMEINUSE) {
- sprintf(errmsg,
- "Error: dist factors list already exists for %s %"PRId64" in file id %d",
- ex_name_of_object(sets[i].type), sets[i].id,exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- } else {
- sprintf(errmsg,
- "Error: failed to create dist factors list for %s %"PRId64" in file id %d",
- ex_name_of_object(sets[i].type), sets[i].id,exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 2);
- }
- }
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition in file id %d", exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Output the set ids and status... */
- for (i=0; i < set_count; i++) {
- /* setup pointers based on sets[i].type */
- if (sets[i].type == EX_NODE_SET) {
- idsptr = VAR_NS_IDS;
- statptr = VAR_NS_STAT;
- }
- else if (sets[i].type == EX_EDGE_SET) {
- idsptr = VAR_ES_IDS;
- statptr = VAR_ES_STAT;
- }
- else if (sets[i].type == EX_FACE_SET) {
- idsptr = VAR_FS_IDS;
- statptr = VAR_FS_STAT;
- }
- else if (sets[i].type == EX_SIDE_SET) {
- idsptr = VAR_SS_IDS;
- statptr = VAR_SS_STAT;
- }
- else if (sets[i].type == EX_ELEM_SET) {
- idsptr = VAR_ELS_IDS;
- statptr = VAR_ELS_STAT;
- }
-
- /* first: get id of set id variable */
- if ((status = nc_inq_varid(exoid, idsptr, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s %"PRId64" in file id %d", ex_name_of_object(sets[i].type),
- sets[i].id, exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out set id */
- start[0] = sets_to_define[i]-1;
- status = nc_put_var1_longlong(exoid, varid, start, (long long*)&sets[i].id);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s id %"PRId64" in file id %d", ex_name_of_object(sets[i].type),
- sets[i].id, exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- set_stat = (sets[i].num_entry == 0) ? 0 : 1;
-
- if ((status = nc_inq_varid(exoid, statptr, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s status in file id %d", ex_name_of_object(sets[i].type),
- exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_put_var1_int(exoid, varid, start, &set_stat)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s %"PRId64" status to file id %d", ex_name_of_object(sets[i].type),
- sets[i].id, exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- free(sets_to_define);
- }
-
- /* Sets are now all defined; see if any set data needs to be output... */
- status = EX_NOERR;
- for (i=0; i < set_count; i++) {
- int stat;
- if (sets[i].entry_list != NULL || sets[i].extra_list != NULL) {
- /* NOTE: ex_put_set will write the warning/error message... */
- stat = ex_put_set(exoid, sets[i].type, sets[i].id, sets[i].entry_list, sets[i].extra_list);
- if (stat != EX_NOERR) status = EX_FATAL;
- }
- if (sets[i].distribution_factor_list != NULL) {
- /* NOTE: ex_put_set_dist_fact will write the warning/error message... */
- stat = ex_put_set_dist_fact(exoid, sets[i].type, sets[i].id, sets[i].distribution_factor_list);
- if (stat != EX_NOERR) status = EX_FATAL;
- }
- }
- return (status);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- free(sets_to_define);
-
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_sets",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_side_set.c b/cbind/src/ex_put_side_set.c
deleted file mode 100644
index 6b58f9f..0000000
--- a/cbind/src/ex_put_side_set.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expss - ex_put_side_set
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int side_set_id side set id
-* int* side_set_elem_list array of elements in side set
-* int* side_set_side_list array of sides in side set
-
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the side set element list and side set side list for a single side set
- * \param exoid exodus file id
- * \param side_set_id side set id
- * \param *side_set_elem_list array of elements in side set
- * \param *side_set_side_list array of sides in side set
- * \deprecated Use ex_put_set()(exoid, EX_SIDE_SET, side_set_id, side_set_elem_list, side_set_side_list)
- */
-
-int ex_put_side_set (int exoid,
- ex_entity_id side_set_id,
- const void_int *side_set_elem_list,
- const void_int *side_set_side_list)
-{
- return ex_put_set(exoid, EX_SIDE_SET, side_set_id,
- side_set_elem_list, side_set_side_list);
-}
diff --git a/cbind/src/ex_put_side_set_dist_fact.c b/cbind/src/ex_put_side_set_dist_fact.c
deleted file mode 100644
index e9b55c3..0000000
--- a/cbind/src/ex_put_side_set_dist_fact.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expssd - ex_put_side_set_dist_fact
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int side_set_id side set id
-* void* side_set_dist_fact array of dist factors for side set
-
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the distribution factors for a single side set
- * \param exoid exodus file id
- * \param side_set_id side set id
- * \param *side_set_dist_fact array of dist factors for side set
- * \deprecated Use ex_put_set_dist_fact()(exoid, EX_SIDE_SET, side_set_id, side_set_dist_fact)
- */
-
-int ex_put_side_set_dist_fact (int exoid,
- ex_entity_id side_set_id,
- const void *side_set_dist_fact)
-{
- return ex_put_set_dist_fact(exoid, EX_SIDE_SET, side_set_id,
- side_set_dist_fact);
-}
diff --git a/cbind/src/ex_put_side_set_param.c b/cbind/src/ex_put_side_set_param.c
deleted file mode 100644
index aa92d58..0000000
--- a/cbind/src/ex_put_side_set_param.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expsp - ex_put_side_set_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int side_set_id side set id
-* int num_side_in_set number of sides in the side set
-* int num_dist_fact_in_set number of distribution factors in the
-* side set
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the side set id and the number of sides (edges or faces)
- * which describe a single side set
- * \param exoid exodus file id
- * \param side_set_id side set id
- * \param num_side_in_set number of sides in the side set
- * \param num_dist_fact_in_set number of distribution factors in the side set
- * \deprecated Use ex_put_set_param()(exoid, EX_SIDE_SET, side_set_id, num_side_in_set, num_dist_fact_in_set)
- */
-
-int ex_put_side_set_param (int exoid,
- ex_entity_id side_set_id,
- int64_t num_side_in_set,
- int64_t num_dist_fact_in_set)
-{
- return ex_put_set_param(exoid, EX_SIDE_SET, side_set_id,
- num_side_in_set, num_dist_fact_in_set);
-}
diff --git a/cbind/src/ex_put_ss_param_global.c b/cbind/src/ex_put_ss_param_global.c
deleted file mode 100644
index ee0ea32..0000000
--- a/cbind/src/ex_put_ss_param_global.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* Function(s) contained in this file:
- * ex_put_ss_param_global()
- *****************************************************************************
- * This function outputs the global side-set parameters.
- *****************************************************************************
- * Variable Index:
- * exoid - The NetCDF ID of an already open NemesisI file.
- * global_ids - Pointer to a vector of global side-set IDs.
- * side_cnts - Pointer to a vector of global side counts in
- * each global side set.
- * df_cnts - Pointer to a vector of global distribution
- * factors in each global side set.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-
-#include <netcdf.h>
-
-#include <exodusII.h>
-#include <exodusII_int.h>
-
-int ex_put_ss_param_global(int exoid,
- void_int *global_ids,
- void_int *side_cnts,
- void_int *df_cnts
- )
-{
- const char *func_name="ex_put_ss_param_global";
- int varid;
-
- int status;
- char errmsg[MAX_ERR_LENGTH];
-/*-----------------------------Execution begins-----------------------------*/
-
- exerrval = 0; /* clear error code */
-
- /* Get the variable ID for the vector of global side set IDs */
- if ((status = nc_inq_varid(exoid, VAR_SS_IDS_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_SS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the vector of global side set IDs */
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, global_ids);
- } else {
- status = nc_put_var_int(exoid, varid, global_ids);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" to file ID %d",
- VAR_SS_IDS_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the vector of global side-set side counts */
- if ((status = nc_inq_varid(exoid, VAR_SS_SIDE_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_SS_SIDE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the vector of global side counts in each global side set */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, side_cnts);
- } else {
- status = nc_put_var_int(exoid, varid, side_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put variable \"%s\" in file ID %d",
- VAR_SS_SIDE_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Get the variable ID for the number of dist. factors in each side set */
- if ((status = nc_inq_varid(exoid, VAR_SS_DF_CNT_GLOBAL, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to find variable ID for \"%s\" in file ID %d",
- VAR_SS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- /* Output the vector of dist. factor counts */
- if (ex_int64_status(exoid) & EX_BULK_INT64_API) {
- status = nc_put_var_longlong(exoid, varid, df_cnts);
- } else {
- status = nc_put_var_int(exoid, varid, df_cnts);
- }
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to output variable \"%s\" in file ID %d",
- VAR_SS_DF_CNT_GLOBAL, exoid);
- ex_err(func_name, errmsg, exerrval);
-
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_sset_var.c b/cbind/src/ex_put_sset_var.c
deleted file mode 100644
index 60b076d..0000000
--- a/cbind/src/ex_put_sset_var.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expev - ex_put_sset_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* int sset_var_index sideset variable index
-* int sset_id sideset id
-* int num_faces_this_sset number of faces in this sideset
-*
-* exit conditions -
-*
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the values of a single sideset variable for one sideset at
- * one time step to the database; assume the first time step and
- * sideset variable index are 1
- * \param exoid exodus file id
- * \param time_step time step number
- * \param sset_var_index sideset variable index
- * \param sset_id sideset id
- * \param num_faces_this_sset number of faces in this sideset
- * \param sset_var_vals the variable values to be written
- * \deprecated Use ex_put_var()(exoid, time_step, EX_SIDE_SET, sset_var_index, sset_id, num_faces_this_sset, sset_var_vals)
- */
-
-int ex_put_sset_var (int exoid,
- int time_step,
- int sset_var_index,
- ex_entity_id sset_id,
- int64_t num_faces_this_sset,
- const void *sset_var_vals)
-{
- return ex_put_var(exoid, time_step, EX_SIDE_SET, sset_var_index, sset_id, num_faces_this_sset, sset_var_vals);
-}
diff --git a/cbind/src/ex_put_sset_var_tab.c b/cbind/src/ex_put_sset_var_tab.c
deleted file mode 100644
index c713e87..0000000
--- a/cbind/src/ex_put_sset_var_tab.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expsstt - ex_put_sset_var_tab
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int num_sset number of sidesets
-* int num_sset_var number of sideset variables
-* int* sset_var_tab sideset variable truth table array
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the EXODUS II sideset variable truth table to the database;
- * also, creates netCDF variables in which to store EXODUS II sideset
- * variable values; although this table isn't required (because the
- * netCDF variables can also be created in ex_put_sset_var), this call
- * will save tremendous time because all of the variables are defined
- * at once while the file is in define mode, rather than going in and out
- * of define mode (causing the entire file to be copied over and over)
- * which is what occurs when the sideset variable values variables are
- * defined in ex_put_sset_var
- * \param exoid exodus file id
- * \param num_sset number of sidesets
- * \param num_sset_var number of sideset variables
- * \param *sset_var_tab sideset variable truth table array
- * \deprecated Use ex_put_truth_table()(exoid, EX_SIDE_SET, num_sset, num_sset_var, sset_var_tab)
- */
-
-int ex_put_sset_var_tab (int exoid,
- int num_sset,
- int num_sset_var,
- int *sset_var_tab)
-{
- return ex_put_truth_table(exoid, EX_SIDE_SET, num_sset, num_sset_var, sset_var_tab);
-}
-
diff --git a/cbind/src/ex_put_time.c b/cbind/src/ex_put_time.c
deleted file mode 100644
index 3a0b5c5..0000000
--- a/cbind/src/ex_put_time.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <string.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
-
-The function ex_put_time() writes the time value for a specified time
-step.
-
-Because time values are floating point values, the application code
-must declare the array passed to be the appropriate type (\c float or
-\c double) to match the compute word size passed in ex_create() or
-ex_open().
-
-\return In case of an error, ex_put_time() returns a negative number;
-a warning will return a positive number. Possible causes of errors
-include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] time_step The time step number. This is essentially a counter that is
- incremented only when results variables are output to the data
- file. The first time step is 1.
-\param[in] time_value The time at the specified time step.
-
-The following code segment will write out the simulation time value at
-simulation time step n:
-
-\code
-int error, exoid, n;
-float time_value;
-
-\comment{write time value}
-error = ex_put_time (exoid, n, &time_value);
-\endcode
-
-*/
-
-int ex_put_time (int exoid,
- int time_step,
- const void *time_value)
-{
- int status;
- int varid;
- size_t start[1];
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined variable */
- if ((status = nc_inq_varid(exoid, VAR_WHOLE_TIME, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate time variable in file id %d", exoid);
- ex_err("ex_put_time",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* store time value */
- start[0] = --time_step;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_var1_float(exoid, varid, start, time_value);
- } else {
- status = nc_put_var1_double(exoid, varid, start, time_value);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store time value in file id %d", exoid);
- ex_err("ex_put_time",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_truth_table.c b/cbind/src/ex_put_truth_table.c
deleted file mode 100644
index a440d34..0000000
--- a/cbind/src/ex_put_truth_table.c
+++ /dev/null
@@ -1,375 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvtt - ex_put_truth_table
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type object type
-* int num_blk number of blocks
-* int num_var number of variables
-* int* variable_table variable truth table array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the EXODUS II variable truth table to the database; also,
- * creates netCDF variables in which to store EXODUS II variable
- * values; although this table isn't required (because the netCDF
- * variables can also be created in ex_put_var), this call will save
- * tremendous time because all of the variables are defined at once
- * while the file is in define mode, rather than going in and out of
- * define mode (causing the entire file to be copied over and over)
- * which is what occurs when the variables are defined in ex_put_var
- * \param exoid exodus file id
- * \param obj_type object type
- * \param num_blk number of blocks
- * \param num_var number of variables
- * \param *var_tab variable truth table array
- */
-
-int ex_put_truth_table (int exoid,
- ex_entity_type obj_type,
- int num_blk,
- int num_var,
- int *var_tab)
-{
- int numelblkdim, numelvardim, timedim, dims[2], varid;
- char *sta_type, *tab_type;
- size_t num_entity = 0;
- size_t num_var_db = 0;
- int *stat_vals;
- int i, j, k;
- int status;
- char errmsg[MAX_ERR_LENGTH];
- const char* routine = "ex_put_truth_table";
-
- /*
- * The ent_type and the var_name are used to build the netcdf
- * variables name. Normally this is done via a macro defined in
- * exodusII_int.h
- */
- const char* ent_type = NULL;
- const char* var_name = NULL;
- const char* ent_size = NULL;
- exerrval = 0; /* clear error code */
-
- ex_get_dimension(exoid, ex_dim_num_objects(obj_type),
- ex_name_of_object(obj_type), &num_entity, &numelblkdim, routine);
-
- if (obj_type == EX_ELEM_BLOCK) {
- ex_get_dimension(exoid, DIM_NUM_ELE_VAR, "element variables",
- &num_var_db, &numelvardim, routine);
- nc_inq_varid (exoid, VAR_ELEM_TAB, &varid);
- var_name = "vals_elem_var";
- ent_type = "eb";
- ent_size = "num_el_in_blk";
- sta_type = VAR_STAT_EL_BLK;
- tab_type = VAR_ELEM_TAB;
- }
- else if (obj_type == EX_EDGE_BLOCK) {
- ex_get_dimension(exoid, DIM_NUM_EDG_VAR, "edge block variables",
- &num_var_db, &numelvardim, routine);
- nc_inq_varid (exoid, VAR_EBLK_TAB, &varid);
- var_name = "vals_edge_var";
- ent_type = "eb";
- ent_size = "num_ed_in_blk";
- sta_type = VAR_STAT_ED_BLK;
- tab_type = VAR_EBLK_TAB;
- }
- else if (obj_type == EX_FACE_BLOCK) {
- ex_get_dimension(exoid, DIM_NUM_FAC_VAR, "face block variables",
- &num_var_db, &numelvardim, routine);
- nc_inq_varid (exoid, VAR_FBLK_TAB, &varid);
- var_name = "vals_face_var";
- ent_type = "fb";
- ent_size = "num_fa_in_blk";
- sta_type = VAR_STAT_FA_BLK;
- tab_type = VAR_FBLK_TAB;
- }
- else if (obj_type == EX_SIDE_SET) {
- ex_get_dimension(exoid, DIM_NUM_SSET_VAR, "sideset variables",
- &num_var_db, &numelvardim, routine);
- nc_inq_varid (exoid, VAR_SSET_TAB, &varid);
- var_name = "vals_sset_var";
- ent_type = "ss";
- ent_size = "num_side_ss";
- sta_type = VAR_SS_STAT;
- tab_type = VAR_SSET_TAB;
- }
- else if (obj_type == EX_NODE_SET) {
- ex_get_dimension(exoid, DIM_NUM_NSET_VAR, "nodeset variables",
- &num_var_db, &numelvardim, routine);
- nc_inq_varid (exoid, VAR_NSET_TAB, &varid);
- var_name = "vals_nset_var";
- ent_type = "ns";
- ent_size = "num_nod_ns";
- sta_type = VAR_NS_STAT;
- tab_type = VAR_NSET_TAB;
- }
- else if (obj_type == EX_EDGE_SET) {
- ex_get_dimension(exoid, DIM_NUM_ESET_VAR, "edge set variables",
- &num_var_db, &numelvardim, routine);
- nc_inq_varid (exoid, VAR_ESET_TAB, &varid);
- var_name = "vals_eset_var";
- ent_type = "es";
- ent_size = "num_edge_es";
- sta_type = VAR_ES_STAT;
- tab_type = VAR_ESET_TAB;
- }
- else if (obj_type == EX_FACE_SET) {
- ex_get_dimension(exoid, DIM_NUM_FSET_VAR, "face set variables",
- &num_var_db, &numelvardim, routine);
- nc_inq_varid (exoid, VAR_FSET_TAB, &varid);
- var_name = "vals_fset_var";
- ent_type = "fs";
- ent_size = "num_face_fs";
- sta_type = VAR_FS_STAT;
- tab_type = VAR_FSET_TAB;
- }
- else if (obj_type == EX_ELEM_SET) {
- ex_get_dimension(exoid, DIM_NUM_ELSET_VAR, "element set variables",
- &num_var_db, &numelvardim, routine);
- nc_inq_varid (exoid, VAR_ELSET_TAB, &varid);
- var_name = "vals_elset_var";
- ent_type = "es";
- ent_size = "num_ele_els";
- sta_type = VAR_ELS_STAT;
- tab_type = VAR_ELSET_TAB;
- }
-
- else { /* invalid variable type */
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid variable type %d specified in file id %d",
- obj_type, exoid);
- ex_err("ex_get_varid",errmsg,exerrval);
- return (EX_WARN);
- }
-
- if ((int)num_entity != num_blk) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: # of %s doesn't match those defined in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("ex_get_var_tab",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((int)num_var_db != num_var) {
- exerrval = EX_FATAL;
- sprintf(errmsg,
- "Error: # of %s variables doesn't match those defined in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("ex_get_var_tab",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Get status array for later use */
- if (!(stat_vals = malloc(num_blk*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for %s status array for file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- status = nc_inq_varid (exoid, sta_type, &varid);
-
- /* get variable id of status array */
- if (status == NC_NOERR) {
- /* if status array exists (V 2.01+), use it, otherwise assume
- object exists to be backward compatible */
-
- if ((status = nc_get_var_int (exoid, varid, stat_vals)) != NC_NOERR) {
- exerrval = status;
- free(stat_vals);
- sprintf(errmsg,
- "Error: failed to get %s status array from file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err("put_var_tab",errmsg,exerrval);
- return (EX_FATAL);
- }
- } else {
- /* status array doesn't exist (V2.00), dummy one up for later checking */
- for(i=0;i<num_blk;i++)
- stat_vals[i] = 1;
- }
-
- /* put netcdf file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- free(stat_vals);
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode",
- exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* inquire previously defined dimensions */
- if ((status = nc_inq_dimid (exoid, DIM_TIME, &timedim)) != NC_NOERR) {
- exerrval = status;
- free(stat_vals);
- sprintf(errmsg,
- "Error: failed to locate time variable in file id %d",
- exoid);
- ex_err(routine,errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* define netCDF variables in which to store EXODUS II element
- * variable values
- */
-
- k = 0;
- for (i=0; i<num_blk; i++) {
- for (j=1; j<=num_var; j++) {
-
- /* check if variables are to be put out for this entity */
- if (var_tab[k] != 0) {
- if (stat_vals[i] != 0) {/* check for NULL entity */
- /* NOTE: This code used to zero out the var_tab entry
- if the stat_vals[i] value was zero. However, in some
- cases it is good to know that a variable was assigned to
- an entity even if that entity is empty. The code was
- changed to not modify the truth table.
- */
- dims[0] = timedim;
-
- /* Determine number of entities in block */
- if ((status = nc_inq_dimid(exoid, ex_catstr(ent_size, (i+1)), &dims[1])) != NC_NOERR) {
- exerrval = status;
- free(stat_vals);
- sprintf(errmsg,
- "Error: failed to locate number of entities in %d'th %s in file id %d",
- i+1, ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
-
- /* define netCDF variable to store variable values; the j
- * index cycles from 1 through the number of variables so
- * that the index of the EXODUS II variable (which is part
- * of the name of the netCDF variable) will begin at 1
- * instead of 0
- */
-
- if ((status = nc_def_var(exoid, ex_catstr2(var_name, j, ent_type, i+1),
- nc_flt_code(exoid), 2, dims, &varid)) != NC_NOERR) {
- if (status != NC_ENAMEINUSE) {
- exerrval = status;
- free(stat_vals);
- sprintf(errmsg,
- "Error: failed to define variable for %d'th %s in file id %d",
- i+1, ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 2);
- }
- }
- } /* if */
- k++; /* increment element truth table pointer */
- } /* for j */
- } /* for i */
-
- free (stat_vals);
-
- /* create a variable array in which to store the truth table
- */
-
- dims[0] = numelblkdim;
- dims[1] = numelvardim;
- status = nc_def_var (exoid, tab_type, NC_INT, 2, dims, &varid);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s variable truth table in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definitions in file id %d",
- exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* write out the element variable truth table */
- status = nc_put_var_int(exoid, varid, var_tab);
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store variable truth table in file id %d",
- exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) /* exit define mode */
- {
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err(routine,errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_put_var.c b/cbind/src/ex_put_var.c
deleted file mode 100644
index c2e740b..0000000
--- a/cbind/src/ex_put_var.c
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvar - ex_put_var
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int time_step time step number
-* int var_type type (edge block, face block, edge set, ... )
-* int var_index element variable index
-* int obj_id element block id
-* int num_entries_this_obj number of entries in this block/set
-*
-* exit conditions -
-*
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-static int
-ex_look_up_var(int exoid, ex_entity_type var_type, int var_index, ex_entity_id obj_id,
- const char *VOBJID, const char *VOBJTAB, const char *DNUMOBJ,
- const char *DNUMOBJVAR, int *varid)
-{
- int status;
- int obj_id_ndx;
- int dimid,time_dim, numobjdim, dims[2];
-
- size_t num_obj;
- size_t num_obj_var;
- size_t num_entity;
-
- int *obj_var_truth_tab;
- char errmsg[MAX_ERR_LENGTH];
-
- /* Determine index of obj_id in VOBJID array */
- obj_id_ndx = ex_id_lkup(exoid,var_type,obj_id);
- if (exerrval != 0) {
- if (exerrval == EX_NULLENTITY) {
- sprintf(errmsg,
- "Warning: no variables allowed for NULL block %"PRId64" in file id %d",
- obj_id,exoid);
- ex_err("ex_put_var",errmsg,EX_MSG);
- return (EX_WARN);
- }
- else {
- sprintf(errmsg,
- "Error: failed to locate %s id %"PRId64" in %s array in file id %d",
- ex_name_of_object(var_type), obj_id, VOBJID, exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
-
- if ((status = nc_inq_varid (exoid, ex_name_var_of_object(var_type, var_index, obj_id_ndx), varid)) != NC_NOERR) {
- if (status == NC_ENOTVAR) {/* variable doesn't exist, create it! */
- /* check for the existance of an TNAME variable truth table */
- if (nc_inq_varid(exoid, VOBJTAB, varid) == NC_NOERR) {
- /* find out number of TNAMEs and TNAME variables */
- status = ex_get_dimension(exoid, DNUMOBJ, ex_name_of_object(var_type), &num_obj, &dimid, "ex_put_var");
- if (status != NC_NOERR) return status;
-
- status = ex_get_dimension(exoid, DNUMOBJVAR, ex_name_of_object(var_type), &num_obj_var, &dimid, "ex_put_var");
- if (status != NC_NOERR) return status;
-
- if (!(obj_var_truth_tab = malloc(num_obj*num_obj_var*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for %s variable truth table in file id %d",
- ex_name_of_object(var_type), exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* read in the TNAME variable truth table */
- if ((status = nc_get_var_int (exoid, *varid, obj_var_truth_tab)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get truth table from file id %d", exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if(obj_var_truth_tab[num_obj_var*(obj_id_ndx-1)+var_index-1] == 0L) {
- free(obj_var_truth_tab);
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid %s variable %d, %s %"PRId64" in file id %d",
- ex_name_of_object(var_type), var_index, ex_name_of_object(var_type), obj_id, exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- free(obj_var_truth_tab);
- }
-
- if ((status = nc_inq_dimid(exoid, DIM_TIME, &time_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate time dimension in file id %d", exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
-
- ex_get_dimension(exoid, ex_dim_num_entries_in_object(var_type, obj_id_ndx),
- ex_name_of_object(var_type), &num_entity, &numobjdim, "ex_put_var");
-
- /* variable doesn't exist so put file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode", exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* define netCDF variable to store TNAME variable values */
- dims[0] = time_dim;
- dims[1] = numobjdim;
- if ((status = nc_def_var(exoid, ex_name_var_of_object(var_type, var_index, obj_id_ndx),
- nc_flt_code(exoid), 2, dims, varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define %s variable %d in file id %d",
- ex_name_of_object(var_type), var_index,exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- goto error_ret;
- }
- ex_compress_variable(exoid, *varid, 2);
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete %s variable %s definition to file id %d",
- ex_name_of_object(var_type), ex_name_var_of_object(var_type, var_index, obj_id_ndx), exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s variable %s in file id %d",
- ex_name_of_object(var_type), ex_name_var_of_object(var_type, var_index, obj_id_ndx), exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- return (EX_FATAL);
- }
- }
- return (EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if (nc_enddef (exoid) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
-
-/*!
- * writes the values of a single variable for one entity at one time
- * step to the database; assume the first time step and variable index
- * are 1
- * \param exoid exodus file id
- * \param time_step time step number
- * \param var_type type (edge block, face block, edge set, ... )
- * \param var_index variable index
- * \param obj_id entity block id
- * \param num_entries_this_obj number of entries in this block/set
- * \param var_vals the values to be written
- */
-
-int ex_put_var (int exoid,
- int time_step,
- ex_entity_type var_type,
- int var_index,
- ex_entity_id obj_id,
- int64_t num_entries_this_obj,
- const void *var_vals)
-{
- int varid;
- size_t start[2], count[2];
- int status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- switch (var_type) {
- case EX_GLOBAL:
- if ( num_entries_this_obj <= 0 ) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Warning: no global variables specified for file id %d",
- exoid);
- ex_err("ex_put_glob_vars",errmsg,exerrval);
-
- return (EX_WARN);
- }
-
- /* inquire previously defined variable */
- if ((status = nc_inq_varid (exoid, VAR_GLO_VAR, &varid)) != NC_NOERR) {
- if (status == NC_ENOTVAR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: no global variables defined in file id %d",
- exoid);
- ex_err("ex_put_glob_vars",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get global variables parameters in file id %d",
- exoid);
- ex_err("ex_put_glob_vars",errmsg,exerrval);
- }
- return (EX_FATAL);
- }
- break;
- case EX_NODAL:
- return ex_put_nodal_var(exoid, time_step, var_index, num_entries_this_obj, var_vals);
- break;
- case EX_EDGE_BLOCK:
- status = ex_look_up_var(exoid, var_type, var_index, obj_id,
- VAR_ID_ED_BLK,VAR_EBLK_TAB,DIM_NUM_ED_BLK,DIM_NUM_EDG_VAR, &varid);
- break;
- case EX_FACE_BLOCK:
- status = ex_look_up_var(exoid, var_type, var_index, obj_id,
- VAR_ID_FA_BLK,VAR_FBLK_TAB,DIM_NUM_FA_BLK,DIM_NUM_FAC_VAR, &varid);
- break;
- case EX_ELEM_BLOCK:
- status = ex_look_up_var(exoid, var_type, var_index, obj_id,
- VAR_ID_EL_BLK,VAR_ELEM_TAB,DIM_NUM_EL_BLK,DIM_NUM_ELE_VAR, &varid);
- break;
- case EX_NODE_SET:
- status = ex_look_up_var(exoid, var_type, var_index, obj_id,
- VAR_NS_IDS,VAR_NSET_TAB,DIM_NUM_NS,DIM_NUM_NSET_VAR, &varid);
- break;
- case EX_EDGE_SET:
- status = ex_look_up_var(exoid, var_type, var_index, obj_id,
- VAR_ES_IDS,VAR_ESET_TAB,DIM_NUM_ES,DIM_NUM_ESET_VAR, &varid);
- break;
- case EX_FACE_SET:
- status = ex_look_up_var(exoid, var_type, var_index, obj_id,
- VAR_FS_IDS,VAR_FSET_TAB,DIM_NUM_FS,DIM_NUM_FSET_VAR, &varid);
- break;
- case EX_SIDE_SET:
- status = ex_look_up_var(exoid, var_type, var_index, obj_id,
- VAR_SS_IDS,VAR_SSET_TAB,DIM_NUM_SS,DIM_NUM_SSET_VAR, &varid);
- break;
- case EX_ELEM_SET:
- status = ex_look_up_var(exoid, var_type, var_index, obj_id,
- VAR_ELS_IDS,VAR_ELSET_TAB,DIM_NUM_ELS,DIM_NUM_ELSET_VAR, &varid);
- break;
- default:
- exerrval = EX_MSG;
- sprintf( errmsg, "Error: invalid variable type (%d) specified for file id %d",
- var_type, exoid );
- ex_err( "ex_put_var", errmsg, exerrval );
- return (EX_FATAL);
- }
-
- if (status != EX_NOERR) {
- return status;
- }
-
- /* store element variable values */
- start[0] = --time_step;
- start[1] = 0;
-
- if ( var_type == EX_GLOBAL ) {
- /* global variables may be written
- * - all at once (by setting var_index to 1 and num_entries_this_obj to num_glob, or
- * - one at a time (by setting var_index to the desired index and num_entries_this_obj to 1.
- */
- count[0] = var_index;
- } else {
- count[0] = 1;
- }
- count[1] = num_entries_this_obj;
-
- if (ex_comp_ws(exoid) == 4) {
- status = nc_put_vara_float(exoid, varid, start, count, var_vals);
- } else {
- status = nc_put_vara_double(exoid, varid, start, count, var_vals);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s %"PRId64" variable %d in file id %d",
- ex_name_of_object(var_type), obj_id, var_index,exoid);
- ex_err("ex_put_var",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return (EX_NOERR);
-}
diff --git a/cbind/src/ex_put_var_name.c b/cbind/src/ex_put_var_name.c
deleted file mode 100644
index 86cc0f9..0000000
--- a/cbind/src/ex_put_var_name.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvnm - ex_put_var_name
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* char* var_type variable type: G,N, or E
-* int var_num variable number name to write 1..num_var
-* char* var_name ptr of variable name
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-#include <ctype.h>
-
-/*!
- * writes the name of a particular results variable to the database
- * \param exoid exodus file id
- * \param *var_type variable type: G,N, or E
- * \param var_num variable number name to write 1..num_var
- * \param *var_name ptr of variable name
- * \deprecated use ex_put_variable_name()(exoid, obj_type, var_num, *var_name)
- */
-
-int ex_put_var_name (int exoid,
- const char *var_type,
- int var_num,
- const char *var_name)
-{
- ex_entity_type obj_type;
- obj_type = ex_var_type_to_ex_entity_type(*var_type);
- return ex_put_variable_name(exoid, obj_type, var_num, var_name);
-}
diff --git a/cbind/src/ex_put_var_names.c b/cbind/src/ex_put_var_names.c
deleted file mode 100644
index a1cb132..0000000
--- a/cbind/src/ex_put_var_names.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvan - ex_put_var_names
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* char* var_type variable type: G,N, or E
-* int num_vars # of variables to read
-* char* var_names ptr array of variable names
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-#include <ctype.h>
-
-/*!
- * writes the names of the results variables to the database
- * \param exoid exodus file id
- * \param *var_type variable type: G,N, or E
- * \param num_vars # of variables to read
- * \param *var_names ptr array of variable names
- * \deprecated Use ex_put_variable_names()(exoid, obj_type, num_vars, var_names)
- */
-
-int ex_put_var_names (int exoid,
- const char *var_type,
- int num_vars,
- char* var_names[])
-{
- ex_entity_type obj_type;
- obj_type = ex_var_type_to_ex_entity_type(*var_type);
- return ex_put_variable_names(exoid, obj_type, num_vars, var_names);
-}
diff --git a/cbind/src/ex_put_var_param.c b/cbind/src/ex_put_var_param.c
deleted file mode 100644
index e16ffc4..0000000
--- a/cbind/src/ex_put_var_param.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvp - ex_put_var_param
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* char* var_type variable type G,N, or E
-* int* num_vars number of variables in database
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-
-/*!
- * writes the number and names of global, nodal, or element variables
- * that will be written to the database
- * \param exoid exodus file id
- * \param var_type variable type G,N, or E
- * \param num_vars number of variables in database
- * \deprecated Use ex_put_variable_param()(exoid, obj_type, num_vars)
- */
-
-int ex_put_var_param (int exoid,
- const char *var_type,
- int num_vars)
-{
- ex_entity_type obj_type;
- obj_type = ex_var_type_to_ex_entity_type(*var_type);
- return (ex_put_variable_param(exoid, obj_type, num_vars));
-}
diff --git a/cbind/src/ex_put_var_tab.c b/cbind/src/ex_put_var_tab.c
deleted file mode 100644
index 5cafcf6..0000000
--- a/cbind/src/ex_put_var_tab.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvtt - ex_put_var_tab
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* char* type 'e', 'm', 's' element, nodeset, sideset
-* int num_blk number of blocks
-* int num_var number of variables
-* int* var_tab variable truth table array
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * writes the EXODUS II variable truth table to the database; also,
- * creates netCDF variables in which to store EXODUS II variable
- * values; although this table isn't required (because the netCDF
- * variables can also be created in ex_put_var), this call will save
- * tremendous time because all of the variables are defined at once
- * while the file is in define mode, rather than going in and out of
- * define mode (causing the entire file to be copied over and over)
- * which is what occurs when the variables are defined in ex_put_var
- * \param exoid exodus file id
- * \param *var_type 'e', 'm', 's' element, nodeset, sideset
- * \param num_blk number of blocks
- * \param num_var number of variables
- * \param *var_tab variable truth table array
- * \deprecated Use ex_put_truth_table()(exoid, obj_type, num_blk, num_var, var_tab)
- */
-
-int ex_put_var_tab (int exoid,
- const char *var_type,
- int num_blk,
- int num_var,
- int *var_tab)
-{
- ex_entity_type obj_type;
- obj_type = ex_var_type_to_ex_entity_type(*var_type);
- return ex_put_truth_table(exoid, obj_type, num_blk, num_var, var_tab);
-}
diff --git a/cbind/src/ex_put_variable_name.c b/cbind/src/ex_put_variable_name.c
deleted file mode 100644
index 4637197..0000000
--- a/cbind/src/ex_put_variable_name.c
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 2006 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvnm - ex_put_variable_name
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type variable type: G,N, or E
-* int var_num variable number name to write 1..num_var
-* char* var_name ptr of variable name
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-#include <ctype.h>
-
-/*!
- * writes the name of a particular results variable to the database
- * \param exoid exodus file id
- * \param obj_type variable type
- * \param var_num variable number name to write 1..num_var
- * \param *var_name ptr of variable name
- */
-
-int ex_put_variable_name (int exoid,
- ex_entity_type obj_type,
- int var_num,
- const char *var_name)
-{
- int status;
- int varid;
- char errmsg[MAX_ERR_LENGTH];
- const char* vname;
-
- exerrval = 0; /* clear error code */
-
- /* inquire previously defined variables */
- switch (obj_type) {
- case EX_GLOBAL:
- vname = VAR_NAME_GLO_VAR;
- break;
- case EX_NODAL:
- vname = VAR_NAME_NOD_VAR;
- break;
- case EX_EDGE_BLOCK:
- vname = VAR_NAME_EDG_VAR;
- break;
- case EX_FACE_BLOCK:
- vname = VAR_NAME_FAC_VAR;
- break;
- case EX_ELEM_BLOCK:
- vname = VAR_NAME_ELE_VAR;
- break;
- case EX_NODE_SET:
- vname = VAR_NAME_NSET_VAR;
- break;
- case EX_EDGE_SET:
- vname = VAR_NAME_ESET_VAR;
- break;
- case EX_FACE_SET:
- vname = VAR_NAME_FSET_VAR;
- break;
- case EX_SIDE_SET:
- vname = VAR_NAME_SSET_VAR;
- break;
- case EX_ELEM_SET:
- vname = VAR_NAME_ELSET_VAR;
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf( errmsg, "Error: Invalid variable type (%d) given for file id %d", obj_type, exoid );
- ex_err( "ex_put_variable_name", errmsg, exerrval );
- return (EX_WARN);
- }
-
- if ((status = nc_inq_varid(exoid, vname, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf( errmsg,
- "Warning: no %s variables names stored in file id %d",
- ex_name_of_object(obj_type), exoid );
- ex_err("ex_put_variable_name",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* write EXODUS variable name */
- status = ex_put_name_internal(exoid, varid, var_num-1, var_name, obj_type,
- "variable", "ex_put_variable_name");
-
- return(status);
-}
diff --git a/cbind/src/ex_put_variable_names.c b/cbind/src/ex_put_variable_names.c
deleted file mode 100644
index f0f5317..0000000
--- a/cbind/src/ex_put_variable_names.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* expvan - ex_put_variable_names
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* int obj_type variable type: G,N, or E
-* int num_vars # of variables to read
-* char* var_names ptr array of variable names
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-#include <string.h>
-#include <ctype.h>
-
-#define EX_PUT_NAMES(TNAME,DNUMVAR,VNAMES) \
- if ((status = nc_inq_dimid(exoid, DNUMVAR, &dimid)) != NC_NOERR) { \
- exerrval = status; \
- if (status == NC_EBADDIM) { \
- sprintf(errmsg, \
- "Error: no " TNAME " variables defined in file id %d", \
- exoid); \
- ex_err("ex_put_var_names",errmsg,exerrval); \
- } else { \
- sprintf(errmsg, \
- "Error: failed to locate number of " TNAME " variables in file id %d", \
- exoid); \
- ex_err("ex_put_var_names",errmsg,exerrval); \
- } \
- return(EX_FATAL); \
- } \
- \
- if ((status = nc_inq_varid(exoid, VNAMES, &varid)) != NC_NOERR) { \
- exerrval = status; \
- if (status == NC_ENOTVAR) \
- { \
- sprintf(errmsg, \
- "Error: no " TNAME " variable names defined in file id %d", \
- exoid); \
- ex_err("ex_put_var_names",errmsg,exerrval); \
- } else { \
- sprintf(errmsg, \
- "Error: " TNAME " name variable names not found in file id %d", \
- exoid); \
- ex_err("ex_put_var_names",errmsg,exerrval); \
- } \
- return(EX_FATAL); \
- }
-
-/*!
-
-The function ex_put_variable_names() writes the names of the results
-variables to the database. The names are \p MAX_STR_LENGTH -characters
-in length. The function ex_put_variable_param() must be called before
-this function is invoked.
-
-\return In case of an error, ex_put_variable_names() returns a negative
-number; a warning will return a positive number. Possible causes of
-errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file not initialized properly with call to ex_put_init().
- - invalid variable type specified.
- - ex_put_variable_param() was not called previously or was
- called with zero variables of the specified type.
- - ex_put_variable_names() has been called previously for the
- specified variable type.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Variable indicating the type of variable which is described.
- Use one of the options in the table below.
-\param[in] num_vars The number of \c var_type variables that will be written
- to the database.
-\param[in] var_names Array of pointers to \c num_vars variable names.
-
-<table>
-<tr><td> \c EX_GLOBAL} </td><td> Global entity type </td></tr>
-<tr><td> \c EX_NODAL} </td><td> Nodal entity type </td></tr>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-</table>
-
-The following coding will write out the names associated with the
-nodal variables:
-\code
-int num_nod_vars, error, exoid;
-char *var_names[2];
-
-\comment{write results variables parameters and names}
-num_nod_vars = 2;
-
-var_names[0] = "disx";
-var_names[1] = "disy";
-
-error = ex_put_variable_param (exoid, EX_NODAL, num_nod_vars);
-error = ex_put_variable_names (exoid, EX_NODAL, num_nod_vars, var_names);
-\endcode
-
-*/
-
-int ex_put_variable_names (int exoid,
- ex_entity_type obj_type,
- int num_vars,
- char* var_names[])
-{
- int varid, dimid, status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- switch (obj_type) {
- case EX_GLOBAL:
- EX_PUT_NAMES( "global",DIM_NUM_GLO_VAR, VAR_NAME_GLO_VAR);
- break;
- case EX_NODAL:
- EX_PUT_NAMES( "nodal",DIM_NUM_NOD_VAR, VAR_NAME_NOD_VAR);
- break;
- case EX_EDGE_BLOCK:
- EX_PUT_NAMES( "edge",DIM_NUM_EDG_VAR, VAR_NAME_EDG_VAR);
- break;
- case EX_FACE_BLOCK:
- EX_PUT_NAMES( "face",DIM_NUM_FAC_VAR, VAR_NAME_FAC_VAR);
- break;
- case EX_ELEM_BLOCK:
- EX_PUT_NAMES( "element",DIM_NUM_ELE_VAR, VAR_NAME_ELE_VAR);
- break;
- case EX_NODE_SET:
- EX_PUT_NAMES( "node set",DIM_NUM_NSET_VAR, VAR_NAME_NSET_VAR);
- break;
- case EX_EDGE_SET:
- EX_PUT_NAMES( "edge set",DIM_NUM_ESET_VAR, VAR_NAME_ESET_VAR);
- break;
- case EX_FACE_SET:
- EX_PUT_NAMES( "face set",DIM_NUM_FSET_VAR, VAR_NAME_FSET_VAR);
- break;
- case EX_SIDE_SET:
- EX_PUT_NAMES( "side set",DIM_NUM_SSET_VAR, VAR_NAME_SSET_VAR);
- break;
- case EX_ELEM_SET:
- EX_PUT_NAMES("element set",DIM_NUM_ELSET_VAR,VAR_NAME_ELSET_VAR);
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid variable type %d specified in file id %d",
- obj_type, exoid);
- ex_err("ex_put_var_names",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- /* write EXODUS variable names */
- status = ex_put_names_internal(exoid, varid, num_vars, var_names, obj_type,
- "variable", "ex_put_var_names");
-
- return(status);
-}
diff --git a/cbind/src/ex_put_variable_param.c b/cbind/src/ex_put_variable_param.c
deleted file mode 100644
index 1b6a3e8..0000000
--- a/cbind/src/ex_put_variable_param.c
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-#include <ctype.h>
-
-/*! \cond INTERNAL */
-#define EX_PREPARE_RESULT_VAR(TNAME,DIMNAME,VARNAMEVAR) \
- if ((status = nc_def_dim(exoid, DIMNAME, num_vars, &dimid)) != NC_NOERR) { \
- if (status == NC_ENAMEINUSE) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: " TNAME " variable name parameters are already defined in file id %d", \
- exoid); \
- ex_err("ex_put_var_param",errmsg,exerrval); \
- } else { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to define number of " TNAME " variables in file id %d", \
- exoid); \
- ex_err("ex_put_var_param",errmsg,exerrval); \
- } \
- goto error_ret; /* exit define mode and return */ \
- } \
- /* Now define TNAME variable name variable */ \
- dims[0] = dimid; \
- dims[1] = dim_str_name; \
- if ((status = nc_def_var (exoid, VARNAMEVAR, NC_CHAR, 2, dims, &varid)) != NC_NOERR) { \
- if (status == NC_ENAMEINUSE) { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: " TNAME " variable names are already defined in file id %d", \
- exoid); \
- ex_err("ex_put_variable_param",errmsg,exerrval); \
- } else { \
- exerrval = status; \
- sprintf(errmsg, \
- "Error: failed to define " TNAME " variable names in file id %d", \
- exoid); \
- ex_err("ex_put_variable_param",errmsg,exerrval); \
- } \
- goto error_ret; /* exit define mode and return */ \
- }
-/*! \endcond */
-
-/*!
-
-The function ex_put_variable_param() writes the number of global,
-nodal, nodeset, sideset, edge, face, or element variables that will be
-written to the database.
-
-\return In case of an error, ex_put_variable_param() returns a negative
- number; a warning will return a positive number. Possible causes of
- errors include:
- - data file not properly opened with call to ex_create() or ex_open()
- - data file opened for read only.
- - invalid variable type specified.
- - data file not initialized properly with call to ex_put_init().
- - this routine has already been called with the same variable
- type; redefining the number of variables is not allowed.
- - a warning value is returned if the number of variables
- is specified as zero.
-
-\param[in] exoid exodus file ID returned from a previous call to ex_create() or ex_open().
-\param[in] obj_type Variable indicating the type of variable which is described. Use one
- of the #ex_entity_type types specified in the table below.
-\param[in] num_vars The number of \c var_type variables that will be written to the
- database.
-
-<table>
-<tr><td> \c EX_GLOBAL </td><td> Global entity type </td></tr>
-<tr><td> \c EX_NODAL </td><td> Nodal entity type </td></tr>
-<tr><td> \c EX_NODE_SET </td><td> Node Set entity type </td></tr>
-<tr><td> \c EX_EDGE_BLOCK </td><td> Edge Block entity type </td></tr>
-<tr><td> \c EX_EDGE_SET </td><td> Edge Set entity type </td></tr>
-<tr><td> \c EX_FACE_BLOCK </td><td> Face Block entity type </td></tr>
-<tr><td> \c EX_FACE_SET </td><td> Face Set entity type </td></tr>
-<tr><td> \c EX_ELEM_BLOCK </td><td> Element Block entity type</td></tr>
-<tr><td> \c EX_ELEM_SET </td><td> Element Set entity type </td></tr>
-<tr><td> \c EX_SIDE_SET </td><td> Side Set entity type </td></tr>
-</table>
-
-For example, the following code segment initializes the data file to
-store global variables:
-
-\code
-int num_glo_vars, error, exoid;
-
-\comment{write results variables parameters}
-num_glo_vars = 3;
-
-error = ex_put_variable_param (exoid, EX_GLOBAL, num_glo_vars);
-\endcode
-
- */
-
-int ex_put_variable_param (int exoid,
- ex_entity_type obj_type,
- int num_vars)
-{
- int time_dim, num_nod_dim, dimid, dim_str_name, varid;
- int dims[3];
- char errmsg[MAX_ERR_LENGTH];
- int status;
-
- exerrval = 0; /* clear error code */
-
- /* if no variables are to be stored, return with warning */
- if (num_vars == 0) {
- exerrval = EX_MSG;
- sprintf(errmsg,
- "Warning: zero %s variables specified for file id %d",
- ex_name_of_object(obj_type),exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
-
- return (EX_WARN);
- }
-
- if ( obj_type != EX_NODAL &&
- obj_type != EX_NODE_SET &&
- obj_type != EX_EDGE_BLOCK &&
- obj_type != EX_EDGE_SET &&
- obj_type != EX_FACE_BLOCK &&
- obj_type != EX_FACE_SET &&
- obj_type != EX_ELEM_BLOCK &&
- obj_type != EX_ELEM_SET &&
- obj_type != EX_SIDE_SET &&
- obj_type != EX_GLOBAL) {
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: Invalid variable type %d specified in file id %d",
- obj_type, exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- return (EX_WARN);
- }
-
- /* inquire previously defined dimensions */
- if ((status = nc_inq_dimid (exoid, DIM_TIME, &time_dim)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate time dimension in file id %d", exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_inq_dimid (exoid, DIM_NUM_NODES, &num_nod_dim)) != NC_NOERR) {
- if (obj_type == EX_NODAL) {
- return (EX_NOERR); /* Probably no nodes on database (e.g., badly load-balanced parallel run) */
- }
- }
-
- if ((status = nc_inq_dimid (exoid, DIM_STR_NAME, &dim_str_name)) < 0) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get name string length in file id %d",exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* put file into define mode */
- if ((status = nc_redef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to put file id %d into define mode", exoid);
- ex_err("ex_get_var_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* define dimensions and variables */
- if (obj_type == EX_GLOBAL) {
- EX_PREPARE_RESULT_VAR("global",DIM_NUM_GLO_VAR,VAR_NAME_GLO_VAR);
-
- dims[0] = time_dim;
- dims[1] = dimid;
- if ((status = nc_def_var (exoid, VAR_GLO_VAR,
- nc_flt_code(exoid), 2, dims, &varid)) != NC_NOERR)
- {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define global variables in file id %d",
- exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 2);
- }
-
- else if (obj_type == EX_NODAL) {
- /*
- * There are two ways to store the nodal variables. The old way *
- * was a blob (#times,#vars,#nodes), but that was exceeding the
- * netcdf maximum dataset size for large models. The new way is
- * to store #vars separate datasets each of size (#times,#nodes)
- *
- * We want this routine to be capable of storing both formats
- * based on some external flag. Since the storage format of the
- * coordinates have also been changed, we key off of their
- * storage type to decide which method to use for nodal
- * variables. If the variable 'coord' is defined, then store old
- * way; otherwise store new.
- */
- if ((status = nc_def_dim(exoid, DIM_NUM_NOD_VAR, num_vars, &dimid)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: nodal variable name parameters are already defined in file id %d",
- exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define number of nodal variables in file id %d",
- exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
-
- if (ex_large_model(exoid) == 0) { /* Old way */
- dims[0] = time_dim;
- dims[1] = dimid;
- dims[2] = num_nod_dim;
- if ((status = nc_def_var(exoid, VAR_NOD_VAR,
- nc_flt_code(exoid), 3, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define nodal variables in file id %d",
- exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 2);
- } else { /* New way */
- int i;
- for (i = 1; i <= num_vars; i++) {
- dims[0] = time_dim;
- dims[1] = num_nod_dim;
- if ((status = nc_def_var (exoid, VAR_NOD_VAR_NEW(i),
- nc_flt_code(exoid), 2, dims, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define nodal variable %d in file id %d",
- i, exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- goto error_ret; /* exit define mode and return */
- }
- ex_compress_variable(exoid, varid, 2);
- }
- }
-
- /* Now define nodal variable name variable */
- dims[0] = dimid;
- dims[1] = dim_str_name;
- if ((status = nc_def_var(exoid, VAR_NAME_NOD_VAR, NC_CHAR, 2, dims, &varid)) != NC_NOERR) {
- if (status == NC_ENAMEINUSE) {
- exerrval = status;
- sprintf(errmsg,
- "Error: nodal variable names are already defined in file id %d",
- exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- } else {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to define nodal variable names in file id %d",
- exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- }
- goto error_ret; /* exit define mode and return */
- }
- }
-
- /* netCDF variables in which to store the EXODUS obj_type variable values will
- * be defined in ex_put_*_var_tab or ex_put_*_var; at this point, we
- * don't know what obj_type variables are valid for which obj_type blocks
- * (the info that is stored in the obj_type variable truth table)
- */
- else if (obj_type == EX_ELEM_BLOCK) {
- EX_PREPARE_RESULT_VAR("element",DIM_NUM_ELE_VAR,VAR_NAME_ELE_VAR);
- }
- else if (obj_type == EX_NODE_SET) {
- EX_PREPARE_RESULT_VAR("nodeset",DIM_NUM_NSET_VAR,VAR_NAME_NSET_VAR);
- }
- else if (obj_type == EX_SIDE_SET) {
- EX_PREPARE_RESULT_VAR("sideset",DIM_NUM_SSET_VAR,VAR_NAME_SSET_VAR);
- }
- else if (obj_type == EX_EDGE_BLOCK) {
- EX_PREPARE_RESULT_VAR("edge",DIM_NUM_EDG_VAR,VAR_NAME_EDG_VAR);
- }
- else if (obj_type == EX_FACE_BLOCK) {
- EX_PREPARE_RESULT_VAR("face",DIM_NUM_FAC_VAR,VAR_NAME_FAC_VAR);
- }
- else if (obj_type == EX_EDGE_SET) {
- EX_PREPARE_RESULT_VAR("edgeset",DIM_NUM_ESET_VAR,VAR_NAME_ESET_VAR);
- }
- else if (obj_type == EX_FACE_SET) {
- EX_PREPARE_RESULT_VAR("faceset",DIM_NUM_FSET_VAR,VAR_NAME_FSET_VAR);
- }
- else if (obj_type == EX_ELEM_SET) {
- EX_PREPARE_RESULT_VAR("elementset",DIM_NUM_ELSET_VAR,VAR_NAME_ELSET_VAR);
- }
-
- /* leave define mode */
- if ((status = nc_enddef (exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to complete definition in file id %d",
- exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- return(EX_NOERR);
-
- /* Fatal error: exit definition mode and return */
- error_ret:
- if ((status = nc_enddef(exoid)) != NC_NOERR) { /* exit define mode */
- sprintf(errmsg,
- "Error: failed to complete definition for file id %d",
- exoid);
- ex_err("ex_put_variable_param",errmsg,exerrval);
- }
- return (EX_FATAL);
-}
diff --git a/cbind/src/ex_update.c b/cbind/src/ex_update.c
deleted file mode 100644
index 9130994..0000000
--- a/cbind/src/ex_update.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exupda - ex_update
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-*
-*
-*****************************************************************************/
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-/*!
- * updates an opened EXODUS II file (or EXODUS II history file)
- * \param exoid exodus file id
- */
-
-int ex_update (int exoid)
-{
- char errmsg[MAX_ERR_LENGTH];
- int status;
-
- exerrval = 0; /* clear error code */
-
- if ((status = nc_sync(exoid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to update file id %d",
- exoid);
- ex_err("ex_update",errmsg,exerrval);
- return (EX_FATAL);
- }
- return(EX_NOERR);
-}
diff --git a/cbind/src/ex_utils.c b/cbind/src/ex_utils.c
deleted file mode 100644
index 9fabe42..0000000
--- a/cbind/src/ex_utils.c
+++ /dev/null
@@ -1,1540 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* exutils - utility routines
-*
-*****************************************************************************/
-
-#if defined(DEBUG_QSORT)
-#include <assert.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <unistd.h>
-
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-struct obj_stats* exoII_eb = 0;
-struct obj_stats* exoII_ed = 0;
-struct obj_stats* exoII_fa = 0;
-struct obj_stats* exoII_ns = 0;
-struct obj_stats* exoII_es = 0;
-struct obj_stats* exoII_fs = 0;
-struct obj_stats* exoII_ss = 0;
-struct obj_stats* exoII_els = 0;
-struct obj_stats* exoII_em = 0;
-struct obj_stats* exoII_edm = 0;
-struct obj_stats* exoII_fam = 0;
-struct obj_stats* exoII_nm = 0;
-
-
-/*****************************************************************************
-*
-* utility routines for string conversions
-* ex_catstr - concatenate string/number (where number is converted to ASCII)
-* ex_catstr2 - concatenate string1/number1/string2/number2 "
-*
-* NOTE: these routines reuse the same storage over and over to build
-* concatenated strings, because the strings are just passed to netCDF
-* routines as names used to look up variables. if the strings returned
-* by these routines are needed for any other purpose, they should
-* immediately be copied into other storage.
-*****************************************************************************/
-
-static char ret_string[10*(MAX_VAR_NAME_LENGTH+1)];
-static char* cur_string = &ret_string[0];
-
-int ex_check_file_type(const char *path, int *type)
-{
- /* Based on (stolen from?) NC_check_file_type from netcdf sources.
-
- Type is set to:
- 1 if this is a netcdf classic file,
- 2 if this is a netcdf 64-bit offset file,
- 5 if this is an hdf5 file
- */
-
-#define MAGIC_NUMBER_LEN 4
-
- char magic[MAGIC_NUMBER_LEN];
-
- *type = 0;
-
- /* Get the 4-byte magic from the beginning of the file. */
- {
- FILE *fp;
- int i;
-
- if (!(fp = fopen(path, "r")))
- return errno;
- i = fread(magic, MAGIC_NUMBER_LEN, 1, fp);
- fclose(fp);
- if(i != 1)
- return errno;
- }
-
- /* Ignore the first byte for HDF */
- if (magic[1] == 'H' && magic[2] == 'D' && magic[3] == 'F')
- *type = 5;
- else if (magic[0] == 'C' && magic[1] == 'D' && magic[2] == 'F')
- {
- if (magic[3] == '\001')
- *type = 1;
- else if(magic[3] == '\002')
- *type = 2;
- }
- return EX_NOERR;
-}
-
-int ex_set_max_name_length(int exoid, int length)
-{
- char errmsg[MAX_ERR_LENGTH];
- if (length <= 0) {
- exerrval = NC_EMAXNAME;
- sprintf(errmsg, "Error: Max name length must be positive.");
- ex_err("ex_set_max_name_length",errmsg,exerrval);
- return (EX_FATAL);
- }
- else if (length > NC_MAX_NAME) {
- exerrval = NC_EMAXNAME;
- sprintf(errmsg, "Error: Max name length (%d) exceeds netcdf max name size (%d).",
- length, NC_MAX_NAME);
- ex_err("ex_set_max_name_length",errmsg,exerrval);
- return (EX_FATAL);
- }
- else {
- ex_set_option(exoid, EX_OPT_MAX_NAME_LENGTH, length);
- }
- return EX_NOERR;
-}
-
-void ex_update_max_name_length(int exoid, int length)
-{
- int status;
- int db_length = 0;
- /* Get current value of the maximum_name_length attribute... */
- if ((status = nc_get_att_int(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, &db_length)) != NC_NOERR) {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to update 'max_name_length' attribute in file id %d",
- exoid);
- ex_err("ex_update_max_name_length",errmsg,exerrval);
- }
-
- if (length > db_length) {
- /* Update with new value... */
- nc_put_att_int(exoid, NC_GLOBAL, ATT_MAX_NAME_LENGTH, NC_INT, 1, &length);
- nc_sync(exoid);
- }
-}
-
-int ex_put_names_internal(int exoid, int varid, size_t num_entity, char **names,
- ex_entity_type obj_type, const char *subtype, const char *routine)
-{
- size_t i;
- int status;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
- int max_name_len = 0;
- size_t name_length;
-
- /* inquire previously defined dimensions */
- name_length = ex_inquire_int(exoid, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH)+1;
-
- for (i=0; i<num_entity; i++) {
- if (names[i] != '\0') {
- int too_long = 0;
- start[0] = i;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = strlen(names[i]) + 1;
-
- if (count[1] > name_length) {
- fprintf(stderr,
- "Warning: The %s %s name '%s' is too long.\n\tIt will be truncated from %d to %d characters\n",
- ex_name_of_object(obj_type), subtype, names[i], (int)strlen(names[i]), (int)name_length-1);
- count[1] = name_length;
- too_long = 1;
- }
-
- if (count[1] > max_name_len)
- max_name_len = count[1];
-
- if ((status = nc_put_vara_text(exoid, varid, start, count, names[i])) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s names in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Add the trailing null if the variable name was too long */
- if (too_long) {
- start[1] = name_length-1;
- nc_put_var1_text(exoid, varid, start, "\0");
- }
- }
- }
-
- /* Update the maximum_name_length attribute on the file. */
- ex_update_max_name_length(exoid, max_name_len-1);
-
- return (EX_NOERR);
-}
-
-int ex_put_name_internal(int exoid, int varid, size_t index, const char *name,
- ex_entity_type obj_type, const char *subtype, const char *routine)
-{
- int status;
- size_t start[2], count[2];
- char errmsg[MAX_ERR_LENGTH];
- size_t name_length;
-
- /* inquire previously defined dimensions */
- name_length = ex_inquire_int(exoid, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH)+1;
-
- if (name != '\0') {
- int too_long = 0;
- start[0] = index;
- start[1] = 0;
-
- count[0] = 1;
- count[1] = strlen(name) + 1;
-
- if (count[1] > name_length) {
- fprintf(stderr,
- "Warning: The %s %s name '%s' is too long.\n\tIt will be truncated from %d to %d characters\n",
- ex_name_of_object(obj_type), subtype, name, (int)strlen(name), (int)name_length-1);
- count[1] = name_length;
- too_long = 1;
- }
-
- if ((status = nc_put_vara_text(exoid, varid, start, count, name)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to store %s name in file id %d",
- ex_name_of_object(obj_type), exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* Add the trailing null if the variable name was too long */
- if (too_long) {
- start[1] = name_length-1;
- nc_put_var1_text(exoid, varid, start, "\0");
- }
-
- /* Update the maximum_name_length attribute on the file. */
- ex_update_max_name_length(exoid, count[1]-1);
- }
-
- return (EX_NOERR);
-}
-
-int ex_get_names_internal(int exoid, int varid, size_t num_entity, char **names,
- ex_entity_type obj_type, const char *routine)
-{
- size_t i;
- int status;
-
- /* Query size of names on file
- * Use the smaller of the size on file or user-specified length
- */
- int db_name_size = ex_inquire_int(exoid, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH);
- int api_name_size = ex_inquire_int(exoid, EX_INQ_MAX_READ_NAME_LENGTH);
- int name_size = db_name_size < api_name_size ? db_name_size : api_name_size;
-
- for (i=0; i<num_entity; i++) {
- status = ex_get_name_internal(exoid, varid, i, names[i], name_size, obj_type, routine);
- if (status != NC_NOERR)
- return status;
- }
- return EX_NOERR;
-}
-
-int ex_get_name_internal(int exoid, int varid, size_t index, char *name, int name_size,
- ex_entity_type obj_type, const char *routine)
-{
- size_t start[2], count[2];
- int status;
- char errmsg[MAX_ERR_LENGTH];
- int api_name_size = ex_inquire_int(exoid, EX_INQ_MAX_READ_NAME_LENGTH);
-
- /* read the name */
- start[0] = index; count[0] = 1;
- start[1] = 0; count[1] = name_size+1;
-
- status = nc_get_vara_text(exoid, varid, start, count, name);
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg, "Error: failed to get %s name at index %d from file id %d",
- ex_name_of_object(obj_type), (int)index, exoid);
- ex_err(routine,errmsg,exerrval);
- return (EX_FATAL);
- }
-
- name[api_name_size] = '\0';
-
- ex_trim_internal(name);
- return EX_NOERR;
-}
-
-void ex_trim_internal(char *name)
-{
- /* Trim trailing spaces... */
- size_t size;
- char *end;
-
- if (name == NULL)
- return;
-
- size = strlen(name);
- if (size==0)
- return;
-
- end = name + size - 1;
- while (end >= name && isspace(*end))
- end--;
-
- *(end+1) = '\0';
-}
-
-/** ex_catstr - concatenate string/number (where number is converted to ASCII) */
-char *ex_catstr (const char *string,
- int num)
-{
- char* tmp_string = cur_string;
- cur_string += sprintf (cur_string, "%s%d", string, num) + 1;
- if ( cur_string - ret_string > 9*(MAX_VAR_NAME_LENGTH+1) )
- cur_string = ret_string;
- return (tmp_string);
-}
-
-
-/** ex_catstr2 - concatenate string1num1string2num2 */
-char *ex_catstr2 (const char *string1,
- int num1,
- const char *string2,
- int num2)
-{
- char* tmp_string = cur_string;
- cur_string += sprintf (cur_string, "%s%d%s%d", string1, num1, string2, num2) + 1;
- if ( cur_string - ret_string > 9*(MAX_VAR_NAME_LENGTH+1) )
- cur_string = ret_string;
- return (tmp_string);
-}
-
-char* ex_name_of_object(ex_entity_type obj_type)
-{
- switch (obj_type) {
- case EX_COORDINATE: /* kluge so some wrapper functions work */
- return "coordinate";
- case EX_NODAL:
- return "nodal";
- case EX_EDGE_BLOCK:
- return "edge block";
- case EX_FACE_BLOCK:
- return "face block";
- case EX_ELEM_BLOCK:
- return "element block";
- case EX_NODE_SET:
- return "node set";
- case EX_EDGE_SET:
- return "edge set";
- case EX_FACE_SET:
- return "face set";
- case EX_SIDE_SET:
- return "side set";
- case EX_ELEM_SET:
- return "element set";
- case EX_ELEM_MAP:
- return "element map";
- case EX_NODE_MAP:
- return "node map";
- case EX_EDGE_MAP:
- return "edge map";
- case EX_FACE_MAP:
- return "face map";
- case EX_GLOBAL:
- return "global";
- default:
- return "invalid type";
- }
-}
-
-ex_entity_type ex_var_type_to_ex_entity_type(char var_type)
-{
- char var_lower = tolower(var_type);
- if (var_lower == 'n')
- return EX_NODAL;
- else if (var_lower == 'l')
- return EX_EDGE_BLOCK;
- else if (var_lower == 'f')
- return EX_FACE_BLOCK;
- else if (var_lower == 'e')
- return EX_ELEM_BLOCK;
- else if (var_lower == 'm')
- return EX_NODE_SET;
- else if (var_lower == 'd')
- return EX_EDGE_SET;
- else if (var_lower == 'a')
- return EX_FACE_SET;
- else if (var_lower == 's')
- return EX_SIDE_SET;
- else if (var_lower == 't')
- return EX_ELEM_SET;
- else if (var_lower == 'g')
- return EX_GLOBAL;
- else
- return EX_INVALID;
-}
-
-char* ex_dim_num_objects(ex_entity_type obj_type)
-{
- exerrval = 0; /* clear error code */
- switch (obj_type)
- {
- case EX_NODAL:
- return DIM_NUM_NODES;
- case EX_ELEM_BLOCK:
- return DIM_NUM_EL_BLK;
- case EX_EDGE_BLOCK:
- return DIM_NUM_ED_BLK;
- case EX_FACE_BLOCK:
- return DIM_NUM_FA_BLK;
- case EX_NODE_SET:
- return DIM_NUM_NS;
- case EX_EDGE_SET:
- return DIM_NUM_ES;
- case EX_FACE_SET:
- return DIM_NUM_FS;
- case EX_ELEM_SET:
- return DIM_NUM_ELS;
- case EX_SIDE_SET:
- return DIM_NUM_SS;
- case EX_ELEM_MAP:
- return DIM_NUM_EM;
- case EX_FACE_MAP:
- return DIM_NUM_FAM;
- case EX_EDGE_MAP:
- return DIM_NUM_EDM;
- case EX_NODE_MAP:
- return DIM_NUM_NM;
- default:
- {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported in call to ex_dim_num_objects",
- obj_type);
- ex_err("ex_dim_num_objects",errmsg,exerrval);
- return (NULL);
- }
- }
-}
-
-char* ex_dim_num_entries_in_object( ex_entity_type obj_type,
- int idx )
-{
- switch (obj_type) {
- case EX_NODAL:
- return DIM_NUM_NODES;
- case EX_EDGE_BLOCK:
- return DIM_NUM_ED_IN_EBLK(idx);
- case EX_FACE_BLOCK:
- return DIM_NUM_FA_IN_FBLK(idx);
- case EX_ELEM_BLOCK:
- return DIM_NUM_EL_IN_BLK(idx);
- case EX_NODE_SET:
- return DIM_NUM_NOD_NS(idx);
- case EX_EDGE_SET:
- return DIM_NUM_EDGE_ES(idx);
- case EX_FACE_SET:
- return DIM_NUM_FACE_FS(idx);
- case EX_SIDE_SET:
- return DIM_NUM_SIDE_SS(idx);
- case EX_ELEM_SET:
- return DIM_NUM_ELE_ELS(idx);
- default:
- return 0;
- }
-}
-
-char* ex_name_var_of_object(ex_entity_type obj_type,
- int i, int j)
-{
- switch (obj_type) {
- case EX_EDGE_BLOCK:
- return VAR_EDGE_VAR(i,j);
- case EX_FACE_BLOCK:
- return VAR_FACE_VAR(i,j);
- case EX_ELEM_BLOCK:
- return VAR_ELEM_VAR(i,j);
- case EX_NODE_SET:
- return VAR_NS_VAR(i,j);
- case EX_EDGE_SET:
- return VAR_ES_VAR(i,j);
- case EX_FACE_SET:
- return VAR_FS_VAR(i,j);
- case EX_SIDE_SET:
- return VAR_SS_VAR(i,j);
- case EX_ELEM_SET:
- return VAR_ELS_VAR(i,j);
- default:
- return 0;
- }
-}
-
-char* ex_name_of_map(ex_entity_type map_type, int map_index)
-{
- switch (map_type) {
- case EX_NODE_MAP:
- return VAR_NODE_MAP(map_index);
- case EX_EDGE_MAP:
- return VAR_EDGE_MAP(map_index);
- case EX_FACE_MAP:
- return VAR_FACE_MAP(map_index);
- case EX_ELEM_MAP:
- return VAR_ELEM_MAP(map_index);
- default:
- return 0;
- }
-}
-
-/*****************************************************************************
-*
-* ex_id_lkup - look up id
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-* ex_entity_type id_type id type name:
-* elem_ss
-* node_ns
-* side_ss
-* int num id value
-*
-* exit conditions -
-* int return index into table (1-based)
-*
-*****************************************************************************/
-
-int ex_id_lkup( int exoid,
- ex_entity_type id_type,
- ex_entity_id num)
-{
-
- char id_table[MAX_VAR_NAME_LENGTH+1];
- char id_dim[MAX_VAR_NAME_LENGTH+1];
- char stat_table[MAX_VAR_NAME_LENGTH+1];
- int varid, dimid;
- size_t dim_len, i;
- int64_t *id_vals=NULL;
- int *stat_vals=NULL;
-
- static int filled=FALSE;
- struct obj_stats *tmp_stats;
- int status;
- char errmsg[MAX_ERR_LENGTH];
-
- exerrval = 0; /* clear error code */
-
- switch(id_type) {
- case EX_NODAL:
- return 0;
- case EX_GLOBAL:
- return 0;
- case EX_ELEM_BLOCK:
- strcpy(id_table, VAR_ID_EL_BLK); /* id array name */
- strcpy(id_dim, DIM_NUM_EL_BLK); /* id array dimension name*/
- strcpy(stat_table, VAR_STAT_EL_BLK); /* id status array name */
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_eb);
- break;
- case EX_NODE_SET:
- strcpy(id_table, VAR_NS_IDS);
- strcpy(id_dim, DIM_NUM_NS);
- strcpy(stat_table, VAR_NS_STAT);
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_ns);
- break;
- case EX_SIDE_SET:
- strcpy(id_table, VAR_SS_IDS);
- strcpy(id_dim, DIM_NUM_SS);
- strcpy(stat_table, VAR_SS_STAT);
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_ss);
- break;
- case EX_ELEM_MAP:
- strcpy(id_table, VAR_EM_PROP(1));
- strcpy(id_dim, DIM_NUM_EM);
- strcpy(stat_table, "");
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_em);
- break;
- case EX_NODE_MAP:
- strcpy(id_table, VAR_NM_PROP(1));
- strcpy(id_dim, DIM_NUM_NM);
- strcpy(stat_table, "");
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_nm);
- break;
- case EX_EDGE_BLOCK:
- strcpy(id_table, VAR_ID_ED_BLK);
- strcpy(id_dim, DIM_NUM_ED_BLK);
- strcpy(stat_table, VAR_STAT_ED_BLK);
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_ed);
- break;
- case EX_FACE_BLOCK:
- strcpy(id_table, VAR_ID_FA_BLK);
- strcpy(id_dim, DIM_NUM_FA_BLK);
- strcpy(stat_table, VAR_STAT_FA_BLK);
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_fa);
- break;
- case EX_EDGE_SET:
- strcpy(id_table, VAR_ES_IDS);
- strcpy(id_dim, DIM_NUM_ES);
- strcpy(stat_table, VAR_ES_STAT);
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_es);
- break;
- case EX_FACE_SET:
- strcpy(id_table, VAR_FS_IDS);
- strcpy(id_dim, DIM_NUM_FS);
- strcpy(stat_table, VAR_FS_STAT);
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_fs);
- break;
- case EX_ELEM_SET:
- strcpy(id_table, VAR_ELS_IDS);
- strcpy(id_dim, DIM_NUM_ELS);
- strcpy(stat_table, VAR_ELS_STAT);
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_els);
- break;
- case EX_EDGE_MAP:
- strcpy(id_table, VAR_EDM_PROP(1));
- strcpy(id_dim, DIM_NUM_EDM);
- strcpy(stat_table, "");
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_edm);
- break;
- case EX_FACE_MAP:
- strcpy(id_table, VAR_FAM_PROP(1));
- strcpy(id_dim, DIM_NUM_FAM);
- strcpy(stat_table, "");
- tmp_stats = ex_get_stat_ptr (exoid, &exoII_fam);
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg,
- "Error: unsupported id array type %d for file id %d",
- id_type, exoid);
- ex_err("ex_id_lkup",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ( (tmp_stats->id_vals == NULL) || (!(tmp_stats->valid_ids)) ) {
-
- /* first time thru or id arrays haven't been completely filled yet */
-
- /* get size of id array */
-
- /* First get dimension id of id array */
- if ((status = nc_inq_dimid(exoid,id_dim,&dimid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate id array dimension in file id %d",
- exoid);
- ex_err("ex_id_lkup",errmsg,exerrval);
- return (EX_FATAL);
- }
-
-
- /* Next get value of dimension */
- if ((status = nc_inq_dimlen(exoid,dimid,&dim_len)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s array length in file id %d",
- id_table,exoid);
- ex_err("ex_id_lkup",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* get variable id of id array */
- if ((status = nc_inq_varid (exoid, id_table, &varid)) != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to locate %s array in file id %d",
- id_table, exoid);
- ex_err("ex_id_lkup",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- /* allocate space for id array and initialize to zero to ensure
- that the higher bits don't contain garbage while copy from ints */
- if (!(id_vals = calloc(dim_len,sizeof(int64_t)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for %s array for file id %d",
- id_table,exoid);
- ex_err("ex_id_lkup",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (ex_int64_status(exoid) & EX_IDS_INT64_API) {
- status = nc_get_var_longlong (exoid, varid, (long long*)id_vals);
- }
- else {
- int *id_vals_int;
- if (!(id_vals_int = malloc(dim_len*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for temporary array id_vals_int for file id %d",
- exoid);
- ex_err("ex_id_lkup",errmsg,exerrval);
- return (EX_FATAL);
- }
- status = nc_get_var_int(exoid, varid, (int *)id_vals_int);
- if (status == NC_NOERR) {
- for (i=0;i<dim_len;i++)
- id_vals[i] = (int64_t) id_vals_int[i];
- }
- free(id_vals_int);
- }
-
- if (status != NC_NOERR) {
- exerrval = status;
- sprintf(errmsg,
- "Error: failed to get %s array from file id %d",
- id_table,exoid);
- ex_err("ex_id_lkup",errmsg,exerrval);
- free(id_vals);
- return (EX_FATAL);
- }
-
- /* check if values in stored arrays are filled with non-zeroes */
- filled = TRUE;
- for (i=0;i<dim_len;i++) {
- if (id_vals[i] == EX_INVALID_ID || id_vals[i] == NC_FILL_INT) {
- filled = FALSE;
- break; /* id array hasn't been completely filled with valid ids yet */
- }
- }
-
- if (filled) {
- tmp_stats->valid_ids = TRUE;
- tmp_stats->num = dim_len;
- tmp_stats->id_vals = id_vals;
- }
-
- } else {
- id_vals = tmp_stats->id_vals;
- dim_len = tmp_stats->num;
- }
-
- /* Do a linear search through the id array to find the array value
- corresponding to the passed index number */
-
- for (i=0;i<dim_len;i++) {
- if (id_vals[i] == num)
- break; /* found the id requested */
- }
- if (i >= dim_len) /* failed to find id number */
- {
- if ( !(tmp_stats->valid_ids) ) {
- free (id_vals);
- }
- exerrval = EX_LOOKUPFAIL;
- return(EX_LOOKUPFAIL); /*if we got here, the id array value doesn't exist */
- }
-
- /* Now check status array to see if object is null */
-
- /* get variable id of status array */
- if (nc_inq_varid (exoid, stat_table, &varid) == NC_NOERR) {
- /* if status array exists, use it, otherwise assume object exists
- to be backward compatible */
-
- if ( (tmp_stats->stat_vals == NULL) || (!(tmp_stats->valid_stat)) ) {
- /* first time thru or status arrays haven't been filled yet */
-
- /* allocate space for new status array */
-
- if (!(stat_vals = malloc(dim_len*sizeof(int)))) {
- exerrval = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate memory for %s array for file id %d",
- id_table,exoid);
- ex_err("ex_id_lkup",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if ((status = nc_get_var_int (exoid, varid, stat_vals)) != NC_NOERR) {
- exerrval = status;
- free(stat_vals);
- sprintf(errmsg,
- "Error: failed to get %s array from file id %d",
- stat_table,exoid);
- ex_err("ex_id_lkup",errmsg,exerrval);
- return (EX_FATAL);
- }
-
- if (tmp_stats->valid_ids) {
- /* status array is valid only if ids are valid */
- tmp_stats->valid_stat = TRUE;
- tmp_stats->stat_vals = stat_vals;
- }
-
- } else {
- stat_vals = tmp_stats->stat_vals;
- }
-
- if (stat_vals[i] == 0) /* is this object null? */ {
- exerrval = EX_NULLENTITY;
- if ( !(tmp_stats->valid_stat) ) {
- free (stat_vals);
- }
- if ( !(tmp_stats->valid_ids) ) {
- if (id_vals) free (id_vals);
- }
- return(-((int)i+1)); /* return index into id array (1-based) */
- }
- }
- if ( !(tmp_stats->valid_ids) ) {
- if (id_vals) free (id_vals);
- if (stat_vals) free (stat_vals);
- }
- return(i+1); /* return index into id array (1-based) */
-}
-
-/******************************************************************************
-*
-* ex_get_stat_ptr - returns a pointer to a structure of object ids
-*
-*****************************************************************************/
-
-/*! this routine returns a pointer to a structure containing the ids of
- * element blocks, node sets, or side sets according to exoid; if there
- * is not a structure that matches the exoid, one is created
- */
-
-struct obj_stats *ex_get_stat_ptr (int exoid, struct obj_stats **obj_ptr)
-
-{
- struct obj_stats *tmp_ptr;
-
- tmp_ptr = *obj_ptr;
-
- while (tmp_ptr) {
- if ( (tmp_ptr)->exoid == exoid) {
- break;
- }
- tmp_ptr = (tmp_ptr)->next;
- }
-
- if (!tmp_ptr) { /* exoid not found */
- tmp_ptr = (struct obj_stats *) calloc (1, sizeof(struct obj_stats));
- tmp_ptr->exoid = exoid;
- tmp_ptr->next = *obj_ptr;
- tmp_ptr->id_vals = 0;
- tmp_ptr->stat_vals = 0;
- tmp_ptr->num = 0;
- tmp_ptr->valid_ids = 0;
- tmp_ptr->valid_stat = 0;
- *obj_ptr = tmp_ptr;
- }
-
- return (tmp_ptr);
-}
-
-/******************************************************************************
-*
-* ex_rm_stat_ptr - removes a pointer to a structure of object ids
-*
-*****************************************************************************/
-
-/*! this routine removes a pointer to a structure containing the ids of
- * element blocks, node sets, or side sets according to exoid; this
- * is necessary to clean up because netCDF reuses file ids; should be
- * called from ex_close
- */
-
-void ex_rm_stat_ptr (int exoid, struct obj_stats **obj_ptr)
-
-{
- struct obj_stats *last_head_list_ptr, *tmp_ptr;
-
- tmp_ptr = *obj_ptr;
- last_head_list_ptr = *obj_ptr; /* save last head pointer */
-
- while (tmp_ptr ) /* Walk linked list of file ids/vals */
- {
- if (exoid == tmp_ptr->exoid ) /* linear search for exodus file id */
- {
- if (tmp_ptr == *obj_ptr) /* Are we at the head of the list? */
- *obj_ptr = (*obj_ptr)->next; /* yes, reset ptr to head of list */
- else /* no, remove this record from chain*/
- last_head_list_ptr->next=tmp_ptr->next;
- if (tmp_ptr->id_vals != NULL)
- free(tmp_ptr->id_vals); /* free up memory */
- if (tmp_ptr->stat_vals != NULL)
- free(tmp_ptr->stat_vals);
- free(tmp_ptr);
- break; /* Quit if found */
- }
- last_head_list_ptr = tmp_ptr; /* save last head pointer */
- tmp_ptr = tmp_ptr->next; /* Loop back if not */
- }
-}
-
-/* structures to hold number of blocks of that type for each file id */
-static struct list_item* ed_ctr_list = 0; /* edge blocks */
-static struct list_item* fa_ctr_list = 0; /* face blocks */
-static struct list_item* eb_ctr_list = 0; /* element blocks */
-/* structures to hold number of sets of that type for each file id */
-static struct list_item* ns_ctr_list = 0; /* node sets */
-static struct list_item* es_ctr_list = 0; /* edge sets */
-static struct list_item* fs_ctr_list = 0; /* face sets */
-static struct list_item* ss_ctr_list = 0; /* side sets */
-static struct list_item* els_ctr_list = 0; /* element sets */
-/* structures to hold number of maps of that type for each file id */
-static struct list_item* nm_ctr_list = 0; /* node maps */
-static struct list_item* edm_ctr_list = 0; /* edge maps */
-static struct list_item* fam_ctr_list = 0; /* face maps */
-static struct list_item* em_ctr_list = 0; /* element maps */
-
-struct list_item** ex_get_counter_list(ex_entity_type obj_type)
-{
- switch(obj_type) {
- case EX_ELEM_BLOCK:
- return &eb_ctr_list;
- case EX_NODE_SET:
- return &ns_ctr_list;
- case EX_SIDE_SET:
- return &ss_ctr_list;
- case EX_ELEM_MAP:
- return &em_ctr_list;
- case EX_NODE_MAP:
- return &nm_ctr_list;
- case EX_EDGE_BLOCK:
- return &ed_ctr_list;
- case EX_FACE_BLOCK:
- return &fa_ctr_list;
- case EX_EDGE_SET:
- return &es_ctr_list;
- case EX_FACE_SET:
- return &fs_ctr_list;
- case EX_ELEM_SET:
- return &els_ctr_list;
- case EX_EDGE_MAP:
- return &edm_ctr_list;
- case EX_FACE_MAP:
- return &fam_ctr_list;
- default:
- return (NULL);
- }
-}
-
-/******************************************************************************
-*
-* ex_inc_file_item - increment file item
-*
-*****************************************************************************/
-
-
-/*! this routine sets up a structure to track and increment a counter for
- * each open exodus file. it is designed to be used by the routines
- * ex_put_elem_block() and ex_put_set_param(),
- * to keep track of the number of element blocks, and each type of set,
- * respectively, for each open exodus II file.
- *
- * The list structure is used as follows:
- *
- * ptr -----------> list item structure
- * -------------------
- * exodus file id
- * item value (int)
- * ptr to next (NULL if last)
- *
- *
- * NOTE: since netCDF reuses its file ids, and a user may open and close any
- * number of files in one application, items must be taken out of the
- * linked lists in each of the above routines. these should be called
- * after ncclose().
- */
-
-int ex_inc_file_item( int exoid, /* file id */
- struct list_item **list_ptr)/* ptr to ptr to list_item */
-
-{
- struct list_item* tlist_ptr;
-
-
- /* printf("[f] list: %ld, *list: %ld \n", list_ptr, *list_ptr); */
- tlist_ptr = *list_ptr; /* use temp list ptr to walk linked list */
-
- while (tlist_ptr ) /* Walk linked list of file ids/vals */
- {
- if (exoid == tlist_ptr->exo_id ) /* linear search for exodus file id */
- break; /* Quit if found */
- tlist_ptr = tlist_ptr->next; /* Loop back if not */
- }
-
- if (!tlist_ptr ) /* ptr NULL? */
- { /* yes, new file id */
- /* allocate space for new structure record */
- tlist_ptr = (struct list_item*) calloc(1,sizeof(struct list_item));
- tlist_ptr->exo_id = exoid; /* insert file id */
- tlist_ptr->next = *list_ptr; /* insert into head of list */
- *list_ptr = tlist_ptr; /* fix up new head of list */
- }
-
-/* printf("[f] tlist: %ld *tlist: %ld **tlist: %ld\n",
- tlist_ptr,*tlist_ptr,(*tlist_ptr)->value, (*tlist_ptr)->next); */
-
-
- return(tlist_ptr->value++);
-
-}
-
-/*****************************************************************************
-*
-* ex_get_file_item - increment file item
-*
-*****************************************************************************/
-
-
-/*! this routine accesses a structure to track and increment a counter for
- * each open exodus file. it is designed to be used by the routines
- * ex_put_elem_block(), and ex_put_set_param(),
- * to get the number of element blocks, or a type of set,
- * respectively, for an open exodus II file.
- *
- * The list structure is used as follows:
- *
- * ptr -----------> list item structure
- * -------------------
- * exodus file id
- * item value (int)
- * ptr to next (NULL if last)
- *
- *
- * NOTE: since netCDF reuses its file ids, and a user may open and close any
- * number of files in one application, items must be taken out of the
- * linked lists in each of the above routines. these should be called
- * after ncclose().
- */
-
-int ex_get_file_item( int exoid, /* file id */
- struct list_item **list_ptr)/* ptr to ptr to list_item */
-
-{
- struct list_item* tlist_ptr;
-
- /* printf("[f] list: %ld, *list: %ld \n", list_ptr, *list_ptr); */
- tlist_ptr = *list_ptr; /* use temp list ptr to walk linked list */
-
-
- while (tlist_ptr ) /* Walk linked list of file ids/vals */
- {
- if (exoid == tlist_ptr->exo_id ) /* linear search for exodus file id */
- break; /* Quit if found */
- tlist_ptr = tlist_ptr->next; /* Loop back if not */
- }
-
- if (!tlist_ptr ) /* ptr NULL? */
- { /* yes, Error: file id not found*/
- return(-1);
- }
-
-/* printf("[f] list: %ld *list: %ld **list: %ld\n",
- list_ptr,*list_ptr,(*list_ptr)->value, (*list_ptr)->next); */
-
- return(tlist_ptr->value);
-}
-
-/*****************************************************************************
-*
-* ex_rm_file_item - remove file item
-*
-*****************************************************************************/
-
-
-/*! this routine removes a structure to track and increment a counter for
- * each open exodus file.
- *
- * The list structure is used as follows:
- *
- * ptr -----------> list item structure
- * -------------------
- * exodus file id
- * item value (int)
- * ptr to next (NULL if last)
- *
- *
- * NOTE: since netCDF reuses its file ids, and a user may open and close any
- * number of files in one application, items must be taken out of the
- * linked lists in each of the above routines. these should be called
- * after ncclose().
- */
-
-void ex_rm_file_item( int exoid, /* file id */
- struct list_item **list_ptr)/* ptr to ptr to list_item */
-
-{
- struct list_item *last_head_list_ptr, *tlist_ptr;
-
- /* printf("[f] list: %ld, *list: %ld \n", list_ptr, *list_ptr); */
- tlist_ptr = *list_ptr;
- last_head_list_ptr = *list_ptr; /* save last head pointer */
- /* printf("[f] last head list: %ld\n",last_head_list_ptr); */
-
- while (tlist_ptr ) /* Walk linked list of file ids/vals */
- {
- if (exoid == tlist_ptr->exo_id ) /* linear search for exodus file id */
- {
- if (tlist_ptr == *list_ptr) /* Are we at the head of the list? */
- *list_ptr = (*list_ptr)->next; /* yes, reset ptr to head of list */
- else /* no, remove this record from chain*/
- last_head_list_ptr->next=tlist_ptr->next;
- free(tlist_ptr); /* free up memory */
- break; /* Quit if found */
- }
- last_head_list_ptr = tlist_ptr; /* save last head pointer */
- tlist_ptr = tlist_ptr->next; /* Loop back if not */
- }
-
-/* printf("[f] list: %ld *list: %ld **list: %ld\n",
- list_ptr,*list_ptr,(*list_ptr)->value, (*list_ptr)->next); */
-
-}
-
-/*****************************************************************************
-*
-* ex_get_num_props - get number of properties
-*
-*****************************************************************************/
-int ex_get_num_props (int exoid, ex_entity_type obj_type)
-{
- int cntr, varid;
- char var_name[MAX_VAR_NAME_LENGTH+1];
- char errmsg[MAX_ERR_LENGTH];
-
- cntr = 0;
-
- /* loop until there is not a property variable defined; the name of */
- /* the variables begin with an increment of 1 ("xx_prop1") so use cntr+1 */
-
- while (TRUE)
- {
- switch (obj_type)
- {
- case EX_ELEM_BLOCK:
- strcpy (var_name, VAR_EB_PROP(cntr+1));
- break;
- case EX_EDGE_BLOCK:
- strcpy (var_name, VAR_ED_PROP(cntr+1));
- break;
- case EX_FACE_BLOCK:
- strcpy (var_name, VAR_FA_PROP(cntr+1));
- break;
- case EX_NODE_SET:
- strcpy (var_name, VAR_NS_PROP(cntr+1));
- break;
- case EX_EDGE_SET:
- strcpy (var_name, VAR_ES_PROP(cntr+1));
- break;
- case EX_FACE_SET:
- strcpy (var_name, VAR_FS_PROP(cntr+1));
- break;
- case EX_SIDE_SET:
- strcpy (var_name, VAR_SS_PROP(cntr+1));
- break;
- case EX_ELEM_SET:
- strcpy (var_name, VAR_ELS_PROP(cntr+1));
- break;
- case EX_ELEM_MAP:
- strcpy (var_name, VAR_EM_PROP(cntr+1));
- break;
- case EX_FACE_MAP:
- strcpy (var_name, VAR_FAM_PROP(cntr+1));
- break;
- case EX_EDGE_MAP:
- strcpy (var_name, VAR_EDM_PROP(cntr+1));
- break;
- case EX_NODE_MAP:
- strcpy (var_name, VAR_NM_PROP(cntr+1));
- break;
- default:
- exerrval = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- obj_type, exoid);
- ex_err("ex_get_prop_names",errmsg,exerrval);
- return(EX_FATAL);
- }
-
- if (nc_inq_varid (exoid, var_name, &varid) != NC_NOERR) {
- /* no variable with this name; return cntr which is now the number of */
- /* properties for this type of entity */
- return (cntr);
- }
- cntr++;
- }
-}
-
-int ex_get_cpu_ws(void)
-{
- return(sizeof(float));
-}
-
-
-/* swap - interchange v[i] and v[j] */
-static void ex_swap (int v[], int i, int j)
-{
- int temp;
-
- temp = v[i];
- v[i] = v[j];
- v[j] = temp;
-}
-
-static void ex_swap64 (int64_t v[], int64_t i, int64_t j)
-{
- int64_t temp;
-
- temp = v[i];
- v[i] = v[j];
- v[j] = temp;
-}
-
-/*!
- * The following 'indexed qsort' routine is modified from Sedgewicks
- * algorithm It selects the pivot based on the median of the left,
- * right, and center values to try to avoid degenerate cases ocurring
- * when a single value is chosen. It performs a quicksort on
- * intervals down to the EX_QSORT_CUTOFF size and then performs a final
- * insertion sort on the almost sorted final array. Based on data in
- * Sedgewick, the EX_QSORT_CUTOFF value should be between 5 and 20.
- *
- * See Sedgewick for further details
- * Define DEBUG_QSORT at the top of this file and recompile to compile
- * in code that verifies that the array is sorted.
- */
-
-#define EX_QSORT_CUTOFF 12
-
-static int ex_int_median3(int v[], int iv[], int left, int right)
-{
- ssize_t center;
- center = ((ssize_t)left + (ssize_t)right) / 2;
-
- if (v[iv[left]] > v[iv[center]])
- ex_swap(iv, left, center);
- if (v[iv[left]] > v[iv[right]])
- ex_swap(iv, left, right);
- if (v[iv[center]] > v[iv[right]])
- ex_swap(iv, center, right);
-
- ex_swap(iv, center, right-1);
- return iv[right-1];
-}
-
-static int64_t ex_int_median3_64(int64_t v[], int64_t iv[], int64_t left, int64_t right)
-{
- int64_t center;
- center = (left + right) / 2;
-
- if (v[iv[left]] > v[iv[center]])
- ex_swap64(iv, left, center);
- if (v[iv[left]] > v[iv[right]])
- ex_swap64(iv, left, right);
- if (v[iv[center]] > v[iv[right]])
- ex_swap64(iv, center, right);
-
- ex_swap64(iv, center, right-1);
- return iv[right-1];
-}
-
-static void ex_int_iqsort(int v[], int iv[], int left, int right)
-{
- int pivot;
- int i, j;
-
- if (left + EX_QSORT_CUTOFF <= right) {
- pivot = ex_int_median3(v, iv, left, right);
- i = left;
- j = right - 1;
-
- for ( ; ; ) {
- while (v[iv[++i]] < v[pivot]);
- while (v[iv[--j]] > v[pivot]);
- if (i < j) {
- ex_swap(iv, i, j);
- } else {
- break;
- }
- }
-
- ex_swap(iv, i, right-1);
- ex_int_iqsort(v, iv, left, i-1);
- ex_int_iqsort(v, iv, i+1, right);
- }
-}
-
-static void ex_int_iqsort64(int64_t v[], int64_t iv[], int64_t left, int64_t right)
-{
- int64_t pivot;
- int64_t i, j;
-
- if (left + EX_QSORT_CUTOFF <= right) {
- pivot = ex_int_median3_64(v, iv, left, right);
- i = left;
- j = right - 1;
-
- for ( ; ; ) {
- while (v[iv[++i]] < v[pivot]);
- while (v[iv[--j]] > v[pivot]);
- if (i < j) {
- ex_swap64(iv, i, j);
- } else {
- break;
- }
- }
-
- ex_swap64(iv, i, right-1);
- ex_int_iqsort64(v, iv, left, i-1);
- ex_int_iqsort64(v, iv, i+1, right);
- }
-}
-
-static void ex_int_iisort(int v[], int iv[], int N)
-{
- int i,j;
- int ndx = 0;
- int small;
- int tmp;
-
- small = v[iv[0]];
- for (i = 1; i < N; i++) {
- if (v[iv[i]] < small) {
- small = v[iv[i]];
- ndx = i;
- }
- }
- /* Put smallest value in slot 0 */
- ex_swap(iv, 0, ndx);
-
- for (i=1; i <N; i++) {
- tmp = iv[i];
- for (j=i; v[tmp] < v[iv[j-1]]; j--) {
- iv[j] = iv[j-1];
- }
- iv[j] = tmp;
- }
-}
-
-static void ex_int_iisort64(int64_t v[], int64_t iv[], int64_t N)
-{
- int64_t i,j;
- int64_t ndx = 0;
- int64_t small;
- int64_t tmp;
-
- small = v[iv[0]];
- for (i = 1; i < N; i++) {
- if (v[iv[i]] < small) {
- small = v[iv[i]];
- ndx = i;
- }
- }
- /* Put smallest value in slot 0 */
- ex_swap64(iv, 0, ndx);
-
- for (i=1; i <N; i++) {
- tmp = iv[i];
- for (j=i; v[tmp] < v[iv[j-1]]; j--) {
- iv[j] = iv[j-1];
- }
- iv[j] = tmp;
- }
-}
-
-void ex_iqsort(int v[], int iv[], int N)
-{
- ex_int_iqsort(v, iv, 0, N-1);
- ex_int_iisort(v, iv, N);
-
-#if defined(DEBUG_QSORT)
- fprintf(stderr, "Checking sort of %d values\n", N+1);
- int i;
- for (i=1; i < N; i++) {
- assert(v[iv[i-1]] <= v[iv[i]]);
- }
-#endif
-}
-
-void ex_iqsort64(int64_t v[], int64_t iv[], int64_t N)
-{
- ex_int_iqsort64(v, iv, 0, N-1);
- ex_int_iisort64(v, iv, N);
-
-#if defined(DEBUG_QSORT)
- fprintf(stderr, "Checking sort of %d values\n", N+1);
- int i;
- for (i=1; i < N; i++) {
- assert(v[iv[i-1]] <= v[iv[i]]);
- }
-#endif
-}
-
-/*!
- * Determine whether the new large model storage is being used in this
- * file, or old method. Basically, the difference is whether the
- * coordinates and nodal variables are stored in a blob (xyz
- * components together) or as a variable per component per
- * nodal_variable.
- */
-int ex_large_model(int exoid)
-{
- static int message_output = FALSE;
- if (exoid < 0) {
- /* If exoid not specified, then query is to see if user specified
- * the large model via an environment variable
- */
- char *option = getenv("EXODUS_LARGE_MODEL");
- if (option != NULL) {
- if (option[0] == 'n' || option[0] == 'N') {
- if (!message_output) {
- fprintf(stderr,
- "EXODUSII: Small model size selected via EXODUS_LARGE_MODEL environment variable\n");
- message_output = TRUE;
- }
- return 0;
- } else {
- if (!message_output) {
- fprintf(stderr,
- "EXODUSII: Large model size selected via EXODUS_LARGE_MODEL environment variable\n");
- message_output = TRUE;
- }
- return 1;
- }
- } else {
- return EXODUS_DEFAULT_SIZE; /* Specified in exodusII_int.h */
- }
-
- } else {
- /* See if the ATT_FILESIZE attribute is defined in the file */
- int file_size = 0;
- if (nc_get_att_int(exoid, NC_GLOBAL, ATT_FILESIZE, &file_size) != NC_NOERR) {
- /* Variable not found; default is 0 */
- file_size = 0;
- }
- return file_size;
- }
-}
-
-int ex_get_dimension(int exoid, const char* DIMENSION, const char *label,
- size_t *count, int *dimid, const char *routine)
-{
- char errmsg[MAX_ERR_LENGTH];
- int status;
-
- *count = 0;
- *dimid = -1;
-
- if ((status = nc_inq_dimid(exoid, DIMENSION, dimid)) != NC_NOERR) {
- exerrval = status;
- if (routine != NULL) {
- if (status == NC_EBADDIM) {
- sprintf(errmsg,
- "Warning: no %s defined in file id %d",
- label, exoid);
- ex_err(routine, errmsg,exerrval);
-
- } else {
- sprintf(errmsg,
- "Error: failed to locate number of %s in file id %d",
- label, exoid);
- ex_err(routine,errmsg,exerrval);
- }
- }
- return status;
- }
-
- if ((status = nc_inq_dimlen (exoid, *dimid, count)) != NC_NOERR) {
- exerrval = status;
- if (routine != NULL) {
- sprintf(errmsg,
- "Error: failed to get number of %s in file id %d",
- label, exoid);
- ex_err(routine,errmsg,exerrval);
- return -1;
- }
- }
- return status;
-}
-
-/* Deprecated. do not use */
-size_t ex_header_size(int exoid)
-{
- return 0;
-}
-
-/* type = 1 for integer, 2 for real, 3 for character */
-void ex_compress_variable(int exoid, int varid, int type)
-{
-#if !defined(NOT_NETCDF4)
-
- struct file_item* file = ex_find_file_item(exoid);
-
- if (!file ) {
- char errmsg[MAX_ERR_LENGTH];
- exerrval = EX_BADFILEID;
- sprintf(errmsg,"Error: unknown file id %d for ex_compress_variable().",exoid);
- ex_err("ex_compress_variable",errmsg,exerrval);
- }
- else {
- int deflate_level = file->compression_level;
- int compress = 1;
- int shuffle = file->shuffle;
-#if 0
- if (type == 2)
- shuffle = 0;
-#endif
- if (deflate_level > 0 && (file->file_type == 2 || file->file_type == 3)) {
- nc_def_var_deflate(exoid, varid, shuffle, compress, deflate_level);
- }
- }
-#endif
-}
diff --git a/cbind/test/CMakeLists.txt b/cbind/test/CMakeLists.txt
deleted file mode 100644
index 5374f7f..0000000
--- a/cbind/test/CMakeLists.txt
+++ /dev/null
@@ -1,85 +0,0 @@
-ADD_DEFINITIONS(-DUSING_CMAKE)
-
-SET( cbind_TEST_SRCS
- CreateEdgeFace.c
- ReadEdgeFace.c
-)
-
-# Always report error/warning messages during testing:
-# The ex_opts call precipitates the EXTRA_INCLUDE below.
-SET( CMAKE_TESTDRIVER_BEFORE_TESTMAIN
- " ex_opts( EX_VERBOSE );\n"
-)
-CREATE_TEST_SOURCELIST( ExoIICTests
- ExoIICTests.cxx
- ${cbind_TEST_SRCS}
- EXTRA_INCLUDE exodusII_test.h
- )
-
-ADD_EXECUTABLE( ExoIICTests ${ExoIICTests} )
-TARGET_LINK_LIBRARIES( ExoIICTests exoIIv2c )
-
-SET( TestsToRun ${ExoIICTests} )
-REMOVE( TestsToRun ExoIICTests.cxx )
-
-FOREACH( test ${TestsToRun} )
- GET_FILENAME_COMPONENT(TName ${test} NAME_WE)
- ADD_TEST( ${TName} ${EXECUTABLE_OUTPUT_PATH}/ExoIICTests ${TName} )
-ENDFOREACH( test )
-ADD_TEST( CreateEdgeFaceWithConcats ${EXECUTABLE_OUTPUT_PATH}/ExoIICTests CreateEdgeFace -pcab -pcset -pvpax )
-ADD_TEST( ReadEdgeFaceWithConcats ${EXECUTABLE_OUTPUT_PATH}/ExoIICTests ReadEdgeFace )
-
-# ===============================================
-
-SET( cbind_OLDTESTS
- testwt
- testwtd
- testrd
- testrd1
- testrdd
- testwt1
- testwt2
- testwtm
- testwt_ss
- testwt_nossnsdf
- testrd_ss
- testrdwt
- testcp
- testcp_ln
- testcp_nl
- testcpd
- testwt_clb
- testwt_nc
- testrd_nc
- testwt-zeroe
- testwt-zeron
- testwt-one-attrib
- testwt-partial
- testrd-nsided
- testwt-nsided
- testrd-nfaced
- testwt-nfaced
- create_mesh
- rd_wt_mesh
- test_nemesis
- testwt-long-name
- testrd-long-name)
-
-CONFIGURE_FILE(
- ${CMAKE_CURRENT_SOURCE_DIR}/testall.in
- ${CMAKE_CURRENT_BINARY_DIR}/testall
- @ONLY
-)
-
-FOREACH ( testName ${cbind_OLDTESTS} )
- ADD_EXECUTABLE( ${testName} ${testName}.c )
- TARGET_LINK_LIBRARIES( ${testName} exoIIv2c )
-ENDFOREACH ( testName )
-
-#SET( EXECUTABLE_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} )
-ADD_CUSTOM_TARGET( check
- COMMAND /bin/csh ${CMAKE_CURRENT_BINARY_DIR}/testall
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- DEPENDS ${cbind_OLDTESTS}
-)
-
diff --git a/cbind/test/CreateEdgeFace.c b/cbind/test/CreateEdgeFace.c
deleted file mode 100644
index 06a34da..0000000
--- a/cbind/test/CreateEdgeFace.c
+++ /dev/null
@@ -1,621 +0,0 @@
-#include "exodusII.h"
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#define EX_TEST_FILENAME "edgeFace.exo"
-
-/* ======== Coordinates and connectivity ========= */
-double coordsX[] = {
- 0., 0., 0., 0.,
- 3., 3., 3., 3.,
- -3., -3., -3., -3.
-};
-
-double coordsY[] = {
- -1., 1., 1., -1.,
- -3., 3., 3., -3.,
- -3., 3., 3., -3.
-};
-
-double coordsZ[] = {
- -1., -1., 1., 1.,
- -3., -3., 3., 3.,
- -3., -3., 3., 3.
-};
-
-const char* coordsNames[] = { "X", "Y", "Z" };
-
-int conn1[] = {
- 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 1, 2, 3, 4
-};
-
-int conn2[] = { 1, 2, 3, 5 };
-
-int econn1[] = {
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 1, 2, 3, 4, 17, 18, 19, 20
-};
-
-int fconn1[] = {
- 4, 5, 7, 6, 3, 2,
- 8, 9, 11, 10, 1, 3
-};
-
-int ebconn1[] = {
- 1, 2,
- 2, 3,
- 3, 4,
- 4, 1,
- 5, 6,
- 6, 7,
- 7, 8,
- 8, 5,
- 1, 5,
- 2, 6,
- 4, 8,
- 3, 7,
- 9, 10,
- 10, 11,
- 11, 12,
- 12, 9,
- 9, 1,
- 10, 2,
- 12, 4,
- 11, 3
-};
-
-int fbconn1[] = {
- 12, 11, 10, 9,
- 5, 6, 7, 8
-};
-
-int fbconn2[] = {
- 1, 2, 3, 4
-};
-
-int fbconn3[] = {
- 1, 5, 6, 2,
- 3, 7, 8, 4,
- 2, 6, 7, 3,
- 4, 8, 5, 1,
- 9, 1, 2, 10,
- 11, 3, 4, 12,
- 10, 2, 3, 11,
- 12, 4, 1, 9
-};
-
-int nmap1[] = {
- 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
-};
-
-int edmap1[] = {
- 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
-};
-
-int famap1[] = {
- 2, 1, 4, 3, 6, 5, 7, 8, 9, 10, 11
-};
-
-int emap1[] = {
- 1, 2
-};
-
-const char* eblk_names[] = {
- "Eli_WALLACH",
- "Angelo_NOVI"
-};
-const char* edblk_names[] = { "Aldo_GIUFFRE" };
-const char* fablk_names[] = {
- "Livio_LORENZON",
- "Claudio_SCARCHILLI",
- "John_BARTHA"
-};
-
-const char* nmap_names[] = { "Luigi_PISTILLI" };
-const char* edmap_names[] = { "Antonio_CASALE" };
-const char* famap_names[] = { "Sandro_SCARCHILLI" };
-const char* emap_names[] = { "Benito_STEFANELLI" };
-
-/* ======== Sets ========= */
-int nset_nodes[] = {
- 5, 6, 9
-};
-
-int eset_edges[] = {
- 1, 2, 4, 15, 19, 20
-};
-
-int eset_orient[] = {
- +1, +1, +1, +1, +1, -1
-};
-
-double eset_df[] = {
- 2., 2., 0.5, 0.5, 1., 1.
-};
-
-int fset_faces[] = {
- 3, 9
-};
-
-int fset_orient[] = {
- +1, -1
-};
-
-int sset_elems[] = {
- 1, 1, 1, 2, 2
-};
-
-int sset_sides[] = {
- 1, 3, 5, 2, 4
-};
-
-int elset_elems[] = {
- 1,
- 2
-};
-
-const char* elset_names[] = {
- "Clint_EASTWOOD",
- "Lee_VAN_CLEEF"
-};
-
-const char* nset_names[] = { "Ennio_MORRICONE" };
-const char* eset_names[] = { "Rada_RASSIMOV" };
-const char* fset_names[] = { "Enzo_PETITO" };
-const char* sset_names[] = { "Luciano_VINCENZONI" };
-
-/* ======== Attributes ========= */
-const char* edge_attr_names1[] = {"Sergio_LEONE"};
-
-const char* face_attr_names1[] = {"GOOD"};
-const char* face_attr_names2[] = {"BAD"};
-const char* face_attr_names3[] = {"UGLY"};
-
-const char* elem_attr_names1[] = {
- "SPAGHETTI",
- "WESTERN"
-};
-
-double edge_attr_values1[] = {
- 1., 2., 3., 5., 7., 11., 13., 17., 19., 23.,
- 29., 31., 37., 41., 43., 47., 53., 59., 61., 67.
-};
-
-double face_attr_values1[] = {
- 71., 73.
-};
-
-double face_attr_values2[] = {
- 79.
-};
-
-double face_attr_values3[] = {
- 83., 89., 97., 101., 103., 107., 109., 113.
-};
-
-double elem_attr_values1[] = {
- 127., 101.,
- 137., 139.
-};
-
-/* ======== Results variables ========= */
-/* (2 time steps) */
-
-double vals_glo_var[2][2] = {
- { 36., 37. },
- { 42., 43. }
-};
-
-double vals_nod_var[2][12] = {
- { 0.1, 0.8, 0.0, 0.4, 0.3, 0.9, 0.8, 0.5, 0.3, 0.7, 0.4, 0.6 },
- { 0.7, 0.5, 0.3, 0.5, 0.2, 0.7, 0.9, 0.8, 0.0, 0.2, 0.3, 0.5 }
-} ;
-
-
-double vals_edge_var1eb1[2][20] = {
- { 20., 19., 18., 17., 16., 15., 14., 13., 12., 11., 10., 9., 8., 7., 6., 5., 4., 3., 2., 1. },
- { 21., 20., 19., 18., 17., 16., 15., 14., 13., 12., 11., 10., 9., 8., 7., 6., 5., 4., 3., 2. }
-};
-
-double vals_edge_var2eb1[2][20] = {
- { 1., 1., 0., 0., 1., 1., 2., 0., 2., 0., 1., 1., 1., 1., 0., 0., 2., 2., 2., 2. },
- { 1., 1., 0., 0., 1., 1., 2., 0., 2., 0., 1., 1., 1., 1., 0., 0., 2., 2., 2., 2. }
-};
-
-double vals_face_var1fb1[2][2] = {
- { 0, 1 },
- { 2, 0 }
-};
-
-double vals_face_var1fb3[2][8] = {
- { 1, 0, 2, 0, 3, 0, 4, 0 },
- { 0, 1, 0, 2, 0, 3, 0, 4 }
-};
-
-double vals_elem_var1eb1[2][2] = {
- { 8, 8 },
- { 0, -8 }
-};
-
-double vals_fset_var1fs1[2][2] = {
- { 1., 3. },
- { 9., 27. }
-};
-
-#define EXCHECK(funcall,errmsg)\
- if ( (funcall) < 0 ) \
- { \
- fprintf( stderr, errmsg ); \
- return 1; \
- }
-
-int ex_have_arg( int argc, char* argv[], const char* aname )
-{
- int i;
- for ( i = 0; i < argc; ++i )
- if ( ! strcmp( argv[i], aname ) )
- return 1;
- return 0;
-}
-
-int cCreateEdgeFace( int argc, char* argv[] )
-{
- int exoid;
- int appWordSize = 8;
- int diskWordSize = 8;
- /* int concatBlocks = ex_have_arg( argc, argv, "-pcab" ); */
- int concatSets = ex_have_arg( argc, argv, "-pcset" );
- int concatResult = ex_have_arg( argc, argv, "-pvpax" );
- double t;
-
- ex_init_params modelParams = {
- "CreateEdgeFace Test", /* title */
- 3, /* num_dim */
- 12, /* num_nodes */
- 20, /* num_edge */
- 1, /* num_edge_blk */
- 11, /* num_face */
- 3, /* num_face_blk */
- 3, /* num_elem */
- 2, /* num_elem_blk */
- 1, /* num_node_sets */
- 1, /* num_edge_sets */
- 1, /* num_face_sets */
- 1, /* num_side_sets */
- 2, /* num_elem_sets */
- 1, /* num_node_map */
- 1, /* num_edge_map */
- 1, /* num_face_map */
- 1, /* num_elem_map */
- };
-
- ex_block edgeBlocks[1];
- ex_block faceBlocks[3];
- ex_block elemBlocks[2];
-
- ex_var_params varParams;
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
- edgeBlocks[0].type = EX_EDGE_BLOCK;
- edgeBlocks[0].id = 100;
- edgeBlocks[0].num_entry = 20;
- edgeBlocks[0].num_nodes_per_entry = 2;
- edgeBlocks[0].num_attribute = 1;
- strcpy(edgeBlocks[0].topology, "EDGE2");
-
- faceBlocks[0].type = EX_FACE_BLOCK;
- faceBlocks[0].id = 500;
- faceBlocks[0].num_entry = 2;
- faceBlocks[0].num_nodes_per_entry = 4;
- faceBlocks[0].num_attribute = 1;
- strcpy(faceBlocks[0].topology, "QUAD4");
-
- faceBlocks[1].type = EX_FACE_BLOCK;
- faceBlocks[1].id = 600;
- faceBlocks[1].num_entry = 1;
- faceBlocks[1].num_nodes_per_entry = 4;
- faceBlocks[1].num_attribute = 1;
- strcpy(faceBlocks[1].topology, "QUAD4");
-
- faceBlocks[2].type = EX_FACE_BLOCK;
- faceBlocks[2].id = 700;
- faceBlocks[2].num_entry = 8;
- faceBlocks[2].num_nodes_per_entry = 4;
- faceBlocks[2].num_attribute = 1;
- strcpy(faceBlocks[2].topology, "QUAD4");
-
- elemBlocks[0].type = EX_ELEM_BLOCK;
- elemBlocks[0].id = 200;
- elemBlocks[0].num_entry = 2;
- elemBlocks[0].num_nodes_per_entry = 8;
- elemBlocks[0].num_edges_per_entry = 12;
- elemBlocks[0].num_faces_per_entry = 6;
- elemBlocks[0].num_attribute = 2;
- strcpy(elemBlocks[0].topology, "HEX8");
-
- elemBlocks[1].type = EX_ELEM_BLOCK;
- elemBlocks[1].id = 201;
- elemBlocks[1].num_entry = 1;
- elemBlocks[1].num_nodes_per_entry = 4;
- elemBlocks[1].num_edges_per_entry = 0;
- elemBlocks[1].num_faces_per_entry = 0;
- elemBlocks[1].num_attribute = 0;
- strcpy(elemBlocks[1].topology, "TET4");
-
- varParams.edge_var_tab = (int*)malloc(2 * sizeof(int));
- varParams.face_var_tab = (int*)malloc(3 * sizeof(int));
- varParams.elem_var_tab = (int*)malloc(2 * sizeof(int));
- varParams.nset_var_tab = (int*)0;
- varParams.eset_var_tab = (int*)0;
- varParams.fset_var_tab = (int*)malloc(1 * sizeof(int));
- varParams.sset_var_tab = (int*)0;
- varParams.elset_var_tab = (int*)0;
-
- varParams.num_glob = 2;
- varParams.num_node = 1;
- varParams.num_edge = 2;
- varParams.edge_var_tab[0] = 1;
- varParams.edge_var_tab[1] = 1;
- varParams.num_face = 1;
- varParams.face_var_tab[0] = 1;
- varParams.face_var_tab[1] = 1;
- varParams.face_var_tab[2] = 1;
- varParams.num_elem = 1;
- varParams.elem_var_tab[0] = 1;
- varParams.elem_var_tab[1] = 0;
- varParams.num_nset = 0;
- varParams.num_eset = 0;;
- varParams.num_fset = 1;
- varParams.fset_var_tab[0] = 1;
- varParams.num_sset = 0;
- varParams.num_elset = 0;
-
- exoid = ex_create( EX_TEST_FILENAME, EX_CLOBBER, &appWordSize, &diskWordSize );
- if ( exoid <= 0 )
- {
- fprintf( stderr, "Unable to open \"%s\" for writing.\n", EX_TEST_FILENAME );
- return 1;
- }
-
- EXCHECK( ex_put_init_ext( exoid, &modelParams ),
- "Unable to initialize database.\n" );
-
- {
- int blk;
- for ( blk = 0; blk < modelParams.num_edge_blk; ++blk ) {
- EXCHECK( ex_put_block_param( exoid, edgeBlocks[blk]), "Unable to write edge block" );
- }
- for ( blk = 0; blk < modelParams.num_face_blk; ++blk ) {
- EXCHECK( ex_put_block_param( exoid, faceBlocks[blk]), "Unable to write face block" );
- }
- for ( blk = 0; blk < modelParams.num_elem_blk; ++blk ) {
- EXCHECK( ex_put_block_param( exoid, elemBlocks[blk]), "Unable to write elem block" );
- }
- }
-
- EXCHECK( ex_put_coord( exoid, (void*)coordsX, (void*)coordsY, (void*)coordsZ ),
- "Unable to write coordinates.\n" );
-
- EXCHECK( ex_put_coord_names( exoid, (char**)coordsNames ),
- "Unable to write coordinate names.\n" );
-
- /* =============== Connectivity ================== */
- /* *** NEW API *** */
- EXCHECK( ex_put_conn( exoid, EX_EDGE_BLOCK, edgeBlocks[0].id, ebconn1, 0, 0 ),
- "Unable to write edge block connectivity.\n" );
-
- /* *** NEW API *** */
- EXCHECK( ex_put_conn( exoid, EX_FACE_BLOCK, faceBlocks[0].id, fbconn1, 0, 0 ),
- "Unable to write face block 1 connectivity.\n" );
- EXCHECK( ex_put_conn( exoid, EX_FACE_BLOCK, faceBlocks[1].id, fbconn2, 0, 0 ),
- "Unable to write face block 2 connectivity.\n" );
- EXCHECK( ex_put_conn( exoid, EX_FACE_BLOCK, faceBlocks[2].id, fbconn3, 0, 0 ),
- "Unable to write face block 3 connectivity.\n" );
-
- /* *** NEW API *** */
- EXCHECK( ex_put_conn( exoid, EX_ELEM_BLOCK, elemBlocks[0].id, conn1, econn1, fconn1 ),
- "Unable to write elem block 1 connectivity.\n" );
-
- /* *** NEW API *** */
- EXCHECK( ex_put_conn( exoid, EX_ELEM_BLOCK, elemBlocks[1].id, conn2, 0, 0 ),
- "Unable to write elem block 2 connectivity.\n" );
-
- /* *** NEW API *** */
- EXCHECK( ex_put_names( exoid, EX_EDGE_BLOCK, (char**)edblk_names ), "Unable to write edge block names.\n" );
- EXCHECK( ex_put_names( exoid, EX_FACE_BLOCK, (char**)fablk_names ), "Unable to write face block names.\n" );
- EXCHECK( ex_put_names( exoid, EX_ELEM_BLOCK, (char**) eblk_names ), "Unable to write element block names.\n" );
-
- /* =============== Number Maps ================== */
- /* *** NEW API *** */
- EXCHECK( ex_put_num_map( exoid, EX_NODE_MAP, 300, nmap1 ), "Unable to write node map.\n" );
- EXCHECK( ex_put_num_map( exoid, EX_EDGE_MAP, 800, edmap1 ), "Unable to write edge map.\n" );
- EXCHECK( ex_put_num_map( exoid, EX_FACE_MAP, 900, famap1 ), "Unable to write face map.\n" );
- EXCHECK( ex_put_num_map( exoid, EX_ELEM_MAP, 400, emap1 ), "Unable to write element map.\n" );
-
- /* *** NEW API *** */
- EXCHECK( ex_put_names( exoid, EX_NODE_MAP, (char**) nmap_names ), "Unable to write node map names.\n" );
- EXCHECK( ex_put_names( exoid, EX_EDGE_MAP, (char**)edmap_names ), "Unable to write edge map names.\n" );
- EXCHECK( ex_put_names( exoid, EX_FACE_MAP, (char**)famap_names ), "Unable to write face map names.\n" );
- EXCHECK( ex_put_names( exoid, EX_ELEM_MAP, (char**) emap_names ), "Unable to write element map names.\n" );
-
- /* =============== Attribute names ================ */
- /* *** NEW API *** */
- EXCHECK( ex_put_attr_names( exoid, EX_EDGE_BLOCK, edgeBlocks[0].id, (char**)edge_attr_names1 ),
- "Unable to write edge block 1 attribute names.\n" );
-
- /* *** NEW API *** */
- EXCHECK( ex_put_attr_names( exoid, EX_FACE_BLOCK, faceBlocks[0].id, (char**)face_attr_names1 ),
- "Unable to write face block 1 attribute names.\n" );
- EXCHECK( ex_put_attr_names( exoid, EX_FACE_BLOCK, faceBlocks[1].id, (char**)face_attr_names2 ),
- "Unable to write face block 1 attribute names.\n" );
- EXCHECK( ex_put_attr_names( exoid, EX_FACE_BLOCK, faceBlocks[2].id, (char**)face_attr_names3 ),
- "Unable to write face block 1 attribute names.\n" );
-
- /* *** NEW API *** */
- EXCHECK( ex_put_attr_names( exoid, EX_ELEM_BLOCK, elemBlocks[0].id, (char**)elem_attr_names1 ),
- "Unable to write elem block 1 attribute names.\n" );
-
- /* =============== Attribute values =============== */
- /* *** NEW API *** */
- EXCHECK( ex_put_attr( exoid, EX_EDGE_BLOCK, edgeBlocks[0].id, edge_attr_values1 ),
- "Unable to write edge block 1 attribute values.\n" );
-
- /* *** NEW API *** */
- EXCHECK( ex_put_attr( exoid, EX_FACE_BLOCK, faceBlocks[0].id, face_attr_values1 ),
- "Unable to write face block 1 attribute values.\n" );
- EXCHECK( ex_put_attr( exoid, EX_FACE_BLOCK, faceBlocks[1].id, face_attr_values2 ),
- "Unable to write face block 1 attribute values.\n" );
- EXCHECK( ex_put_attr( exoid, EX_FACE_BLOCK, faceBlocks[2].id, face_attr_values3 ),
- "Unable to write face block 1 attribute values.\n" );
-
- /* *** NEW API *** */
- EXCHECK( ex_put_attr( exoid, EX_ELEM_BLOCK, elemBlocks[0].id, elem_attr_values1 ),
- "Unable to write elem block 1 attribute values.\n" );
-
- /* =============== Set parameters ================= */
- /* *** NEW API *** */
- EXCHECK( ex_put_names( exoid, EX_NODE_SET, (char**)nset_names ), "Unable to write node set names.\n" );
- EXCHECK( ex_put_names( exoid, EX_EDGE_SET, (char**)eset_names ), "Unable to write edge set names.\n" );
- EXCHECK( ex_put_names( exoid, EX_FACE_SET, (char**)fset_names ), "Unable to write face set names.\n" );
- EXCHECK( ex_put_names( exoid, EX_SIDE_SET, (char**)sset_names ), "Unable to write side set names.\n" );
- EXCHECK( ex_put_names( exoid, EX_ELEM_SET, (char**)elset_names ), "Unable to write element set names.\n" );
-
- {
- ex_set allSets[1+1+1+1+2];
-
- ex_set *nodeSets = &allSets[0];
- ex_set *edgeSets = &allSets[1];
- ex_set *faceSets = &allSets[2];
- ex_set *sideSets = &allSets[3];
- ex_set *elemSets = &allSets[4];
-
- nodeSets[0].type = EX_NODE_SET;
- nodeSets[0].id = 1000;
- nodeSets[0].num_entry = 3;
- nodeSets[0].num_distribution_factor = 0;
- nodeSets[0].entry_list = nset_nodes;
- nodeSets[0].extra_list = NULL;
- nodeSets[0].distribution_factor_list = NULL;
-
- edgeSets[0].type = EX_EDGE_SET;
- edgeSets[0].id = 1200;
- edgeSets[0].num_entry = 6;
- edgeSets[0].num_distribution_factor = 6;
- edgeSets[0].entry_list = eset_edges;
- edgeSets[0].extra_list = eset_orient;
- edgeSets[0].distribution_factor_list = eset_df;
-
- faceSets[0].type = EX_FACE_SET;
- faceSets[0].id = 1400;
- faceSets[0].num_entry = 2;
- faceSets[0].num_distribution_factor = 0;
- faceSets[0].entry_list = fset_faces;
- faceSets[0].extra_list = fset_orient;
- faceSets[0].distribution_factor_list = NULL;
-
- sideSets[0].type = EX_SIDE_SET;
- sideSets[0].id = 1400;
- sideSets[0].num_entry = 5;
- sideSets[0].num_distribution_factor = 0;
- sideSets[0].entry_list = sset_elems;
- sideSets[0].extra_list = sset_sides;
- sideSets[0].distribution_factor_list = NULL;
-
- elemSets[0].type = EX_ELEM_SET;
- elemSets[0].id = 1800;
- elemSets[0].num_entry = 1;
- elemSets[0].num_distribution_factor = 0;
- elemSets[0].entry_list = &elset_elems[0];
- elemSets[0].extra_list = NULL;
- elemSets[0].distribution_factor_list = NULL;
-
- elemSets[1].type = EX_ELEM_SET;
- elemSets[1].id = 1900;
- elemSets[1].num_entry = 1;
- elemSets[1].num_distribution_factor = 0;
- elemSets[1].entry_list = &elset_elems[1];
- elemSets[1].extra_list = NULL;
- elemSets[1].distribution_factor_list = NULL;
-
- if ( concatSets ) {
- EXCHECK( ex_put_sets(exoid, 1+2+1+1+1, allSets), "Unable to output concatenated sets.\n" );
- } else {
- EXCHECK( ex_put_sets( exoid, 1, nodeSets), "Unable to write node sets.\n" );
- EXCHECK( ex_put_sets( exoid, 1, edgeSets), "Unable to write edge sets.\n" );
- EXCHECK( ex_put_sets( exoid, 1, faceSets), "Unable to write face sets.\n" );
- EXCHECK( ex_put_sets( exoid, 1, sideSets), "Unable to write side sets.\n" );
- EXCHECK( ex_put_sets( exoid, 2, elemSets), "Unable to write element sets.\n" );
- }
- }
-
- /* =============== Result variable params ========= */
- /* *** NEW API *** */
- if ( concatResult ) {
- EXCHECK( ex_put_all_var_param_ext( exoid, &varParams ),
- "Unable to write result variable parameter information.\n" );
- } else {
- EXCHECK( ex_put_var_param( exoid, "G", 2 ),
- "Unable to write global result variable parameters.\n" );
- EXCHECK( ex_put_var_param( exoid, "N", 1 ),
- "Unable to write nodal result variable parameters.\n" );
- EXCHECK( ex_put_var_param( exoid, "E", 1 ),
- "Unable to write element result variable parameters.\n" );
- EXCHECK( ex_put_var_param( exoid, "L", 2 ),
- "Unable to write edge result variable parameters.\n" );
- EXCHECK( ex_put_var_param( exoid, "F", 1 ),
- "Unable to write face result variable parameters.\n" );
- EXCHECK( ex_put_var_param( exoid, "A", 1 ),
- "Unable to write faceset result variable parameters.\n" );
- }
-
- /* =============== Result variable names ========== */
- /* *** NEW API *** */
- EXCHECK( ex_put_var_name( exoid, "G", 1, "CALIBER" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_var_name( exoid, "g", 2, "GUNPOWDER" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_var_name( exoid, "N", 1, "RHO" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_var_name( exoid, "l", 1, "GAMMA1" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_var_name( exoid, "L", 2, "GAMMA2" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_var_name( exoid, "f", 1, "PHI" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_var_name( exoid, "E", 1, "EPSTRN" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_var_name( exoid, "A", 1, "PHI0" ), "Unable to write variable name.\n" );
-
- /* =============== Result variable values ========= */
- t = 1.;
- /* *** NEW API *** */
- EXCHECK( ex_put_time( exoid, 1, &t ), "Unable to write time value.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_GLOBAL, 1, 0/*N/A*/, 2, vals_glo_var[0] ), "Unable to write global var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_EDGE_BLOCK, 1, 100, 20, vals_edge_var1eb1[0] ), "Unable to write edge block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_EDGE_BLOCK, 2, 100, 20, vals_edge_var2eb1[0] ), "Unable to write edge block 1 var 2.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_FACE_BLOCK, 1, 500, 2, vals_face_var1fb1[0] ), "Unable to write face block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_FACE_BLOCK, 1, 700, 8, vals_face_var1fb3[0] ), "Unable to write face block 3 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_ELEM_BLOCK, 1, 200, 2, vals_elem_var1eb1[0] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_FACE_SET, 1, 1400, 2, vals_fset_var1fs1[0] ), "Unable to write face set 1 var 1.\n" );
-
- t = 2.;
- EXCHECK( ex_put_time( exoid, 2, &t ), "Unable to write time value.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_GLOBAL, 1, 0/*N/A*/, 2, vals_glo_var[1] ), "Unable to write global var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_EDGE_BLOCK, 1, 100, 20, vals_edge_var1eb1[1] ), "Unable to write edge block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_EDGE_BLOCK, 2, 100, 20, vals_edge_var2eb1[1] ), "Unable to write edge block 1 var 2.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_FACE_BLOCK, 1, 500, 2, vals_face_var1fb1[1] ), "Unable to write face block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_FACE_BLOCK, 1, 700, 8, vals_face_var1fb3[1] ), "Unable to write face block 3 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_ELEM_BLOCK, 1, 200, 2, vals_elem_var1eb1[1] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_FACE_SET, 1, 1400, 2, vals_fset_var1fs1[1] ), "Unable to write face set 1 var 1.\n" );
-
- EXCHECK( ex_put_nodal_var( exoid, 1, 1, 12, vals_nod_var[0] ), "Unable to write nodal var 1.\n" );
- EXCHECK( ex_put_nodal_var( exoid, 2, 1, 12, vals_nod_var[1] ), "Unable to write nodal var 1.\n" );
-
- EXCHECK( ex_close( exoid ),
- "Unable to close database.\n" );
-
- return 0;
-}
-
-#if !defined(USING_CMAKE)
-int main( int argc, char* argv[] )
-{
- return cCreateEdgeFace(argc, argv);
-}
-#endif
diff --git a/cbind/test/Imakefile b/cbind/test/Imakefile
deleted file mode 100644
index 362c3cb..0000000
--- a/cbind/test/Imakefile
+++ /dev/null
@@ -1,121 +0,0 @@
-### Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-### DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-### retains certain rights in this software.
-###
-### Redistribution and use in source and binary forms, with or without
-### modification, are permitted provided that the following conditions are
-### met:
-###
-### * Redistributions of source code must retain the above copyright
-### notice, this list of conditions and the following disclaimer.
-###
-### * Redistributions in binary form must reproduce the above
-### copyright notice, this list of conditions and the following
-### disclaimer in the documentation and/or other materials provided
-### with the distribution.
-###
-### * Neither the name of Sandia Corporation nor the names of its
-### contributors may be used to endorse or promote products derived
-### from this software without specific prior written permission.
-###
-### THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-### "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-### LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-### A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-### OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-### SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-### LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-### DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-### THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-### (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-### OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-###
-
-### Imakefile ---
-
-INCLUDES = -I../include
-
-EXOIITEST = -Wl,-R../src -L../src -lexodus
-LOCALEXO = ../src/libexodus.a
-LIBS = $(LOCALEXO) -L$(USRLIBDIR) $(NETCDF) $(EXTRANETCDFLIB)
-
-#if defined(ParallelAwareExodus)
-PARTEST = testrd_par
-#endif
-
-PROGS = testwt testwtd testrd testrd1 testrdd testwt1 testwt2 testwtm \
- testwt_ss testwt_nossnsdf testrd_ss testrdwt testcp testcpd testcp_nl \
- testcp_ln testwt_clb testwt_nc testrd_nc testwt-zeroe testwt-zeron \
- testwt-one-attrib create_mesh rd_wt_mesh \
- testwt-partial testwt-nsided testrd-nsided testwt-nfaced \
- testrd-nfaced testwt-long-name testrd-long-name \
- oned twod MakeTestData test_nemesis $(PARTEST)
-#if 0
- CreateEdgeFace ReadEdgeFace
-#endif
-
-all:: check
-
-#if defined(ParallelAwareExodus)
-LOCALPAREXO = ../parallel/libexodus_par.a
-PLIBS = $(LOCALPAREXO) $(LOCALEXO) -L$(USRLIBDIR) $(NETCDF) $(EXTRANETCDFLIB)
-
-NormalProgramTarget(testrd_par, testrd_par.o, $(LOCALEXO), /**/, $(PLIBS))
-#endif
-
-NormalProgramTarget(oned, oned.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(twod, twod.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(MakeTestData,MakeTestData.o, $(LOCALEXO), /**/, $(LIBS))
-
-NormalProgramTarget(testwt, testwt.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt_clb,testwt_clb.o,$(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwtd, testwtd.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testrd, testrd.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testrd1, testrd1.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testrdd, testrdd.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt1, testwt1.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt2, testwt2.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwtm, testwtm.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt_ss, testwt_ss.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt_nossnsdf, testwt_nossnsdf.o, $(LOCALEXO), /**/, $(LIBS))
-
-NormalProgramTarget(testrd_ss, testrd_ss.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testrdwt, testrdwt.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testcp, testcp.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testcpd, testcpd.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testcp_nl ,testcp_nl.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testcp_ln ,testcp_ln.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt_nc, testwt_nc.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testrd_nc, testrd_nc.o, $(LOCALEXO), /**/, $(LIBS))
-
-NormalProgramTarget(testwt-long-name,testwt-long-name.o,$(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testrd-long-name,testrd-long-name.o,$(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt-zeroe, testwt-zeroe.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt-zeron, testwt-zeron.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt-one-attrib, testwt-one-attrib.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt-partial, testwt-partial.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt-nsided, testwt-nsided.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testrd-nsided, testrd-nsided.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testwt-nfaced, testwt-nfaced.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(testrd-nfaced, testrd-nfaced.o, $(LOCALEXO), /**/, $(LIBS))
-
-NormalProgramTarget(create_mesh, create_mesh.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(rd_wt_mesh, rd_wt_mesh.o, $(LOCALEXO), /**/, $(LIBS))
-
-NormalProgramTarget(CreateEdgeFace, CreateEdgeFace.o, $(LOCALEXO), /**/, $(LIBS))
-NormalProgramTarget(ReadEdgeFace, ReadEdgeFace.o, $(LOCALEXO), /**/, $(LIBS))
-
-NormalProgramTarget(test_nemesis, test_nemesis.o, $(LOCALEXO), /**/, $(LIBS))
-
-testall: testall.in1 $(CONFIGDIR)/$(MACROFILE)
- rm -f testall
- $(ETCDIR)/MsubCmd +R"@<" -R">@" testall.in1 >testall
-
-test: check
-check: $(PROGS) testall
- csh -f ./testall
-
-ExtraStuffToClean(*.res)
-ExtraStuffToClean(*.exo)
-ExtraStuffToClean(test.output)
-ExtraStuffToClean(testall)
diff --git a/cbind/test/MakeTestData.c b/cbind/test/MakeTestData.c
deleted file mode 100644
index 659ee2c..0000000
--- a/cbind/test/MakeTestData.c
+++ /dev/null
@@ -1,929 +0,0 @@
-#include "exodusII.h"
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-
-#if 0
-int mymode = EX_MAPS_INT64_DB|EX_MAPS_INT64_API|EX_BULK_INT64_DB|EX_BULK_INT64_API|EX_IDS_INT64_API|EX_IDS_INT64_DB;
-typedef int64_t INT;
-#else
-int mymode = 0;
-typedef int INT;
-#endif
-
-#define EX_TEST_FILENAME "ExodusTestData.e"
-
-/* ================ Coordinate Frames ================ */
-int cf_ids[2] = {20, 13};
-double pt_coords[9*2] = {1,0,0, 1,0,1, 2,0,0,
- 0,0,0, 1,0,0, 0,1,0};
-char tags[2]={'r', 'c'};
-
-/* ======== Coordinates and connectivity ========= */
-double coordsX[] = {
- 0., 0., 0., 0.,
- 3., 3., 3., 3.,
- -3., -3., -3., -3.
-};
-
-double coordsY[] = {
- -1., 1., 1., -1.,
- -3., 3., 3., -3.,
- -3., 3., 3., -3.
-};
-
-double coordsZ[] = {
- -1., -1., 1., 1.,
- -3., -3., 3., 3.,
- -3., -3., 3., 3.
-};
-
-const char* coordsNames[] = { "X", "Y", "Z" };
-
-INT conn1[] = {
- 1, 2, 3, 4, 5, 6, 7, 8,
- 9, 10, 11, 12, 1, 2, 3, 4
-};
-
-INT conn2[] = { 1, 2, 3, 5 };
-
-INT conn3[] = { 12, 11, 10, 9 };
-
-INT conn4[] = {1, 3, 5, 7, 9, 11}; /* Sphere */
-
-INT conn5[] = {12, 8, 11, 7, 10, 6, 9, 5}; /* Beam */
-
-INT econn1[] = {
- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
- 13, 14, 15, 16, 1, 2, 3, 4, 17, 18, 19, 20
-};
-
-INT fconn1[] = {
- 4, 5, 7, 6, 3, 2,
- 8, 9, 11, 10, 1, 3
-};
-
-INT ebconn1[] = {
- 1, 2,
- 2, 3,
- 3, 4,
- 4, 1,
- 5, 6,
- 6, 7,
- 7, 8,
- 8, 5,
- 1, 5,
- 2, 6,
- 4, 8,
- 3, 7,
- 9, 10,
- 10, 11,
- 11, 12,
- 12, 9,
- 9, 1,
- 10, 2,
- 12, 4,
- 11, 3
-};
-
-INT fbconn1[] = {
- 12, 11, 10, 9,
- 5, 6, 7, 8
-};
-
-INT fbconn2[] = {
- 1, 2, 3, 4
-};
-
-INT fbconn3[] = {
- 1, 5, 6, 2,
- 3, 7, 8, 4,
- 2, 6, 7, 3,
- 4, 8, 5, 1, 9, 1, 2, 10,
- 11, 3, 4, 12,
- 10, 2, 3, 11,
- 12, 4, 1, 9
-};
-
-INT nmap1[] = {
- 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
-};
-
-INT nmap2[] = {
- 120, 110, 100, 90, 80, 70, 60, 50, 40, 30, 20, 10
-};
-
-INT edmap1[] = {
- 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
-};
-
-
-INT famap1[] = {
- 2, 1, 4, 3, 6, 5, 7, 8, 9, 10, 11
-};
-
-INT emap1[] = {
- 10, 20, 30, 44, 91,92,93,94,95,96, 88, 87, 86, 85
-};
-
-const char* eblk_names[] = {
- "Eli_WALLACH",
- "Angelo_NOVI",
- "A_Shell",
- "Some_Sphere_Elements",
- "Reinforcement"
-};
-
-const char* edblk_names[] = { "Aldo_GIUFFRE" };
-const char* fablk_names[] = {
- "Livio_LORENZON",
- "Claudio_SCARCHILLI",
- "John_BARTHA"
-};
-
-const char* nmap_names[] = { "Luigi_PISTILLI" };
-const char* edmap_names[] = { "Antonio_CASALE" };
-const char* famap_names[] = { "Sandro_SCARCHILLI" };
-const char* emap_names[] = { "Benito_STEFANELLI" };
-
-/* ======== Sets ========= */
-INT nset_nodes[] = {
- 5, 6, 9
-};
-
-INT eset_edges[] = {
- 1, 2, 4, 15, 19, 20
-};
-
-INT eset_orient[] = {
- +1, +1, +1, +1, +1, -1
-};
-
-double eset_df[] = {
- 2., 2., 0.5, 0.5, 1., 1.
-};
-
-INT fset_faces[] = {
- 3, 9
-};
-
-INT fset_orient[] = {
- +1, -1
-};
-
-INT sset_elems[] = {
- 1, 1, 1, 2, 2
-};
-
-INT sset_sides[] = {
- 1, 3, 5, 2, 4
-};
-
-INT sset1_elems[] = {
- 4, 4, 4
-};
-
-INT sset1_sides[] = {
- 1, 3, 5
-};
-
-INT elset_elems[] = {
- 1,
- 2
-};
-
-const char* elset_names[] = {
- "Clint_EASTWOOD",
- "Lee_VAN_CLEEF"
-};
-
-const char* nset_names[] = { "Ennio_MORRICONE" };
-const char* eset_names[] = { "Rada_RASSIMOV" };
-const char* fset_names[] = { "Enzo_PETITO" };
-const char* sset_names[] = { "Luciano_VINCENZONI", "A_Very_Long_Name_That_Tests_Capability_for_Long_Names" };
-
-/* ======== Attributes ========= */
-const char* node_attr_names[] = {"Influence_Diameter"};
-const char* edge_attr_names1[] = {"Sergio_LEONE"};
-
-const char* face_attr_names1[] = {"GOOD"};
-const char* face_attr_names2[] = {"BAD"};
-const char* face_attr_names3[] = {"UGLY"};
-
-const char* elem_attr_names1[] = {
- "SPAGHETTI",
- "WESTERN"
-};
-
-const char* elem_attr_names3[] = {
- "Thickness"
-};
-
-const char* elem_attr_names4[] = {
- "Radius", "Volume"
-};
-
-const char* elem_attr_names5[] = {
- "Area", "I_1", "I_2", "J", "V_x", "V_y", "V_z"
-};
-
-const char* elem_var_names[] = {"my_stress_xx_1",
- "my_stress_yy_1",
- "my_stress_zz_1",
- "my_stress_xy_1",
- "my_stress_yz_1",
- "my_stress_zx_1",
- "my_stress_xx_2",
- "my_stress_yy_2",
- "my_stress_zz_2",
- "my_stress_xy_2",
- "my_stress_yz_2",
- "my_stress_zx_2",
- "von_mises_which_is_calculated_the_standard_way_from_stress",
- "tension"
-};
-
-const char* nset_var_names[] = {"var_name.xx",
- "var_name.yy",
- "var_name.zz",
- "var_name.xy",
- "var_name.yz",
- "var_name.zx"};
-
-const char* sset_var_names[] = {"stressxx",
- "stressyy",
- "stresszz",
- "stressxy",
- "stressyz",
- "stresszx"};
-
-double edge_attr_values1[] = {
- 1., 2., 3., 5., 7., 11., 13., 17., 19., 23.,
- 29., 31., 37., 41., 43., 47., 53., 59., 61., 67.
-};
-
-double node_attr_values[] = { 12., 11., 10., 9., 8., 7., 6., 5., 4., 3., 2., 1.};
-
-double face_attr_values1[] = {
- 71., 73.
-};
-
-double face_attr_values2[] = {
- 79.
-};
-
-double face_attr_values3[] = {
- 83., 89., 97., 101., 103., 107., 109., 113.
-};
-
-double elem_attr_values1[] = {
- 127., 101.,
- 137., 139.
-};
-
-double elem_attr_values4[] = {
- .10, 0.0,
- .11, 0.0,
- .12, 0.0,
- .13, 0.0,
- .14, 0.0,
- .15, 0.0
-};
-
-double elem_attr_values5[] = { /* 4 elements, 7 attributes/element */
- 1.0, 10.0, 11.0, 12.0, 0.0, 0.0, 1.0,
- 1.1, 10.1, 11.1, 12.1, 1.0, 0.0, 0.0,
- 1.2, 10.2, 11.2, 12.2, 0.0, 1.0, 0.0,
- 1.3, 10.3, 11.3, 12.3, 1.0, 1.0, 1.0
-};
-
-/* ======== Results variables ========= */
-/* (2 time steps) */
-
-double vals_glo_var[2][3] = {
- { 36., 37., 38.},
- { 42., 43., 44.}
-};
-
-double vals_nod_var[2][12] = {
- { 0.1, 0.8, 0.0, 0.4, 0.3, 0.9, 0.8, 0.5, 0.3, 0.7, 0.4, 0.6 },
- { 0.7, 0.5, 0.3, 0.5, 0.2, 0.7, 0.9, 0.8, 0.0, 0.2, 0.3, 0.5 }
-} ;
-
-
-double vals_edge_var1eb1[2][20] = {
- { 20., 19., 18., 17., 16., 15., 14., 13., 12., 11., 10., 9., 8., 7., 6., 5., 4., 3., 2., 1. },
- { 21., 20., 19., 18., 17., 16., 15., 14., 13., 12., 11., 10., 9., 8., 7., 6., 5., 4., 3., 2. }
-};
-
-double vals_edge_var2eb1[2][20] = {
- { 1., 1., 0., 0., 1., 1., 2., 0., 2., 0., 1., 1., 1., 1., 0., 0., 2., 2., 2., 2. },
- { 1., 1., 0., 0., 1., 1., 2., 0., 2., 0., 1., 1., 1., 1., 0., 0., 2., 2., 2., 2. }
-};
-
-double vals_face_var1fb1[2][2] = {
- { 0, 1 },
- { 2, 0 }
-};
-
-double vals_face_var1fb3[2][8] = {
- { 1, 0, 2, 0, 3, 0, 4, 0 },
- { 0, 1, 0, 2, 0, 3, 0, 4 }
-};
-
-double vals_elem_var[2][2*6*2] = {
- { 8.0, 8.0, 8.1, 8.1, 8.2, 8.2, 8.3, 8.3, 8.4, 8.4, 8.5, 8.5, 18.0, 18.0, 18.1, 18.1, 18.2, 18.2, 18.3, 18.3, 18.4, 18.4, 18.5, 18.5 },
- { -7.0, -7.0, -7.1, -7.1, -7.2, -7.2, -7.3, -7.3, -7.4, -7.4, -7.5, -7.5, -7.0, -17.0, -17.1, -17.1, -17.2, -17.2, -17.3, -17.3, -17.4, -17.4, -17.5, -17.5 }
-};
-
-double vals_elem_var1[2][1] = {
- { 88.8 },
- { 99.9 }
-};
-
-double vals_tension[2][4] = {
- { 1000., 2000., 3000., 4000. },
- { 2000., 4000., 6000., 8000. }
-};
-
-/* 2 time planes, 6 elements, 3 variables */
-double vals_elem_var2[2][6*3] = {
- { 1.01, 1.02, 1.03, 2.01, 2.02, 2.03, 3.01, 3.02, 3.03, 4.01, 4.02, 4.03, 5.01, 5.02, 5.03, 6.01, 6.02, 6.03 },
- {11.01,11.02,11.03,12.01,12.02,12.03,13.01,13.02,13.03,14.01,14.02,14.03,15.01,15.02,15.03,16.01,16.02,16.03 }
-};
-
-double vals_nset_var[2][3*6] = {
- { 8.0, 8.1, 8.2,
- 7.0, 7.1, 7.2,
- 6.0, 6.1, 6.2,
- 5.0, 5.1, 5.2,
- 4.0, 4.1, 4.2,
- 3.0, 3.1, 3.2},
- { -8.0, -8.1, -8.2,
- -7.0, -7.1, -7.2,
- -6.0, -6.1, -6.2,
- -5.0, -5.1, -5.2,
- -4.0, -4.1, -4.2,
- -3.0, -3.1, -3.2},
-};
-
-double vals_sset_var[2][5*6] = {
- { 18.0, 18.1, 18.2, 18.3, 18.4,
- 17.0, 17.1, 17.2, 17.3, 17.4,
- 16.0, 16.1, 16.2, 16.3, 16.4,
- 15.0, 15.1, 15.2, 15.3, 15.4,
- 14.0, 14.1, 14.2, 14.3, 14.4,
- 13.0, 13.1, 13.2, 13.3, 13.4},
- { -18.0, -18.1, -18.2, -18.3, -18.4,
- -17.0, -17.1, -17.2, -17.3, -17.4,
- -16.0, -16.1, -16.2, -16.3, -16.4,
- -15.0, -15.1, -15.2, -15.3, -15.4,
- -14.0, -14.1, -14.2, -14.3, -14.4,
- -13.0, -13.1, -13.2, -13.3, -13.4},
-};
-
-double vals_fset_var1fs1[2][2] = {
- { 1., 3. },
- { 9., 27. }
-};
-
-#define EXCHECK(funcall,errmsg)\
- if ( (funcall) < 0 ) \
- { \
- fprintf( stderr, errmsg ); \
- return 1; \
- }
-
-int ex_have_arg( int argc, char* argv[], const char* aname )
-{
- int i;
- for ( i = 0; i < argc; ++i )
- if ( ! strcmp( argv[i], aname ) )
- return 1;
- return 0;
-}
-
-int cCreateEdgeFace( int argc, char* argv[] )
-{
- int exoid;
- int appWordSize = 8;
- int diskWordSize = 8;
- int concatBlocks = ex_have_arg( argc, argv, "-pcab" );
- int concatSets = ex_have_arg( argc, argv, "-pcset" );
- int concatResult = ex_have_arg( argc, argv, "-pvpax" );
- double t;
- int i;
-
- ex_opts(EX_VERBOSE);
-
- ex_init_params modelParams = {
- "CreateEdgeFace Test", /* title */
- 3, /* num_dim */
- 12, /* num_nodes */
- 20, /* num_edge */
- 1, /* num_edge_blk */
- 11, /* num_face */
- 3, /* num_face_blk */
- 14, /* num_elem */
- 5, /* num_elem_blk */
- 1, /* num_node_sets */
- 1, /* num_edge_sets */
- 1, /* num_face_sets */
- 2, /* num_side_sets */
- 2, /* num_elem_sets */
- 1, /* num_node_map */
- 1, /* num_edge_map */
- 1, /* num_face_map */
- 1, /* num_elem_map */
- };
-
- ex_block_params blockParams;
- ex_var_params varParams;
-
- blockParams.edge_blk_id = (int*)malloc(1 * sizeof(INT));
- blockParams.num_edge_this_blk = (int*)malloc(1 * sizeof(int));
- blockParams.num_nodes_per_edge = (int*)malloc(1 * sizeof(int));
- blockParams.num_attr_edge = (int*)malloc(1 * sizeof(int));
- blockParams.face_blk_id = (int*)malloc(3 * sizeof(INT));
- blockParams.num_face_this_blk = (int*)malloc(3 * sizeof(int));
- blockParams.num_nodes_per_face = (int*)malloc(3 * sizeof(int));
- blockParams.num_attr_face = (int*)malloc(3 * sizeof(int));
- blockParams.elem_blk_id = (int*)malloc(5 * sizeof(INT));
- blockParams.num_elem_this_blk = (int*)malloc(5 * sizeof(int));
- blockParams.num_nodes_per_elem = (int*)malloc(5 * sizeof(int));
- blockParams.num_edges_per_elem = (int*)malloc(5 * sizeof(int));
- blockParams.num_faces_per_elem = (int*)malloc(5 * sizeof(int));
- blockParams.num_attr_elem = (int*)malloc(5 * sizeof(int));
-
- blockParams.edge_type = (char**)malloc(1 * sizeof(char*));
- blockParams.edge_type[0] = (char*)malloc((MAX_STR_LENGTH+1) * sizeof(char));
- blockParams.face_type = (char**)malloc(3 * sizeof(char*));
- blockParams.face_type[0] = (char*)malloc((MAX_STR_LENGTH+1) * sizeof(char));
- blockParams.face_type[1] = (char*)malloc((MAX_STR_LENGTH+1) * sizeof(char));
- blockParams.face_type[2] = (char*)malloc((MAX_STR_LENGTH+1) * sizeof(char));
- blockParams.elem_type = (char**)malloc(5 * sizeof(char*));
- blockParams.elem_type[0] = (char*)malloc((MAX_STR_LENGTH+1) * sizeof(char));
- blockParams.elem_type[1] = (char*)malloc((MAX_STR_LENGTH+1) * sizeof(char));
- blockParams.elem_type[2] = (char*)malloc((MAX_STR_LENGTH+1) * sizeof(char));
- blockParams.elem_type[3] = (char*)malloc((MAX_STR_LENGTH+1) * sizeof(char));
- blockParams.elem_type[4] = (char*)malloc((MAX_STR_LENGTH+1) * sizeof(char));
-
- ((INT*)blockParams.edge_blk_id)[0] = 100;
- blockParams.num_edge_this_blk[0] = 20;
- blockParams.num_nodes_per_edge[0] = 2;
- blockParams.num_attr_edge[0] = 1;
-
- ((INT*)blockParams.face_blk_id)[0] = 500;
- ((INT*)blockParams.face_blk_id)[1] = 600;
- ((INT*)blockParams.face_blk_id)[2] = 700;
- blockParams.num_face_this_blk[0] = 2;
- blockParams.num_face_this_blk[1] = 1;
- blockParams.num_face_this_blk[2] = 8;
- blockParams.num_nodes_per_face[0] = 4;
- blockParams.num_nodes_per_face[1] = 4;
- blockParams.num_nodes_per_face[2] = 4;
- blockParams.num_attr_face[0] = 1;
- blockParams.num_attr_face[1] = 1;
- blockParams.num_attr_face[2] = 1;
-
- ((INT*)blockParams.elem_blk_id)[0] = 200;
- ((INT*)blockParams.elem_blk_id)[1] = 201;
- ((INT*)blockParams.elem_blk_id)[2] = 100;
- ((INT*)blockParams.elem_blk_id)[3] = 500;
- ((INT*)blockParams.elem_blk_id)[4] = 2147483647;
-
- blockParams.num_elem_this_blk[0] = 2;
- blockParams.num_elem_this_blk[1] = 1;
- blockParams.num_elem_this_blk[2] = 1;
- blockParams.num_elem_this_blk[3] = 6;
- blockParams.num_elem_this_blk[4] = 4;
-
- blockParams.num_nodes_per_elem[0] = 8;
- blockParams.num_nodes_per_elem[1] = 4;
- blockParams.num_nodes_per_elem[2] = 4;
- blockParams.num_nodes_per_elem[3] = 1;
- blockParams.num_nodes_per_elem[4] = 2;
-
- blockParams.num_edges_per_elem[0] = 12;
- blockParams.num_edges_per_elem[1] = 0;
- blockParams.num_edges_per_elem[2] = 0;
- blockParams.num_edges_per_elem[3] = 0;
- blockParams.num_edges_per_elem[4] = 0;
-
- blockParams.num_faces_per_elem[0] = 6;
- blockParams.num_faces_per_elem[1] = 0;
- blockParams.num_faces_per_elem[2] = 0;
- blockParams.num_faces_per_elem[3] = 0;
- blockParams.num_faces_per_elem[4] = 0;
-
- blockParams.num_attr_elem[0] = 2;
- blockParams.num_attr_elem[1] = 0;
- blockParams.num_attr_elem[2] = 1;
- blockParams.num_attr_elem[3] = 2;
- blockParams.num_attr_elem[4] = 7;
-
- blockParams.define_maps = 0;
-
- strcpy(blockParams.edge_type[0], "EDGE2");
-
- strcpy(blockParams.face_type[0], "QUAD4");
- strcpy(blockParams.face_type[1], "QUAD4");
- strcpy(blockParams.face_type[2], "QUAD4");
-
- strcpy(blockParams.elem_type[0], "HEX8");
- strcpy(blockParams.elem_type[1], "TET4");
- strcpy(blockParams.elem_type[2], "SHELL");
- strcpy(blockParams.elem_type[3], "SPHERE");
- strcpy(blockParams.elem_type[4], "beam");
-
- varParams.edge_var_tab = (int*)malloc(2 * sizeof(int));
- varParams.face_var_tab = (int*)malloc(3 * sizeof(int));
- varParams.elem_var_tab = (int*)0;
- varParams.nset_var_tab = (int*)0;
- varParams.eset_var_tab = (int*)0;
- varParams.fset_var_tab = (int*)malloc(1 * sizeof(int));
- varParams.sset_var_tab = (int*)0;
- varParams.elset_var_tab = (int*)0;
-
- varParams.num_glob = 2;
- varParams.num_node = 1;
- varParams.num_edge = 2;
- varParams.edge_var_tab[0] = 1;
- varParams.edge_var_tab[1] = 1;
- varParams.num_face = 1;
- varParams.face_var_tab[0] = 1;
- varParams.face_var_tab[1] = 1;
- varParams.face_var_tab[2] = 1;
- varParams.num_elem = 1;
- varParams.num_nset = 0;
- varParams.num_eset = 0;;
- varParams.num_fset = 1;
- varParams.fset_var_tab[0] = 1;
- varParams.num_sset = 0;
- varParams.num_elset = 0;
-
- exoid = ex_create( EX_TEST_FILENAME, EX_CLOBBER|mymode, &appWordSize, &diskWordSize );
- if ( exoid <= 0 )
- {
- fprintf( stderr, "Unable to open \"%s\" for writing.\n", EX_TEST_FILENAME );
- return 1;
- }
-
- ex_set_max_name_length(exoid, 80);
-
- EXCHECK( ex_put_init_ext( exoid, &modelParams ),
- "Unable to initialize database.\n" );
-
- /* Add a coordinate frame just to give test coverage... */
- EXCHECK( ex_put_coordinate_frames(exoid, 2, cf_ids, pt_coords, tags),
- "Unable to output coordinate frame.\n");
-
- if ( concatBlocks ) {
- EXCHECK( ex_put_concat_all_blocks( exoid, &blockParams ),
- "Unable to initialize block params.\n" );
- } else {
- int blk;
- for ( blk = 0; blk < modelParams.num_edge_blk; ++blk ) {
- EXCHECK( ex_put_block( exoid, EX_EDGE_BLOCK, ((INT*)blockParams.edge_blk_id)[blk], blockParams.edge_type[blk],
- blockParams.num_edge_this_blk[blk], blockParams.num_nodes_per_edge[blk], 0, 0,
- blockParams.num_attr_edge[blk] ), "Unable to write edge block" );
- }
- for ( blk = 0; blk < modelParams.num_face_blk; ++blk ) {
- EXCHECK( ex_put_block( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[blk], blockParams.face_type[blk],
- blockParams.num_face_this_blk[blk], blockParams.num_nodes_per_face[blk], 0, 0,
- blockParams.num_attr_face[blk] ), "Unable to write face block" );
- }
- for ( blk = 0; blk < modelParams.num_elem_blk; ++blk ) {
- EXCHECK( ex_put_block( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[blk], blockParams.elem_type[blk],
- blockParams.num_elem_this_blk[blk], blockParams.num_nodes_per_elem[blk],
- blockParams.num_edges_per_elem[blk], blockParams.num_faces_per_elem[blk],
- blockParams.num_attr_elem[blk] ), "Unable to write elem block" );
- }
- }
-
- EXCHECK( ex_put_attr_param(exoid, EX_NODAL, 0, 1),
- "Unable to put nodal attributes.\n" );
-
- EXCHECK( ex_put_coord( exoid, (void*)coordsX, (void*)coordsY, (void*)coordsZ ),
- "Unable to write coordinates.\n" );
-
- EXCHECK( ex_put_coord_names( exoid, (char**)coordsNames ),
- "Unable to write coordinate names.\n" );
-
- /* =============== Connectivity ================== */
- EXCHECK( ex_put_conn( exoid, EX_EDGE_BLOCK, ((INT*)blockParams.edge_blk_id)[0], ebconn1, 0, 0 ),
- "Unable to write edge block connectivity.\n" );
-
- EXCHECK( ex_put_conn( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[0], fbconn1, 0, 0 ),
- "Unable to write face block 1 connectivity.\n" );
- EXCHECK( ex_put_conn( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[1], fbconn2, 0, 0 ),
- "Unable to write face block 2 connectivity.\n" );
- EXCHECK( ex_put_conn( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[2], fbconn3, 0, 0 ),
- "Unable to write face block 3 connectivity.\n" );
-
- EXCHECK( ex_put_conn( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[0], conn1, econn1, fconn1 ),
- "Unable to write elem block 1 connectivity.\n" );
- EXCHECK( ex_put_conn( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[1], conn2, 0, 0 ),
- "Unable to write elem block 2 connectivity.\n" );
- EXCHECK( ex_put_conn( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[2], conn3, 0, 0 ),
- "Unable to write elem block 3 connectivity.\n" );
- EXCHECK( ex_put_conn( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[3], conn4, 0, 0 ),
- "Unable to write elem block 4 connectivity.\n" );
- EXCHECK( ex_put_conn( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[4], conn5, 0, 0 ),
- "Unable to write elem block 5 connectivity.\n" );
-
- EXCHECK( ex_put_names( exoid, EX_EDGE_BLOCK, (char**)edblk_names ), "Unable to write edge block names.\n" );
- EXCHECK( ex_put_names( exoid, EX_FACE_BLOCK, (char**)fablk_names ), "Unable to write face block names.\n" );
- EXCHECK( ex_put_names( exoid, EX_ELEM_BLOCK, (char**) eblk_names ), "Unable to write element block names.\n" );
-
- /* =============== Number Maps ================== */
- EXCHECK( ex_put_num_map( exoid, EX_NODE_MAP, 300, nmap1 ), "Unable to write node map.\n" );
- EXCHECK( ex_put_num_map( exoid, EX_EDGE_MAP, 800, edmap1 ), "Unable to write edge map.\n" );
- EXCHECK( ex_put_num_map( exoid, EX_FACE_MAP, 900, famap1 ), "Unable to write face map.\n" );
- EXCHECK( ex_put_num_map( exoid, EX_ELEM_MAP, 400, emap1 ), "Unable to write element map.\n" );
-
- EXCHECK( ex_put_names( exoid, EX_NODE_MAP, (char**) nmap_names ), "Unable to write node map names.\n" );
- EXCHECK( ex_put_names( exoid, EX_EDGE_MAP, (char**)edmap_names ), "Unable to write edge map names.\n" );
- EXCHECK( ex_put_names( exoid, EX_FACE_MAP, (char**)famap_names ), "Unable to write face map names.\n" );
- EXCHECK( ex_put_names( exoid, EX_ELEM_MAP, (char**) emap_names ), "Unable to write element map names.\n" );
-
- /* =============== Id Maps ================== */
- EXCHECK( ex_put_id_map( exoid, EX_NODE_MAP, nmap2 ), "Unable to write node id map.\n" );
- EXCHECK( ex_put_id_map( exoid, EX_EDGE_MAP, edmap1 ), "Unable to write edge id map.\n" );
- EXCHECK( ex_put_id_map( exoid, EX_FACE_MAP, famap1 ), "Unable to write face id map.\n" );
- EXCHECK( ex_put_id_map( exoid, EX_ELEM_MAP, emap1 ), "Unable to write element id map.\n" );
-
- /* =============== Attribute names ================ */
- EXCHECK( ex_put_attr_names( exoid, EX_EDGE_BLOCK, ((INT*)blockParams.edge_blk_id)[0], (char**)edge_attr_names1 ),
- "Unable to write edge block 1 attribute names.\n" );
-
- EXCHECK( ex_put_attr_names( exoid, EX_NODAL, 0, (char**)node_attr_names),
- "Unable to write nodal attribute names.\n" );
-
- EXCHECK( ex_put_attr_names( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[0], (char**)face_attr_names1 ),
- "Unable to write face block 1 attribute names.\n" );
- EXCHECK( ex_put_attr_names( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[1], (char**)face_attr_names2 ),
- "Unable to write face block 1 attribute names.\n" );
- EXCHECK( ex_put_attr_names( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[2], (char**)face_attr_names3 ),
- "Unable to write face block 1 attribute names.\n" );
-
- EXCHECK( ex_put_attr_names( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[0], (char**)elem_attr_names1 ),
- "Unable to write elem block 1 attribute names.\n" );
- EXCHECK( ex_put_attr_names( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[2], (char**)elem_attr_names3 ),
- "Unable to write elem block 3 attribute names.\n" );
- EXCHECK( ex_put_attr_names( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[3], (char**)elem_attr_names4 ),
- "Unable to write elem block 4 attribute names.\n" );
- EXCHECK( ex_put_attr_names( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[4], (char**)elem_attr_names5 ),
- "Unable to write elem block 5 attribute names.\n" );
-
- /* =============== Attribute values =============== */
- EXCHECK( ex_put_attr( exoid, EX_EDGE_BLOCK, ((INT*)blockParams.edge_blk_id)[0], edge_attr_values1 ),
- "Unable to write edge block 1 attribute values.\n" );
- EXCHECK( ex_put_attr( exoid, EX_NODAL, 0, node_attr_values ),
- "Unable to write node attribute values.\n" );
-
- EXCHECK( ex_put_attr( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[0], face_attr_values1 ),
- "Unable to write face block 1 attribute values.\n" );
- EXCHECK( ex_put_attr( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[1], face_attr_values2 ),
- "Unable to write face block 1 attribute values.\n" );
- EXCHECK( ex_put_attr( exoid, EX_FACE_BLOCK, ((INT*)blockParams.face_blk_id)[2], face_attr_values3 ),
- "Unable to write face block 1 attribute values.\n" );
-
- EXCHECK( ex_put_attr( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[0], elem_attr_values1 ),
- "Unable to write elem block 1 attribute values.\n" );
- EXCHECK( ex_put_attr( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[2], elem_attr_values1 ),
- "Unable to write elem block 3 attribute values.\n" );
-
- for (i=0; i < 6; i++) {
- elem_attr_values4[2*i+1] = 4.0 / 3.0 * 3.14 * elem_attr_values4[2*i] * elem_attr_values4[2*i] * elem_attr_values4[2*i];
- }
- EXCHECK( ex_put_attr( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[3], elem_attr_values4 ),
- "Unable to write elem block 3 attribute values.\n" );
- EXCHECK( ex_put_attr( exoid, EX_ELEM_BLOCK, ((INT*)blockParams.elem_blk_id)[4], elem_attr_values5 ),
- "Unable to write elem block 4 attribute values.\n" );
-
- /* =============== Set parameters ================= */
- /* *** NEW API *** */
- EXCHECK( ex_put_names( exoid, EX_NODE_SET, (char**)nset_names ), "Unable to write node set names.\n" );
- EXCHECK( ex_put_names( exoid, EX_EDGE_SET, (char**)eset_names ), "Unable to write edge set names.\n" );
- EXCHECK( ex_put_names( exoid, EX_FACE_SET, (char**)fset_names ), "Unable to write face set names.\n" );
- EXCHECK( ex_put_names( exoid, EX_SIDE_SET, (char**)sset_names ), "Unable to write side set names.\n" );
- EXCHECK( ex_put_names( exoid, EX_ELEM_SET, (char**)elset_names ), "Unable to write element set names.\n" );
-
- if ( concatSets ) {
- ex_set_specs setParams;
-
- setParams.sets_ids = (int*)malloc(2*sizeof(INT));
- setParams.num_entries_per_set = (int*)malloc(2*sizeof(int));
- setParams.num_dist_per_set = (int*)malloc(2*sizeof(int));
- setParams.sets_entry_index = (int*)malloc(2*sizeof(int));
- setParams.sets_dist_index = (int*)malloc(2*sizeof(int));
- setParams.sets_entry_list = (INT*)malloc(6*sizeof(INT));
- setParams.sets_extra_list = (INT*)malloc(6*sizeof(INT));
- setParams.sets_dist_fact = (double*)malloc(6*sizeof(double));
-
- ((INT*)setParams.sets_ids)[0] = 1000;
- ((INT*)setParams.num_entries_per_set)[0] = 3;
- ((INT*)setParams.num_dist_per_set)[0] = 0;
- ((INT*)setParams.sets_entry_index)[0] = 0;
- ((INT*)setParams.sets_dist_index)[0] = 0;
-
- {
- INT* entry_list = setParams.sets_entry_list;
- entry_list[0] = nset_nodes[0];
- entry_list[1] = nset_nodes[1];
- entry_list[2] = nset_nodes[2];
- }
-
- EXCHECK( ex_put_concat_sets( exoid, EX_NODE_SET, &setParams ), "Unable to write node sets.\n" );
-
- ((INT*)setParams.sets_ids)[0] = 1200;
- ((INT*)setParams.num_entries_per_set)[0] = 6;
- ((INT*)setParams.num_dist_per_set)[0] = 6;
- ((INT*)setParams.sets_entry_index)[0] = 0;
- ((INT*)setParams.sets_dist_index)[0] = 0;
-
- {
- INT* entry_list = setParams.sets_entry_list;
- INT* extra_list = setParams.sets_extra_list;
-
- entry_list[0] = eset_edges[0];
- entry_list[1] = eset_edges[1];
- entry_list[2] = eset_edges[2];
- entry_list[3] = eset_edges[3];
- entry_list[4] = eset_edges[4];
- entry_list[5] = eset_edges[5];
-
- extra_list[0] = eset_orient[0];
- extra_list[1] = eset_orient[1];
- extra_list[2] = eset_orient[2];
- extra_list[3] = eset_orient[3];
- extra_list[4] = eset_orient[4];
- extra_list[5] = eset_orient[5];
- }
-
- memcpy(setParams.sets_dist_fact, eset_df, sizeof(eset_df)/sizeof(eset_df[0]));
-
- EXCHECK( ex_put_concat_sets( exoid, EX_EDGE_SET, &setParams ), "Unable to write edge sets.\n" );
-
- ((INT*)setParams.sets_ids)[0] = 1400;
- ((INT*)setParams.num_entries_per_set)[0] = 2;
- ((INT*)setParams.num_dist_per_set)[0] = 0;
- ((INT*)setParams.sets_entry_index)[0] = 0;
- ((INT*)setParams.sets_dist_index)[0] = 0;
- {
- INT *entry_list = setParams.sets_entry_list;
- INT *extra_list = setParams.sets_extra_list;
-
- entry_list[0] = fset_faces[0];
- entry_list[1] = fset_faces[1];
-
- extra_list[0] = fset_orient[0];
- extra_list[1] = fset_orient[1];
- }
-
- EXCHECK( ex_put_concat_sets( exoid, EX_FACE_SET, &setParams ), "Unable to write face sets.\n" );
-
- ((INT*)setParams.sets_ids)[0] = 1400;
- ((INT*)setParams.sets_ids)[1] = 1441;
- ((INT*)setParams.num_entries_per_set)[0] = 5;
- ((INT*)setParams.num_entries_per_set)[1] = 3;
- ((INT*)setParams.num_dist_per_set)[0] = 0;
- ((INT*)setParams.num_dist_per_set)[1] = 0;
- ((INT*)setParams.sets_entry_index)[0] = 0;
- ((INT*)setParams.sets_entry_index)[5] = 0;
- ((INT*)setParams.sets_dist_index)[0] = 0;
- memcpy(setParams.sets_entry_list, sset_elems, sizeof(sset_elems)/sizeof(sset_elems[0]));
- memcpy(setParams.sets_extra_list, sset_sides, sizeof(sset_sides)/sizeof(sset_sides[0]));
-
- EXCHECK( ex_put_concat_sets( exoid, EX_SIDE_SET, &setParams ), "Unable to write side sets.\n" );
-
- ((INT*)setParams.sets_ids)[0] = 1800;
- ((INT*)setParams.sets_ids)[1] = 1900;
- ((INT*)setParams.num_entries_per_set)[0] = 1;
- ((INT*)setParams.num_entries_per_set)[1] = 1;
- ((INT*)setParams.num_dist_per_set)[0] = 0;
- ((INT*)setParams.num_dist_per_set)[1] = 0;
- ((INT*)setParams.sets_entry_index)[0] = 0;
- ((INT*)setParams.sets_entry_index)[1] = 1;
- ((INT*)setParams.sets_dist_index)[0] = 0;
- ((INT*)setParams.sets_dist_index)[1] = 0;
- memcpy(setParams.sets_entry_list, elset_elems, sizeof(elset_elems)/sizeof(elset_elems[0]));
-
- EXCHECK( ex_put_concat_sets( exoid, EX_ELEM_SET, &setParams ), "Unable to write element sets.\n" );
-
- } else {
- EXCHECK( ex_put_set_param( exoid, EX_NODE_SET, 1000, 3, 0 ), "Unable to write node set params.\n" );
- EXCHECK( ex_put_set( exoid, EX_NODE_SET, 1000, nset_nodes, 0 ), "Unable to write node set.\n" );
-
- EXCHECK( ex_put_set_param( exoid, EX_EDGE_SET, 1200, 6, 6 ), "Unable to write edge set params.\n" );
- EXCHECK( ex_put_set( exoid, EX_EDGE_SET, 1200, eset_edges, eset_orient ), "Unable to write edge set.\n" );
- EXCHECK( ex_put_set_dist_fact( exoid, EX_EDGE_SET, 1200, eset_df ), "Unable to write edge set dist factors.\n" );
-
- EXCHECK( ex_put_set_param( exoid, EX_FACE_SET, 1400, 2, 0 ), "Unable to write face set params.\n" );
- EXCHECK( ex_put_set( exoid, EX_FACE_SET, 1400, fset_faces, fset_orient ), "Unable to write face set.\n" );
-
- EXCHECK( ex_put_set_param( exoid, EX_SIDE_SET, 1600, 5, 0 ), "Unable to write side set params.\n" );
- EXCHECK( ex_put_set( exoid, EX_SIDE_SET, 1600, sset_elems, sset_sides ), "Unable to write side set.\n" );
-
- EXCHECK( ex_put_set_param( exoid, EX_SIDE_SET, 1661, 3, 0 ), "Unable to write side set params.\n" );
- EXCHECK( ex_put_set( exoid, EX_SIDE_SET, 1661, sset1_elems, sset1_sides ), "Unable to write side set.\n" );
-
- EXCHECK( ex_put_set_param( exoid, EX_ELEM_SET, 1800, 1, 0 ), "Unable to write element set 1 params.\n" );
- EXCHECK( ex_put_set( exoid, EX_ELEM_SET, 1800, elset_elems + 0, 0 ), "Unable to write element set 1.\n" );
- EXCHECK( ex_put_set_param( exoid, EX_ELEM_SET, 1900, 1, 0 ), "Unable to write element set 2 params.\n" );
- EXCHECK( ex_put_set( exoid, EX_ELEM_SET, 1900, elset_elems + 1, 0 ), "Unable to write element set 2.\n" );
- }
-
- /* =============== Result variable params ========= */
- if ( concatResult ) {
- EXCHECK( ex_put_all_var_param_ext( exoid, &varParams ),
- "Unable to write result variable parameter information.\n" );
- } else {
- EXCHECK( ex_put_variable_param( exoid, EX_GLOBAL, 3 ),
- "Unable to write global result variable parameters.\n" );
- EXCHECK( ex_put_variable_param( exoid, EX_NODAL, 1 ),
- "Unable to write nodal result variable parameters.\n" );
- EXCHECK( ex_put_variable_param( exoid, EX_ELEM_BLOCK, 14 ),
- "Unable to write element result variable parameters.\n" );
- EXCHECK( ex_put_variable_param( exoid, EX_EDGE_BLOCK, 2 ),
- "Unable to write edge result variable parameters.\n" );
- EXCHECK( ex_put_variable_param( exoid, EX_FACE_BLOCK, 1 ),
- "Unable to write face result variable parameters.\n" );
- EXCHECK( ex_put_variable_param( exoid, EX_FACE_SET, 1 ),
- "Unable to write faceset result variable parameters.\n" );
- EXCHECK( ex_put_variable_param( exoid, EX_SIDE_SET, 6 ),
- "Unable to write sideset result variable parameters.\n" );
- EXCHECK( ex_put_variable_param( exoid, EX_NODE_SET, 6 ),
- "Unable to write nodeset result variable parameters.\n" );
- }
-
- /* =============== Result variable names ========== */
- /* *** NEW API *** */
- EXCHECK( ex_put_variable_name( exoid, EX_GLOBAL, 1, "A_vector_X" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_name( exoid, EX_GLOBAL, 2, "A_vector_Y" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_name( exoid, EX_GLOBAL, 3, "A_vector_Z" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_name( exoid, EX_NODAL, 1, "RHO" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_name( exoid, EX_EDGE_BLOCK, 1, "GAMMA1" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_name( exoid, EX_EDGE_BLOCK, 2, "GAMMA2" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_name( exoid, EX_FACE_BLOCK, 1, "PHI" ), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_names( exoid, EX_ELEM_BLOCK, 14, (char**)elem_var_names), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_names( exoid, EX_SIDE_SET, 6, (char**)sset_var_names), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_names( exoid, EX_NODE_SET, 6, (char**)nset_var_names), "Unable to write variable name.\n" );
- EXCHECK( ex_put_variable_name( exoid, EX_FACE_SET, 1, "PHI0" ), "Unable to write variable name.\n" );
-
- /* =============== Result variable values ========= */
- t = 1.;
- /* *** NEW API *** */
- EXCHECK( ex_put_time( exoid, 1, &t ), "Unable to write time value.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_GLOBAL, 1, 0/*N/A*/, 2, vals_glo_var[0] ), "Unable to write global var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_EDGE_BLOCK, 1, 100, 20, vals_edge_var1eb1[0] ), "Unable to write edge block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_EDGE_BLOCK, 2, 100, 20, vals_edge_var2eb1[0] ), "Unable to write edge block 1 var 2.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_FACE_BLOCK, 1, 500, 2, vals_face_var1fb1[0] ), "Unable to write face block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_FACE_BLOCK, 1, 700, 8, vals_face_var1fb3[0] ), "Unable to write face block 3 var 1.\n" );
-
- EXCHECK( ex_put_var( exoid, 1, EX_ELEM_BLOCK, 13, 201, 1, &vals_elem_var1[0] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_ELEM_BLOCK, 14, 2147483647, 4, &vals_tension[0] ), "Unable to write elem block 1 var 1.\n" );
- for(i=0; i < 6; i++){
- /* There are 2 elements in the block and 12 variables (a composite tensor x 2) */
- EXCHECK( ex_put_var( exoid, 1, EX_ELEM_BLOCK, i+1, 200, 2, &vals_elem_var[0][2*i] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_ELEM_BLOCK, i+7, 200, 2, &vals_elem_var[0][12+2*i] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_NODE_SET, i+1, 1000, 3, &vals_nset_var[0][3*i] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 1, EX_SIDE_SET, i+1, 1600, 5, &vals_sset_var[0][5*i] ), "Unable to write elem block 1 var 1.\n" );
- }
-
- EXCHECK( ex_put_var( exoid, 1, EX_FACE_SET, 1, 1400, 2, vals_fset_var1fs1[0] ), "Unable to write face set 1 var 1.\n" );
-
- t = 2.;
- EXCHECK( ex_put_time( exoid, 2, &t ), "Unable to write time value.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_GLOBAL, 1, 0/*N/A*/, 2, vals_glo_var[1] ), "Unable to write global var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_EDGE_BLOCK, 1, 100, 20, vals_edge_var1eb1[1] ), "Unable to write edge block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_EDGE_BLOCK, 2, 100, 20, vals_edge_var2eb1[1] ), "Unable to write edge block 1 var 2.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_FACE_BLOCK, 1, 500, 2, vals_face_var1fb1[1] ), "Unable to write face block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_FACE_BLOCK, 1, 700, 8, vals_face_var1fb3[1] ), "Unable to write face block 3 var 1.\n" );
-
- EXCHECK( ex_put_var( exoid, 2, EX_ELEM_BLOCK, 13, 201, 1, &vals_elem_var1[1] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_ELEM_BLOCK, 14, 2147483647, 4, &vals_tension[1] ), "Unable to write elem block 1 var 1.\n" );
- for(i=0; i < 6; i++){
- EXCHECK( ex_put_var( exoid, 2, EX_ELEM_BLOCK, i+1, 200, 2, &vals_elem_var[1][2*i] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_ELEM_BLOCK, i+7, 200, 2, &vals_elem_var[1][12+2*i] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_NODE_SET, i+1, 1000, 3, &vals_nset_var[1][3*i] ), "Unable to write elem block 1 var 1.\n" );
- EXCHECK( ex_put_var( exoid, 2, EX_SIDE_SET, i+1, 1600, 5, &vals_sset_var[1][5*i] ), "Unable to write elem block 1 var 1.\n" );
- }
- EXCHECK( ex_put_var( exoid, 2, EX_FACE_SET, 1, 1400, 2, vals_fset_var1fs1[1] ), "Unable to write face set 1 var 1.\n" );
-
- EXCHECK( ex_put_nodal_var( exoid, 1, 1, 12, vals_nod_var[0] ), "Unable to write nodal var 1.\n" );
- EXCHECK( ex_put_nodal_var( exoid, 2, 1, 12, vals_nod_var[1] ), "Unable to write nodal var 1.\n" );
-
- EXCHECK( ex_close( exoid ),
- "Unable to close database.\n" );
-
- return 0;
-}
-
-#if !defined(USING_CMAKE)
-int main( int argc, char* argv[] )
-{
- return cCreateEdgeFace(argc, argv);
-}
-#endif
diff --git a/cbind/test/Makefile.standalone b/cbind/test/Makefile.standalone
deleted file mode 100644
index 8351d65..0000000
--- a/cbind/test/Makefile.standalone
+++ /dev/null
@@ -1,184 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-EXOIITEST = -L../.. -lexodus
-LOCALEXO = ../../libexodus.a
-LIBS = $(LOCALEXO) $(NETCDF_LIB) -lm
-
-PROGS = testwt testwtd testrd testrd1 testrdd testwt1 testwt2 testwtm \
- testwt_ss testwt_nossnsdf testrd_ss testrdwt testcp testcpd testcp_nl \
- testcp_ln testwt_clb testwt_nc testrd_nc testwt-zeroe testwt-zeron \
- testwt-one-attrib create_mesh rd_wt_mesh \
- testwt-partial testwt-nsided testrd-nsided testwt-nfaced \
- testrd-nfaced testwt-long-name testrd-long-name \
- oned twod MakeTestData test_nemesis
-
-all:: check
-
-oned: oned.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) oned.o $(LDFLAGS) $(LIBS)
-
-twod: twod.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) twod.o $(LDFLAGS) $(LIBS)
-
-MakeTestData: MakeTestData.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) MakeTestData.o $(LDFLAGS) $(LIBS)
-
-testwt: testwt.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt.o $(LDFLAGS) $(LIBS)
-
-testwt_clb: testwt_clb.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt_clb.o $(LDFLAGS) $(LIBS)
-
-testwtd: testwtd.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwtd.o $(LDFLAGS) $(LIBS)
-
-testrd: testrd.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testrd.o $(LDFLAGS) $(LIBS)
-
-testrd1: testrd1.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testrd1.o $(LDFLAGS) $(LIBS)
-
-testrdd: testrdd.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testrdd.o $(LDFLAGS) $(LIBS)
-
-testwt1: testwt1.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt1.o $(LDFLAGS) $(LIBS)
-
-testwt2: testwt2.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt2.o $(LDFLAGS) $(LIBS)
-
-testwtm: testwtm.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwtm.o $(LDFLAGS) $(LIBS)
-
-testwt_ss: testwt_ss.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt_ss.o $(LDFLAGS) $(LIBS)
-
-testwt_nossnsdf: testwt_nossnsdf.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt_nossnsdf.o $(LDFLAGS) $(LIBS)
-
-testrd_ss: testrd_ss.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testrd_ss.o $(LDFLAGS) $(LIBS)
-
-testrdwt: testrdwt.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testrdwt.o $(LDFLAGS) $(LIBS)
-
-testcp: testcp.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testcp.o $(LDFLAGS) $(LIBS)
-
-testcpd: testcpd.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testcpd.o $(LDFLAGS) $(LIBS)
-
-testcp_nl : testcp_nl.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testcp_nl.o $(LDFLAGS) $(LIBS)
-
-testcp_ln : testcp_ln.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testcp_ln.o $(LDFLAGS) $(LIBS)
-
-testwt_nc: testwt_nc.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt_nc.o $(LDFLAGS) $(LIBS)
-
-testrd_nc: testrd_nc.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testrd_nc.o $(LDFLAGS) $(LIBS)
-
-testwt-long-name: testwt-long-name.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt-long-name.o $(LDFLAGS) $(LIBS)
-
-testrd-long-name: testrd-long-name.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testrd-long-name.o $(LDFLAGS) $(LIBS)
-
-testwt-zeroe: testwt-zeroe.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt-zeroe.o $(LDFLAGS) $(LIBS)
-
-testwt-zeron: testwt-zeron.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt-zeron.o $(LDFLAGS) $(LIBS)
-
-testwt-one-attrib: testwt-one-attrib.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt-one-attrib.o $(LDFLAGS) $(LIBS)
-
-testwt-partial: testwt-partial.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt-partial.o $(LDFLAGS) $(LIBS)
-
-testwt-nsided: testwt-nsided.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt-nsided.o $(LDFLAGS) $(LIBS)
-
-testrd-nsided: testrd-nsided.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testrd-nsided.o $(LDFLAGS) $(LIBS)
-
-testwt-nfaced: testwt-nfaced.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testwt-nfaced.o $(LDFLAGS) $(LIBS)
-
-testrd-nfaced: testrd-nfaced.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) testrd-nfaced.o $(LDFLAGS) $(LIBS)
-
-create_mesh: create_mesh.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) create_mesh.o $(LDFLAGS) $(LIBS)
-
-rd_wt_mesh: rd_wt_mesh.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) rd_wt_mesh.o $(LDFLAGS) $(LIBS)
-
-CreateEdgeFace: CreateEdgeFace.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) CreateEdgeFace.o $(LDFLAGS) $(LIBS)
-
-ReadEdgeFace: ReadEdgeFace.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) ReadEdgeFace.o $(LDFLAGS) $(LIBS)
-
-test_nemesis: test_nemesis.o $(LOCALEXO)
- $(CC) -o $@ $(CFLAGS) test_nemesis.o $(LDFLAGS) $(LIBS)
-
-
-test: check
-check: $(PROGS)
- csh ./testall.standalone ${NCDUMP}
-
-clean::
- rm -f *.res $(PROGS)
-
-clean::
- rm -f *.exo
-
-clean::
- rm -f test.output
-
-clean::
- rm -f *.CKP *.ln *.BAK *.bak *.o *.M *.mod core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"*
-
-# ----------------------------------------------------------------------
-
-.SUFFIXES: .c
-.c.o:
- $(CC) -c $(CFLAGS) $*.c
-
-# ----------------------------------------------------------------------
-# dependencies generated by makedepend or sfmakedepend
-
diff --git a/cbind/test/ReadEdgeFace.c b/cbind/test/ReadEdgeFace.c
deleted file mode 100644
index 0818cad..0000000
--- a/cbind/test/ReadEdgeFace.c
+++ /dev/null
@@ -1,430 +0,0 @@
-#include "exodusII.h"
-#include <stdio.h>
-#include <stdlib.h> /* for malloc(), free() */
-#include <inttypes.h>
-
-#define EX_TEST_FILENAME "edgeFace.exo"
-
-#define EXCHECK(funcall,errmsg)\
- if ( (funcall) < 0 ) \
- { \
- fprintf( stderr, errmsg ); \
- return 1; \
- }
-
-#define EXCHKPI(funcall,errmsg,sucmsg,ival)\
- if ( (funcall) < 0 ) \
- { \
- fprintf( stderr, errmsg ); \
- return 1; \
- } else { \
- fprintf( stdout, sucmsg, ival ); \
- }
-
-ex_entity_type obj_types[] = {
- EX_EDGE_BLOCK,
- EX_FACE_BLOCK,
- EX_ELEM_BLOCK,
- EX_NODE_SET,
- EX_EDGE_SET,
- EX_FACE_SET,
- EX_SIDE_SET,
- EX_ELEM_SET,
- EX_NODE_MAP,
- EX_EDGE_MAP,
- EX_FACE_MAP,
- EX_ELEM_MAP
-};
-
-ex_inquiry obj_sizes[] = {
- EX_INQ_EDGE_BLK,
- EX_INQ_FACE_BLK,
- EX_INQ_ELEM_BLK,
- EX_INQ_NODE_SETS,
- EX_INQ_EDGE_SETS,
- EX_INQ_FACE_SETS,
- EX_INQ_SIDE_SETS,
- EX_INQ_ELEM_SETS,
- EX_INQ_NODE_MAP,
- EX_INQ_EDGE_MAP,
- EX_INQ_FACE_MAP,
- EX_INQ_ELEM_MAP,
-};
-
-const char* obj_typenames[] = {
- " Edge block",
- " Face block",
- "Element block",
- " Node set",
- " Edge set",
- " Face set",
- " Side set",
- " Element set",
- " Node map",
- " Edge map",
- " Face map",
- " Element map"
-};
-
-const char* obj_typestr[] = {
- "L",
- "F",
- "E",
- "M",
- "D",
- "A",
- "S",
- "T",
- 0, /* maps have no result variables */
- 0,
- 0,
- 0,
-};
-
-int obj_sizeinq[] = {
- EX_INQ_EDGE,
- EX_INQ_FACE,
- EX_INQ_ELEM,
- EX_INQ_NS_NODE_LEN,
- EX_INQ_ES_LEN,
- EX_INQ_FS_LEN,
- EX_INQ_SS_ELEM_LEN,
- EX_INQ_ELS_LEN,
- -1,
- -1,
- -1,
- -1
-};
-
-#define OBJECT_IS_BLOCK(i) ((i>=0)&&(i<3))
-#define OBJECT_IS_SET(i) ((i>2)&&(i<8))
-
-int cReadEdgeFace( int argc, char* argv[] )
-{
- int exoid;
- int appWordSize = 8;
- int diskWordSize = 8;
- float exoVersion;
- int itmp[5];
- int* ids;
- int nids;
- int obj;
- int i, j;
- int num_timesteps;
- int ti;
- char** obj_names;
- char** var_names;
- int have_var_names;
- int num_vars; /* number of variables per object */
- int num_entries; /* number of values per variable per object */
- double* entry_vals; /* variable values for each entry of an object */
- ex_init_params modelParams;
-
- exoid = ex_open( EX_TEST_FILENAME, EX_READ, &appWordSize, &diskWordSize, &exoVersion );
- if ( exoid <= 0 )
- {
- fprintf( stderr, "Unable to open \"%s\" for reading.\n", EX_TEST_FILENAME );
- return 1;
- }
-
- EXCHECK( ex_get_init_ext( exoid, &modelParams ),
- "Unable to read database parameters.\n" );
-
- fprintf( stdout,
- "Title: <%s>\n"
- "Dimension: %"PRId64"\n"
- "Nodes: %"PRId64"\n"
- "Edges: %"PRId64"\n"
- "Faces: %"PRId64"\n"
- "Elements: %"PRId64"\n"
- "Edge Blocks: %"PRId64"\n"
- "Face Blocks: %"PRId64"\n"
- "Element Blocks: %"PRId64"\n"
- "Node Sets: %"PRId64"\n"
- "Edge Sets: %"PRId64"\n"
- "Face Sets: %"PRId64"\n"
- "Side Sets: %"PRId64"\n"
- "Element Sets: %"PRId64"\n"
- "Node Maps: %"PRId64"\n"
- "Edge Maps: %"PRId64"\n"
- "Face Maps: %"PRId64"\n"
- "Element Maps: %"PRId64"\n",
- modelParams.title, modelParams.num_dim,
- modelParams.num_nodes, modelParams.num_edge, modelParams.num_face, modelParams.num_elem,
- modelParams.num_edge_blk, modelParams.num_face_blk, modelParams.num_elem_blk,
- modelParams.num_node_sets, modelParams.num_edge_sets, modelParams.num_face_sets,
- modelParams.num_side_sets, modelParams.num_elem_sets,
- modelParams.num_node_maps, modelParams.num_edge_maps, modelParams.num_face_maps,
- modelParams.num_elem_maps );
-
- num_timesteps = ex_inquire_int( exoid, EX_INQ_TIME );
-
- /* *** NEW API *** */
- for ( i = 0; i < sizeof(obj_types)/sizeof(obj_types[0]); ++i ) {
- int* truth_tab = 0;
- have_var_names = 0;
-
- EXCHECK( ex_inquire( exoid, obj_sizes[i], &nids, 0, 0 ), "Object ID list size could not be determined.\n" );
-
- if ( ! nids ) {
- fprintf( stdout, "=== %ss: none\n\n", obj_typenames[i] );
- continue;
- } else {
- fprintf( stdout, "=== %ss: %d\n", obj_typenames[i], nids );
- }
-
- ids = (int*) malloc( nids * sizeof(int) );
- obj_names = (char**) malloc( nids * sizeof(char*) );
- for ( obj = 0; obj < nids; ++obj )
- obj_names[obj] = (char*) malloc( (MAX_STR_LENGTH + 1) * sizeof(char) );
-
- EXCHECK( ex_get_ids( exoid, obj_types[i], ids ), "Could not read object ids.\n" );
- EXCHECK( ex_get_names( exoid, obj_types[i], obj_names ), "Could not read object ids.\n" );
-
- if ( (OBJECT_IS_BLOCK(i)) || (OBJECT_IS_SET(i)) ) {
- int* tp;
- EXCHECK( ex_get_var_param( exoid, obj_typestr[i], &num_vars ), "Could not read number of variables.\n" );
-
- if ( num_vars && num_timesteps > 0 ) {
- truth_tab = (int*) malloc( num_vars * nids * sizeof(int) );
- EXCHECK( ex_get_var_tab( exoid, obj_typestr[i], nids, num_vars, truth_tab ), "Could not read truth table.\n" );
- tp = truth_tab;
- fprintf( stdout, "Truth:" );
- for ( obj = 0; obj < nids; ++obj ) {
- for ( j = 0; j < num_vars; ++j, ++tp ) {
- fprintf( stdout, " %d", *tp );
- }
- fprintf( stdout, "\n " );
- }
- fprintf( stdout, "\n" );
-
- var_names = (char**) malloc( num_vars * sizeof(char*) );
- for ( j = 0; j < num_vars; ++j )
- var_names[j] = (char*) malloc( (MAX_STR_LENGTH + 1) * sizeof(char) );
-
- EXCHECK( ex_get_var_names( exoid, obj_typestr[i], num_vars, var_names ), "Could not read variable names.\n" );
- have_var_names = 1;
- }
- }
-
- if ( ! have_var_names )
- var_names = 0;
-
- for ( obj = 0; obj < nids; ++obj ) {
- if ( obj_names[obj] )
- fprintf( stdout, "%s %3d (%s): ", obj_typenames[i], ids[obj], obj_names[obj] );
- else
- fprintf( stdout, "%s %3d: ", obj_typenames[i], ids[obj] );
-
- if ( OBJECT_IS_BLOCK(i) ) {
- int* nconn;
- int* econn;
- int* fconn;
- int ele;
- int ctr;
- int num_attrs;
- if ( obj_types[i] == EX_ELEM_BLOCK ) {
- EXCHECK( ex_get_block( exoid, obj_types[i], ids[obj], 0, itmp, itmp+1, itmp+2, itmp+3, &num_attrs ),
- "Could not read block params.\n" );
- fprintf( stdout, "Entries: %3d Nodes/entry: %d Edges/entry: %d Faces/entry: %d Attributes: %d",
- itmp[0], itmp[1], itmp[2], itmp[3], num_attrs );
- } else {
- EXCHECK( ex_get_block( exoid, obj_types[i], ids[obj], 0, itmp, itmp+1, 0, 0, &num_attrs ),
- "Could not read block params.\n" );
- fprintf( stdout, "Entries: %3d Nodes/entry: %d Attributes: %d", itmp[0], itmp[1], num_attrs );
- itmp[2] = itmp[3] = 0;
- }
- fprintf( stdout, "\n " );
- num_entries = itmp[0];
- nconn = itmp[1] ? (int*) malloc( itmp[1] * num_entries * sizeof(int) ) : 0;
- econn = itmp[2] ? (int*) malloc( itmp[2] * num_entries * sizeof(int) ) : 0;
- fconn = itmp[3] ? (int*) malloc( itmp[3] * num_entries * sizeof(int) ) : 0;
- EXCHECK( ex_get_conn( exoid, obj_types[i], ids[obj], nconn, econn, fconn ), "Could not read connectivity.\n" );
- for ( ele = 0; ele < num_entries; ++ele ) {
- for ( ctr = 0; ctr < itmp[1]; ++ctr ) {
- fprintf( stdout, " %2d", nconn[ele*itmp[1] + ctr] );
- }
- if ( itmp[2] ) {
- fprintf( stdout, " ++" );
- for ( ctr = 0; ctr < itmp[2]; ++ctr ) {
- fprintf( stdout, " %2d", econn[ele*itmp[2] + ctr] );
- }
- }
- if ( itmp[3] ) {
- fprintf( stdout, " ++" );
- for ( ctr = 0; ctr < itmp[3]; ++ctr ) {
- fprintf( stdout, " %2d", fconn[ele*itmp[3] + ctr] );
- }
- }
- fprintf( stdout, "\n " );
- }
- if ( nconn ) free( nconn );
- if ( econn ) free( econn );
- if ( fconn ) free( fconn );
-
- if ( num_attrs ) {
- char** attr_names;
- double* attr;
- attr = (double*) malloc( num_entries * num_attrs * sizeof(double) );
- attr_names = (char**) malloc( num_attrs * sizeof(char*) );
- for ( j = 0; j < num_attrs; ++j )
- attr_names[j] = (char*) malloc( (MAX_STR_LENGTH + 1) * sizeof(char) );
-
- EXCHECK( ex_get_attr_names( exoid, obj_types[i], ids[obj], attr_names ), "Could not read attributes names.\n" );
- EXCHECK( ex_get_attr( exoid, obj_types[i], ids[obj], attr ), "Could not read attribute values.\n" );
-
- fprintf( stdout, "\n Attributes:\n ID " );
- for ( j = 0; j < num_attrs; ++j )
- fprintf( stdout, " %s", attr_names[j] );
- fprintf( stdout, "\n" );
- for ( j = 0; j < num_entries; ++j ) {
- int k;
- fprintf( stdout, " %2d ", j + 1 );
- for ( k = 0; k < num_attrs; ++k ) {
- fprintf( stdout, " %4.1f", attr[ j * num_attrs + k ] );
- }
- fprintf( stdout, "\n" );
- }
-
- for ( j = 0; j < num_attrs; ++j )
- free( attr_names[j] );
- free( attr_names );
- free( attr );
- }
-
- } else if ( OBJECT_IS_SET(i) ) {
- int num_df;
- int* set_entry;
- int* set_extra;
- double* set_df;
- EXCHECK( ex_get_set_param( exoid, obj_types[i], ids[obj], &num_entries, &num_df ), "Could not read set parameters.\n" );
-
- set_entry = (int*) malloc( num_entries * sizeof(int) );
- set_extra = ( obj_types[i] != EX_NODE_SET && obj_types[i] != EX_ELEM_SET ) ? (int*) malloc( num_entries * sizeof(int) ) : 0;
- EXCHECK( ex_get_set( exoid, obj_types[i], ids[obj], set_entry, set_extra ), "Could not read set.\n" );
- fprintf( stdout, "Entries: %3d Distribution factors: %3d\n", num_entries, num_df );
- if ( set_extra ) {
- for ( j = 0; j < num_entries; ++j )
- fprintf( stdout, " %2d %2d\n", set_entry[j], set_extra[j] );
- } else {
- for ( j = 0; j < num_entries; ++j )
- fprintf( stdout, " %2d\n", set_entry[j] );
- }
- free( set_entry );
- if ( set_extra )
- free( set_extra );
-
- set_df = num_df ? (double*) malloc( num_df * sizeof(double) ) : 0;
- if ( set_df ) {
- EXCHECK( ex_get_set_dist_fact( exoid, obj_types[i], ids[obj], set_df ), "Could not read set distribution factors.\n" );
- fprintf( stdout, "\n Distribution factors:\n" );
- for ( j = 0; j < num_df; ++j )
- fprintf( stdout, " %4.1f\n", set_df[j] );
- free( set_df );
- }
-
-
- } else { /* object is map */
- int* map;
- switch (obj_types[i]) {
- case EX_NODE_MAP:
- num_entries = modelParams.num_nodes;
- break;
- case EX_EDGE_MAP:
- num_entries = modelParams.num_edge;
- break;
- case EX_FACE_MAP:
- num_entries = modelParams.num_face;
- break;
- case EX_ELEM_MAP:
- num_entries = modelParams.num_elem;
- break;
- default:
- num_entries = 0;
- }
- if ( num_entries ) {
- fprintf( stdout, "Entries: %3d\n :", num_entries );
- map = (int*) malloc( num_entries * sizeof(int) );
- EXCHECK( ex_get_num_map( exoid, obj_types[i], ids[obj], map ), "Could not read map.\n" );
- for ( j = 0; j < num_entries; ++j ) {
- fprintf( stdout, " %d", map[j] );
- }
- } else {
- fprintf( stdout, "Entries: none" );
- }
- }
- fprintf( stdout, "\n" );
-
- /* Read results variables */
- if ( ((OBJECT_IS_BLOCK(i)) || (OBJECT_IS_SET(i))) && num_vars && num_timesteps > 0 ) {
- /* Print out all the time values to exercise get_var */
- entry_vals = (double*) malloc( num_entries * sizeof(double) );
- for ( j = 0; j < num_vars; ++j ) {
- int k;
- if ( ! truth_tab[num_vars * obj + j] )
- continue;
-
- fprintf( stdout, " Variable: %s", var_names[j] );
- for ( ti = 1; ti <= num_timesteps; ++ti ) {
- EXCHECK( ex_get_var( exoid, ti, obj_types[i], 1 + j, ids[obj], num_entries, entry_vals ),
- "Could not read variable values.\n" );
-
- fprintf( stdout, "\n @t%d ", ti );
- for ( k = 0; k < num_entries; ++k ) {
- fprintf( stdout, " %4.1f", entry_vals[k] );
- }
- }
- fprintf( stdout, "\n" );
- }
- fprintf( stdout, "\n" );
- free( entry_vals );
- }
- }
-
- if ( ((OBJECT_IS_BLOCK(i)) || (OBJECT_IS_SET(i))) && num_vars && num_timesteps > 0 ) {
- /* Print out one element's time values to exercise get_var_time */
- entry_vals = (double*) malloc( num_timesteps * sizeof( double ) );
- EXCHECK( ex_inquire( exoid, obj_sizeinq[i], itmp, 0, 0 ), "Inquire failed.\n" );
- itmp[1] = 11;
- while ( itmp[1] > itmp[0] ) itmp[1] /= 2;
- for ( j = 0; j < num_vars; ++j ) {
- /* FIXME: This works for the dataset created by CreateEdgeFace, but not for any dataset in general since
- * NULL truth table entries may mean the referenced elements don't have variable values.
- */
- EXCHECK( ex_get_var_time( exoid, obj_types[i], j + 1, itmp[1], 1, num_timesteps, entry_vals ), "Could not read variable over time.\n" );
- fprintf( stdout, " Variable over time: %s Entry: %3d ", var_names[j], itmp[1] );
- for ( ti = 1; ti <= num_timesteps; ++ti )
- fprintf( stdout, " @t%d: %4.1f", ti, entry_vals[ti-1] );
- fprintf( stdout, "\n" );
- }
- free( entry_vals );
- }
-
- if ( var_names ) {
- for ( j = 0; j < num_vars; ++j )
- free( var_names[j] );
- free( var_names );
- }
- if ( truth_tab )
- free( truth_tab );
- free( ids );
-
- for ( obj = 0; obj < nids; ++obj )
- free( obj_names[obj] );
- free( obj_names );
-
- fprintf( stdout, "\n" );
- }
-
- EXCHECK( ex_close( exoid ),
- "Unable to close database.\n" );
-
- return 0;
-}
-
-#if !defined(USING_CMAKE)
-int main( int argc, char* argv[] )
-{
- return cReadEdgeFace(argc, argv);
-}
-#endif
diff --git a/cbind/test/create_mesh.c b/cbind/test/create_mesh.c
deleted file mode 100644
index 430da13..0000000
--- a/cbind/test/create_mesh.c
+++ /dev/null
@@ -1,1032 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <assert.h>
-#include <inttypes.h>
-
-#include "exodusII.h"
-
-#define DEFAULT_FILE_NAME "mesh"
-#define DEFAULT_MAP_ORIGIN 1
-#define DEFAULT_NUM_DOMAINS 1
-#define DEFAULT_NUM_ELEMENTS 1000000
-#define DEFAULT_NUM_FIELDS 0
-#define DEFAULT_NUM_TIMESTEPS 1
-
-#define MAX_STRING_LEN 128
-#define NUM_BYTES_PER_INT 4
-#define NUM_NODES_PER_ELEM 8
-
-#define EXODUSII_FILE_TYPE ".e"
-
-typedef double realtyp;
-
-typedef int64_t INT;
-
-INT
-StringToCount(char * size_str)
-{
- INT size = 0;
- char range;
- int rc;
-
- rc = sscanf(size_str, "%"PRId64"%c", &size, &range);
- if (rc == 2) {
- switch ((int)range) {
- case 'k': case 'K': size *= 1000; break;
- case 'm': case 'M': size *= 1000000; break;
- case 'g': case 'G': size *= 1000000000; break;
- }
- } else if (rc == 0) {
- size = -1;
- }
- return(size);
-} /* StringToCount() */
-
-void get_file_name(const char* base, const char* ext, int rank, int nprocs,
- const char* other,char *output);
-
-/* We need to do a cube-root to find the number of elements on each
- * side of the cube, but don't want to link in -lm just for
- * this. Use this routine which is better than
- * a brute force approach. Found at
- * http://www.hackersdelight.org/HDcode/icbrt.c
- */
-INT icbrt(unsigned x) {
- INT s;
- unsigned y, b;
-
- s = 30;
- y = 0;
- while(s >= 0) { /* Do 11 times. */
- y = 2*y;
- b = (3*y*(y + 1) + 1) << s;
- s = s - 3;
- if (x >= b) {
- x = x - b;
- y = y + 1;
- }
- }
- return y;
-}
-
-/* Prototypes */
-void create_rr_elem_map(
- INT loc_num_elements,
- INT *elem_map,
- INT map_origin,
- INT num_domains,
- INT current_domain
-);
-
-void create_elem_map (
- INT loc_num_elems,
- INT start,
- INT *elem_map,
- INT map_origin
-);
-
-void create_local_connect(
- INT *node_map,
- INT len_node_map,
- INT len_connect,
- INT *domain_connect,
- INT *loc_connect,
- INT map_origin
-);
-
-void extract_connect(
- INT element_offset,
- INT num_elem,
- INT *elem_map,
- INT *connect,
- INT *domain_connect,
- INT map_origin
-);
-
-void make_mesh(
- realtyp *x,
- realtyp *y,
- realtyp *z,
- INT *connect,
- INT map_origin,
- INT num_elements
-);
-
-void parse_input(
- int argc,
- char *argv[],
- int *debug,
- INT *map_origin,
- INT *num_elements,
- INT *num_domains,
- INT *num_nodal_fields,
- INT *num_global_fields,
- INT *num_element_fields,
- INT *num_timesteps,
- char *device_name,
- char *file_name,
- int *exodus,
- int *compression_level,
- int *shuffle,
- int *int64bit
-);
-
-void write_exo_mesh(
- int debug,
- char *file_name,
- INT map_origin,
- INT num_nodes,
- INT num_elements,
- INT num_domains,
- INT num_nodal_fields,
- INT num_global_fields,
- INT num_element_fields,
- INT num_timesteps,
- realtyp *x,
- realtyp *y,
- realtyp *z,
- INT *connect,
- int compression_level,
- int shuffle,
- int int64bit
-);
-
-void create_node_map (INT len_map, INT len_connect, INT *domain_connect, INT *node_map,
- INT *loc_num_nodes, INT map_origin);
-
-INT bin_search2 (INT value, INT num, INT List[]);
-
-/***********************************************************************
- *
- * Main function
- *
- ***********************************************************************/
-
-int
-main( int argc, char *argv[] ) {
- INT *connect;
- int debug = FALSE; /* TRUE, display debug information; FALSE */
- /* otherwise. */
- static char device_name[MAX_STRING_LEN];
- static char file_name[MAX_STRING_LEN] = DEFAULT_FILE_NAME;
- int exodus = TRUE;
- INT map_origin = DEFAULT_MAP_ORIGIN;
- INT num_domains = DEFAULT_NUM_DOMAINS;
- INT num_elements_1d;
- INT num_elements = DEFAULT_NUM_ELEMENTS;
- INT num_nodal_fields = DEFAULT_NUM_FIELDS;
- INT num_global_fields = DEFAULT_NUM_FIELDS;
- INT num_element_fields = DEFAULT_NUM_FIELDS;
- INT num_timesteps = DEFAULT_NUM_TIMESTEPS;
- INT num_nodes;
- int compression_level = 0;
- int shuffle = 0;
- int int64bit = 0;
- size_t size;
-
- realtyp *x;
- realtyp *y;
- realtyp *z;
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
- /* Parse Input */
- parse_input(argc, argv, &debug, &map_origin,
- &num_elements, &num_domains, &num_nodal_fields,
- &num_global_fields, &num_element_fields, &num_timesteps,
- device_name,file_name, &exodus, &compression_level, &shuffle, &int64bit);
-
- /* Create Coordinates and Connectivity Array */
- num_elements_1d = icbrt(num_elements);
- num_nodes = (num_elements_1d + 1) * (num_elements_1d + 1) * (num_elements_1d + 1);
- x = malloc( num_nodes * sizeof( realtyp ) );
- y = malloc( num_nodes * sizeof( realtyp ) );
- z = malloc( num_nodes * sizeof( realtyp ) );
- assert(x != NULL && y != NULL && z != NULL);
-
- num_elements = num_elements_1d * num_elements_1d * num_elements_1d;
- size = (size_t)NUM_NODES_PER_ELEM * num_elements * sizeof( INT );
- assert(size > 0);
- connect = malloc(size);
- assert(connect != NULL);
-
- fprintf(stderr, "Creating a 3D mesh of %"PRId64" hex elements and %"PRId64" nodes.\n", num_elements, num_nodes);
-
- make_mesh(x, y, z, connect, map_origin, num_elements_1d);
- fprintf(stderr, "\t...Mesh topology created.\n");
-
- /*
- * Write Out Mesh
- */
-
- if (exodus) {
- write_exo_mesh(
- debug,
- file_name,
- map_origin,
- num_nodes,
- num_elements,
- num_domains,
- num_nodal_fields,
- num_global_fields,
- num_element_fields,
- num_timesteps,
- x,
- y,
- z,
- connect,
- compression_level,
- shuffle,
- int64bit
- );
- }
-
- free(x);
- free(y);
- free(z);
- free(connect);
- return 0;
-} /* end of main() */
-
-
-/***********************************************************************
- ***********************************************************************/
-void parse_input(
- int argc,
- char *argv[],
- int *debug,
- INT *map_origin,
- INT *num_elements_1d,
- INT *num_domains,
- INT *num_nodal_fields,
- INT *num_global_fields,
- INT *num_element_fields,
- INT *num_timesteps,
- char *device_name,
- char *file_name,
- int *exodus,
- int *compression_level,
- int *shuffle,
- int *int64bit
- ) {
- int arg = 0; /* Argument index. */
-
- while ( ++arg < argc ) {
- if ( strcmp( "-c", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_nodal_fields = atoi( argv[arg] );
- }
- else if ( strcmp( "-compress", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *compression_level = atoi( argv[arg] );
- }
- else if ( strcmp( "-shuffle", argv[arg] ) == 0 ) {
- *shuffle = 1;
- }
- else if ( strcmp( "-64", argv[arg] ) == 0 ) {
- *int64bit = 1;
- }
- else if ( strcmp( "-nv", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_nodal_fields = atoi( argv[arg] );
- }
- else if ( strcmp( "-gv", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_global_fields = atoi( argv[arg] );
- }
- else if ( strcmp( "-ev", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_element_fields = atoi( argv[arg] );
- }
- else if ( strcmp( "-t", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_timesteps = atoi( argv[arg] );
- }
- else if ( strcmp( "-d", argv[arg] ) == 0 ) {
- *debug = TRUE;
- }
- else if ( strcmp( "-f", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) strcpy( file_name, argv[arg] );
- }
- else if ( strcmp( "-m", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *map_origin = atoi( argv[arg] );
- }
- else if ( strcmp( "-n", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_elements_1d = StringToCount( argv[arg] );
- }
- else if ( strcmp( "-p", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_domains = atoi( argv[arg] );
- }
- else if ( strcmp( "-x", argv[arg] ) == 0 ) {
- *exodus = TRUE;
- }
- else if ( (strcmp( "-h", argv[arg] ) == 0) || (strcmp( "-u", argv[arg] ) == 0) ) {
- printf( " \n" );
- printf( "NAME \n" );
- printf( " \n" );
- printf( "create_mesh - creates a mesh file for performance benchmarking. \n" );
- printf( " \n" );
- printf( "SYNOPSIS \n" );
- printf( " \n" );
- printf( "create_mesh [-c fields] [-t timesteps] [-d] [-f file_name] \n" );
- printf( " [-m map_origin] [-n elements] [-p domains] \n" );
- printf( " [-nv number] [-ev number] [-gv number] ");
- printf( " [-r] [-u] [-h] ");
- printf( "[-x]" );
- printf( " \n" );
- printf( " \n" );
- printf( "DESCRIPTION \n" );
- printf( " \n" );
- printf( "This program creates a 2-D mesh for performance benchmarking. \n" );
- printf( "The EXODUSII II database file(s) created by this \n" );
- printf( "prrogram is/are read by the rd_wt_mesh program to perform the \n" );
- printf( "actual benchmark. \n" );
- printf( " \n" );
- printf( "OPTIONS \n" );
- printf( " \n" );
- printf( "-c fields number of nodal fields. Default: %d \n", DEFAULT_NUM_FIELDS );
- printf( "-nv fields number of nodal fields. Default: %d \n", DEFAULT_NUM_FIELDS );
- printf( "-ev fields number of element fields. Default: %d \n", DEFAULT_NUM_FIELDS );
- printf( "-gv fields number of global fields. Default: %d \n", DEFAULT_NUM_FIELDS );
- printf( "-t timesteps number of timesteps. Default: %d \n", DEFAULT_NUM_TIMESTEPS);
- printf( "-d display debug information. \n" );
- printf( "-f file_name file name prefix for all created files: \n" );
- printf( " \n" );
- printf( " 'file_name'_n%s [EXODUSII II file] \n", EXODUSII_FILE_TYPE );
- printf( " \n" );
- printf( " where n varies from 0 to number of domains-1. \n" );
- printf( " Default: %s \n", DEFAULT_FILE_NAME );
- printf( "-h display help/usage information. \n" );
- printf( "-m map_origin element map origin. Default: %d \n", DEFAULT_MAP_ORIGIN );
- printf( "-n elements number of elements in mesh \n" );
- printf( " Can suffix with 'k', 'm', 'g' for thousand, million, billion\n");
- printf( " elements/file = elements/number_of_domains. \n" );
- printf( " Default: %d \n", DEFAULT_NUM_ELEMENTS);
- printf( "-p domains number of domains. Default: %d \n", DEFAULT_NUM_DOMAINS );
- printf( "-compress val set compression to level 'val' [0..9] \n" );
- printf( "-shuffle enable hdf5-shuffle \n" );
- printf( "-64 enable 64-bit integers \n" );
- printf( "-u display help/usage information. \n" );
-
- exit( 0 );
- }
- else {
- fprintf(stderr, "Unknown option: %s\n", argv[arg] );
- fprintf(stderr, "Enter create_mesh -h for description of valid options.\n" );
-
- exit( 0 );
- }
- }
-
- return;
-}
-
-/***********************************************************************
- *
- * Create the coordinates and connectivity array for the mesh
- *
- ***********************************************************************/
-
-void make_mesh(
- realtyp *x,
- realtyp *y,
- realtyp *z,
- INT *connect,
- INT map_origin,
- INT num_elements_1d
-) {
- size_t i, j, k, m, base, cnt;
- size_t elp1sq = (num_elements_1d+1) * (num_elements_1d+1);
-
- /* create global coordinates */
-
- for (m=0, k=0; m < (num_elements_1d+1); m++) {
- for (i=0; i < (num_elements_1d+1); i++) {
- for (j=0; j < (num_elements_1d+1); j++, k++) {
- x[k] = (realtyp)j;
- y[k] = (realtyp)i;
- z[k] = (realtyp)m;
- }
- }
- }
-
- /* build connectivity array (node list) for mesh */
-
- for (m=0, k=0, cnt=0; m < num_elements_1d; m++) {
- for (i=0, k=0; i < num_elements_1d; i++) {
- for (j=0; j < num_elements_1d; j++, k++) {
- base = (m*elp1sq) + k + i + map_origin;
- connect[cnt++] = base;
- connect[cnt++] = base+1;
- connect[cnt++] = base+num_elements_1d+2;
- connect[cnt++] = base+num_elements_1d+1;
-
- connect[cnt++] = elp1sq + base;
- connect[cnt++] = elp1sq + base+1;
- connect[cnt++] = elp1sq + base+num_elements_1d+2;
- connect[cnt++] = elp1sq + base+num_elements_1d+1;
- }
- }
- }
-} /* end of make_mesh() */
-
-/***********************************************************************
- ***********************************************************************/
-void write_exo_mesh(
- int debug,
- char *file_name,
- INT map_origin,
- INT num_nodes,
- INT num_elements,
- INT num_domains,
- INT num_nodal_fields,
- INT num_global_fields,
- INT num_element_fields,
- INT num_timesteps,
- realtyp *x,
- realtyp *y,
- realtyp *z,
- INT *connect,
- int compression_level,
- int shuffle,
- int int64bit
- ) {
- int CPU_word_size=sizeof(realtyp);
- int IO_word_size=sizeof(realtyp);
- int exoid, err, num_dim, num_elem_blk, num_node_sets, num_side_sets;
- INT i, j, t, index, loc_num_elements, loc_num_nodes, len_connect;
- INT *elem_map = NULL, *node_map = NULL, *domain_connect = NULL, *loc_connect = NULL;
- int *elem_var_tab;
- INT accum_num_elements = 0;
- INT loc_node_size = -1;
-
- realtyp *loc_xcoords = NULL;
- realtyp *loc_ycoords = NULL;
- realtyp *loc_zcoords = NULL;
- realtyp *globals = NULL;
-
- char temporary_name[MAX_STRING_LEN];
- char **var_name;
-
- accum_num_elements = 0;
- for (i=0; i<num_domains; i++) {
- int mymode = EX_MAPS_INT64_API|EX_BULK_INT64_API|EX_IDS_INT64_API;
- if (int64bit) {
- mymode |= EX_MAPS_INT64_DB|EX_BULK_INT64_DB|EX_IDS_INT64_DB;
- }
-
- /* create the EXODUSII file */
- get_file_name(file_name, "e", i, num_domains, NULL, temporary_name);
-
- exoid = ex_create (temporary_name, EX_CLOBBER|mymode, &CPU_word_size, &IO_word_size);
-
- if (exoid < 0) {
- fprintf(stderr, "after ex_create, error = %d\n", exoid);
- exit(-1);
- }
-
- ex_set_option(exoid, EX_OPT_COMPRESSION_LEVEL, compression_level);
- ex_set_option(exoid, EX_OPT_COMPRESSION_SHUFFLE, shuffle);
-
- if (num_domains > 1) {
- /* Determine local number of elements */
- if (num_elements < num_domains)
- {
- fprintf(stderr, "number of elements is less than number of domains.\n");
- if (i < num_elements) loc_num_elements = 1;
- else loc_num_elements = 0;
- } else {
- loc_num_elements = num_elements / num_domains;
- if (i < (num_elements % num_domains)) loc_num_elements++;
- }
-
- len_connect = NUM_NODES_PER_ELEM * loc_num_elements;
-
- /* malloc things we need */
-
- if (i == 0) { /* first time through; max size arrays occur on
- first iteration */
- elem_map = malloc(loc_num_elements * sizeof(INT));
- domain_connect = malloc(len_connect * sizeof(INT));
- loc_connect = malloc(len_connect * sizeof(INT));
- node_map = malloc(num_nodes * sizeof(INT));
- }
-
- /* Create element local/global map */
- create_elem_map(
- loc_num_elements,
- accum_num_elements,
- elem_map,
- map_origin
- );
-
- /* Extract current domain's connectivity, referencing global node ids */
- extract_connect(accum_num_elements,
- loc_num_elements,
- elem_map,
- connect,
- domain_connect,
- map_origin);
-
- accum_num_elements += loc_num_elements;
-
- /* The local/global node map is just the current domain's connectivity,
- sorted with duplicate entries removed */
- create_node_map (num_nodes, len_connect, domain_connect, node_map, &loc_num_nodes, map_origin);
-
- /* Using local/global node map, convert the domain connectivity
- (referencing global node ids) to local connectivity (referencing
- local node ids) */
-
- create_local_connect(
- node_map,
- loc_num_nodes,
- len_connect,
- domain_connect,
- loc_connect,
- map_origin
- );
- } else {
- loc_num_elements = num_elements;
- loc_num_nodes = num_nodes;
- }
-
- if ( debug ) {
- fprintf(stderr, "\n\n\n");
-
- fprintf(stderr, "\n domain: %"PRId64"\n", i);
- fprintf(stderr, "\n loc_num_elements: %"PRId64"\n", loc_num_elements);
- fprintf(stderr, "\n loc_num_nodes: %"PRId64"\n", loc_num_nodes);
- }
-
- num_dim = 3;
- num_elem_blk = 1;
- num_node_sets = 0;
- num_side_sets = 0;
-
- err = ex_put_init (exoid, "This is an EXODUSII performance test.", num_dim,
- loc_num_nodes, loc_num_elements, num_elem_blk,
- num_node_sets, num_side_sets);
-
- if (err) {
- fprintf(stderr, "after ex_put_init, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
-
- /* Extract the local x and y coordinates */
- if (num_domains > 1) {
- if (loc_num_nodes > loc_node_size) {
- loc_xcoords = realloc(loc_xcoords, loc_num_nodes * sizeof(realtyp));
- loc_ycoords = realloc(loc_ycoords, loc_num_nodes * sizeof(realtyp));
- loc_zcoords = realloc(loc_zcoords, loc_num_nodes * sizeof(realtyp));
- loc_node_size = loc_num_nodes;
- }
-
- for (j=0; j<loc_num_nodes; j++) {
- index = node_map[j] - map_origin;
- loc_xcoords[j] = x[index];
- loc_ycoords[j] = y[index];
- loc_zcoords[j] = z[index];
- }
-
- err = ex_put_coord (exoid, loc_xcoords, loc_ycoords, loc_zcoords);
- } else {
- err = ex_put_coord (exoid, x, y, z);
- }
- if (err) {
- fprintf(stderr, "after ex_put_coord, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
- if ( debug ) {
- fprintf(stderr, "\tCoordinates output.\n");
- }
-#if 1
- {
- INT ids[1] = {100000};
- INT num_elem_per_block[1];
- char *names[1] = {"hex"};
- INT num_node_per_elem[1];
- INT num_attr_per_block[1];
- int write_map = num_domains > 1 ? TRUE : FALSE;
- write_map = TRUE;
- num_elem_per_block[0] = loc_num_elements;
- num_node_per_elem[0] = NUM_NODES_PER_ELEM;
- num_attr_per_block[0] = 0;
- err = ex_put_concat_elem_block (exoid, ids, names, num_elem_per_block,
- num_node_per_elem, num_attr_per_block, write_map);
- }
-#else
- err = ex_put_elem_block
- (exoid, 10000000000, "hex", loc_num_elements, NUM_NODES_PER_ELEM, 0);
-#endif
-
- if (err) {
- fprintf(stderr, "after ex_put_elem_block, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
-
- if (num_domains > 1) {
- err = ex_put_elem_conn (exoid, 100000, loc_connect);
- } else {
- err = ex_put_elem_conn (exoid, 100000, connect);
- }
-
- if (err) {
- fprintf(stderr, "after ex_put_elem_conn, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
-
- if ( debug ) {
- fprintf(stderr, "\tConnectivity output.\n");
- }
- /* write out element and node maps */
-
- if (num_domains > 1) {
- err = ex_put_id_map (exoid, EX_NODE_MAP, node_map);
-
- if (err) {
- fprintf(stderr, "after ex_put_id_map, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
-
- err = ex_put_id_map (exoid, EX_ELEM_MAP, elem_map);
-
- if (err) {
- fprintf(stderr, "after ex_put_id_map, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
-
- if ( debug ) {
- fprintf(stderr, "\tMaps output.\n");
- }
- }
-
- /* write out simulated results fields;
- we'll just write out the x coordinate field 'num_nodal_fields' times */
- if (loc_num_nodes < loc_num_elements) {
- fprintf(stderr, "INTERNAL ERROR: Programmer assumed number of nodes > number of elements, but that is not true.\n");
- ex_close (exoid);
- exit(-1);
- }
-
- if (num_element_fields > 0) {
- elem_var_tab = malloc(num_element_fields * sizeof(int));
- for (j = 0; j < num_element_fields; j++)
- elem_var_tab[j] = 1;
- } else {
- elem_var_tab = 0;
- }
- err = ex_put_all_var_param(exoid,
- num_global_fields,
- num_nodal_fields,
- num_element_fields,
- elem_var_tab,
- 0, 0, 0, 0);
- if (err) {
- fprintf(stderr, "after ex_put_all_var_param, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
-
- if (num_nodal_fields > 0) {
-
- var_name = malloc (num_nodal_fields * sizeof(char *));
- for (j=0; j<num_nodal_fields; j++) {
- var_name[j] = malloc ((MAX_STRING_LEN+1) * sizeof (char));
- sprintf (var_name[j], "node_field_%"PRId64, j+1);
- }
- err = ex_put_variable_names (exoid, EX_NODAL, num_nodal_fields, var_name);
- for (j=0; j<num_nodal_fields; j++) {
- free(var_name[j]);
- }
- free(var_name);
- }
-
- if (num_global_fields > 0) {
- globals = malloc(num_global_fields * sizeof(realtyp));
- var_name = malloc (num_global_fields * sizeof(char *));
- for (j=0; j<num_global_fields; j++) {
- var_name[j] = malloc ((MAX_STRING_LEN+1) * sizeof (char));
- sprintf (var_name[j], "global_field_%"PRId64, j+1);
- globals[j] = j;
- }
- err = ex_put_variable_names (exoid, EX_GLOBAL, num_global_fields, var_name);
- for (j=0; j<num_global_fields; j++) {
- free(var_name[j]);
- }
- free(var_name);
- }
-
- if (num_element_fields > 0) {
- free(elem_var_tab);
- var_name = malloc (num_element_fields * sizeof(char *));
- for (j=0; j<num_element_fields; j++) {
- var_name[j] = malloc ((MAX_STRING_LEN+1) * sizeof (char));
- sprintf (var_name[j], "element_field_%"PRId64, j+1);
- }
- err = ex_put_variable_names (exoid, EX_ELEM_BLOCK, num_element_fields, var_name);
- for (j=0; j<num_element_fields; j++) {
- free(var_name[j]);
- }
- free(var_name);
- }
-
- if (num_nodal_fields+num_global_fields+num_element_fields > 0) {
- fprintf(stderr, "Domain %"PRId64"/%"PRId64", Writing Timestep: ", i+1, num_domains);
- for (t=0; t<num_timesteps; t++) {
- realtyp time = t;
- ex_put_time(exoid, t+1, &time);
- fprintf(stderr, "%"PRId64", ", t+1);
- if (num_global_fields > 0) {
- err = ex_put_var(exoid, t+1, EX_GLOBAL, 1, 0, num_global_fields, globals);
- if (err) {
- fprintf(stderr, "after ex_put_global_var, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
- }
- for (j=0; j<num_nodal_fields; j++) {
- err = ex_put_var (exoid, t+1, EX_NODAL, j+1, 0, loc_num_nodes, x);
- if (err) {
- fprintf(stderr, "after ex_put_nodal_var, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
- }
- for (j=0; j<num_element_fields; j++) {
- err = ex_put_var (exoid, t+1, EX_ELEM_BLOCK, j+1, 100000, loc_num_elements, x);
- if (err) {
- fprintf(stderr, "after ex_put_element_var, error = %d\n", err);
- ex_close (exoid);
- exit(-1);
- }
- }
- }
- fprintf(stderr, "\n");
- }
-
- err = ex_close (exoid);
-
- if (err) {
- fprintf(stderr, "after ex_close, error = %d\n", err);
- exit(-1);
- }
- if ( debug ) {
- fprintf(stderr, "\tFile written.\n");
- }
- }
-
- /*
- * Free Memory
- */
-
- if (num_domains > 1) {
- free( domain_connect );
- free( elem_map );
- free( loc_connect );
- free( loc_xcoords );
- free( loc_ycoords );
- free( loc_zcoords );
- free( node_map );
- }
- if (num_global_fields > 0)
- free(globals);
-}
-
-/***********************************************************************
- *
- * Create element local/global map
- *
- * This puts contiguous groups of elements in each domain. This is
- * a somewhat reasonable map for a realistic application.
- *
- ***********************************************************************/
-void create_elem_map (
- INT loc_num_elems,
- INT elem_num,
- INT *elem_map,
- INT map_origin)
-{
- INT i;
-
- for (i=0; i<loc_num_elems; i++) {
- elem_map[i] = map_origin + elem_num++;
- }
-
-}
-
-/***********************************************************************
- *
- * Extract current domain's connectivity, referencing global node ids
- *
- * This extracts the "domain connectivity," that is, the connectivity
- * of the elements in the current domain. The node ids in the domain
- * connectivity reference global node ids.
- *
- ***********************************************************************/
-
-void extract_connect(
- INT element_offset,
- INT num_elem,
- INT *elem_map,
- INT *connect,
- INT *domain_connect,
- INT map_origin
- ) {
- INT i, j, k, m, offset;
-
- for (i=element_offset, j=0, m=0; j<num_elem; j++) {
- if (elem_map[j] == i+map_origin) { /* extract this element */
- offset = (i * NUM_NODES_PER_ELEM);
- for (k=offset; k < offset+NUM_NODES_PER_ELEM; k++) {
- domain_connect[m++] = connect[k];
- }
- i++;
- }
- }
-}
-
-/***********************************************************************
- *
- * The local/global node map is just the current domain's connectivity,
- * sorted, with duplicate entries removed. This isn't obvious, but
- * trust me.
- *
- ***********************************************************************/
-void create_node_map (INT len_map, INT len_connect, INT *domain_connect, INT *node_map,
- INT *loc_num_nodes, INT map_origin)
-{
- INT cnt, i;
-
- *loc_num_nodes = len_connect;
-
- for (i = 0; i < len_map; i++) {
- node_map[i] = 0;
- }
-
- for (i = 0; i < len_connect; i++) {
- node_map[domain_connect[i]-map_origin] = 1;
- }
-
- cnt = 0;
- for (i = 0; i < len_map; i++) {
- if (node_map[i] > 0) {
- node_map[cnt++] = i+map_origin;
- }
- }
- *loc_num_nodes = cnt;
-}
-
-/***********************************************************************
- *
- * Using local/global node map, convert the domain connectivity
- * (referencing global node ids) to local connectivity (referencing
- * local node ids).
- *
- * This requires inverting the local/global map, a relatively expensive
- * operation. The procedure is:
- *
- * for every entry in the domain connectivity
- * search the node map until found
- * set the value of the entry in the local connectivity to
- * the index of the located value in the node map
- *
- ***********************************************************************/
-void create_local_connect(INT *node_map,
- INT len_node_map,
- INT len_connect,
- INT *domain_connect,
- INT *loc_connect,
- INT map_origin)
-{
- INT i, index;
-
- for (i=0; i<len_connect; i++) {
- index = bin_search2 (domain_connect[i], len_node_map, node_map);
- if (index != -1) { /* found */
- loc_connect[i] = index+map_origin;
- } else {
- fprintf (stderr, "error creating local connectivity; i = %"PRId64"\n", i);
- exit (-1);
- }
- }
-}
-
-/*****************************************************************************
- *
- * Searches a monotonic list of values for the value, 'value'.
- * It returns the index (0-based) of the first position found, which
- * matches 'value'.
- * The list is assumed to be monotonic, and consist of elements
- * list[0], ..., list[n-1].
- * If no position in list matches value, it returns the value -1.
- *
- *****************************************************************************/
-
-INT bin_search2 (INT value, INT num, INT List[])
-{
- INT top, bottom = 0, middle, g_mid;
-
- top = num - 1;
- while (bottom <= top) {
- middle = (bottom + top) >> 1;
- g_mid = List[middle];
- if (value < g_mid)
- top = middle - 1;
- else if (value > g_mid)
- bottom = middle + 1;
- else
- return middle; /* found */
- }
- return -1;
-} /* bin_search2 */
-
-/*****************************************************************************/
-void get_file_name(const char* base, const char* ext, int rank, int nprocs,
- const char* other,char *output)
-{
- INT i1, iTemp1;
- INT iMaxDigit=0, iMyDigit=0;
- char cTemp[128];
-
- output[0] = '\0';
- strcpy(output, base);
- strcat(output, ".");
- strcat(output, ext);
- if (other != NULL) {
- strcat(output, ".");
- strcat(output, other);
- }
- if (nprocs > 1) {
- /*
- * Find out the number of digits needed to specify the processor ID.
- * This allows numbers like 01-99, i.e., prepending zeros to the
- * name to preserve proper alphabetic sorting of the files.
- */
-
- iTemp1 = nprocs;
- do {
- iTemp1 /= 10;
- iMaxDigit++;
- }
- while(iTemp1 >= 1);
-
- iTemp1 = rank;
- do {
- iTemp1 /= 10;
- iMyDigit++;
- }
- while(iTemp1 >= 1);
-
- strcat(output, ".");
- sprintf(cTemp, "%d", nprocs);
- strcat(output, cTemp);
- strcat(output, ".");
-
- /*
- * Append the proper number of zeros to the filename.
- */
- for(i1=0; i1 < iMaxDigit-iMyDigit; i1++)
- strcat(output, "0");
-
- sprintf(cTemp, "%d", rank);
- strcat(output, cTemp);
- }
-}
diff --git a/cbind/test/exodus_unit_tests.gold b/cbind/test/exodus_unit_tests.gold
deleted file mode 100644
index 5ad773f..0000000
--- a/cbind/test/exodus_unit_tests.gold
+++ /dev/null
@@ -1,41 +0,0 @@
-************************************************************************
-************************************************************************
-testwt - single precision write test...
-testrd - single precision read test...
-testcp_ss - single-to-single precision copy test...
-testcp_sd - single-to-double precision copy test...
-testcp_ln - large model to normal model single precision copy test...
-testcp_nl - normal_model to large_model single precision copy test...
-testwt_clb - single precision write test using concatenated puts...
-testwtd - double precision write test...
-testrdd - double precision read test...
-testcp_dd - double-to-double precision copy test...
-testcp_ds - double-to-single precision copy test...
-testwt1 - single precision write files with several side sets...
-testwt1 ... [Expect WEDGE6 warning from this test]
-testrd1 - single precision read test of a file with several side sets...
-testrd1 ... [Expect file create failure error, NOCLOBBER]
-testrd1 ... [Expect failure locating elem var 1 for elem block 12]
-testwt_ss - write files to test side sets...
-testwt_ss ... [Expect WEDGE6 warning from this test]
-testrd_ss - read test of a file with several side sets...
-testrd_ss ... [Expect warning for NULL sidesets 30 and 31]
-testwt2 - single precision write 2 files (simultaneously open) test...
-testrdwt - read from one and write to another (simutaneously open) file...
-testwt_nc - write x y z components of coordinates separately...
-testrd_nc - read x y z components of coordinates separately...
-testwt-zeron - write file with zero nodes and elements...
-testrd - read test of file with zero nodes and elements...
-testwt-zeroe - write file with zero elements...
-testrd - read test of file with zero elements...
-testwt-one-attrib - read/write test of element attributes - read one at a time...
-testwt-nsided - write file with nsided elements...
-testrd-nsided - read file with nsided elements...
-testwt-nfaced - write file with nfaced elements...
-testrd-nfaced - read file with nfaced elements...
-testwt-long-name - write file with long (64-character) names...
-testrd - read long name file truncating to 32 characters on read...
-testrd-long-name - read long name file...
-test_nemesis - read long name file...
-************************************************************************
-************************************************************************
diff --git a/cbind/test/makedmp b/cbind/test/makedmp
deleted file mode 100644
index b95bf86..0000000
--- a/cbind/test/makedmp
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# script to save dump files.
-#
-# testwt - single precision write test
-echo "testwt ..."
-echo "begin testwt" > test.output
-testwt >> test.output
-echo "end testwt" >> test.output
-ncdump -d5,5 test.exo > test.dmp
-
-# testrd - single precision read test
-echo "testrd ..."
-testrd > testrd.dmp
-
-# testcp_ss - single-to-single precision copy test
-echo "testcp_ss ..."
-echo "begin testcp_ss" >> test.output
-testcp >> test.output
-echo "end testcp_ss" >> test.output
-ncdump -d5,5 testcp.exo > testcp_ss.dmp
-
-# testcp_sd - single-to-double precision copy test
-echo "testcp_sd ..."
-echo "begin testcp_sd" >> test.output
-testcpd >> test.output
-echo "end testcp_sd" >> test.output
-ncdump -d5,5 testcpd.exo > testcp_sd.dmp
-
-# testwtd - double precision write test
-echo "testwtd ..."
-echo "begin testwtd" >> test.output
-testwtd >> test.output
-echo "end testwtd" >> test.output
-ncdump -d5,5 test.exo > testd.dmp
-
-# testrdd - double precision read test
-echo "testrdd ..."
-testrdd > testrdd.dmp
-
-# testcp_dd - double-to-double precision copy test
-echo "testcp_dd ..."
-echo "begin testcp_dd" >> test.output
-testcpd >> test.output
-echo "end testcp_dd" >> test.output
-ncdump -d5,5 testcpd.exo > testcp_dd.dmp
-
-# testcp_ds - double-to-single precision copy test
-echo "testcp_ds ..."
-echo "begin testcp_ds" >> test.output
-testcp >> test.output
-echo "end testcp_ds" >> test.output
-ncdump -d5,5 testcp.exo > testcp_ds.dmp
-
-# testwt1 - single precision write files with several side sets
-echo "testwt1 ..."
-echo "begin testwt1" >> test.output
-testwt1 >> test.output
-echo "end testwt1" >> test.output
-ncdump -d5,5 test.exo > test1.dmp
-
-# testrd1 - single precision read test of a file with several side sets
-echo "testrd1 ..."
-testrd1 > testrd1.dmp
-
-# testwt_ss - write file to test side sets
-echo "testwt_ss ..."
-echo "begin testwt_ss" >> test.output
-testwt_ss >> test.output
-echo "end testwt_ss" >> test.output
-ncdump -d5,5 test.exo > testwt_ss.dmp
-
-# testrd_ss - read test of a file with several side sets
-echo "testrd_ss ..."
-testrd_ss > testrd_ss.dmp
-
-# testwt2 - single precision write 2 files (simultaneously open) test
-echo "testwt2 ..."
-echo "begin testwt2" >> test.output
-testwt2 >> test.output
-echo "end testwt2" >> test.output
-ncdump -d5,5 test.exo > test2-1.dmp
-ncdump -d5,5 test2.exo > test2-2.dmp
-
-# testrdwt - read from one and write to another (simutaneously open) file
-echo "testrdwt ..."
-echo "begin testrdwt" >> test.output
-testrdwt >> test.output
-echo "end testrdwt" >> test.output
-ncdump -d5,5 test2.exo > test2.dmp
-
diff --git a/cbind/test/oned.c b/cbind/test/oned.c
deleted file mode 100644
index 8b54e77..0000000
--- a/cbind/test/oned.c
+++ /dev/null
@@ -1,426 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <math.h>
-
-#include "exodusII.h"
-
-#define EXCHECK(FUNC) \
- do { if ( (FUNC) < 0 ) {\
- fprintf(stderr, "Error code %d returned after calling " #FUNC "\n"); \
- exit(1); \
- } else {\
- fprintf(stderr, "Called " #FUNC " successfully\n"); \
- }\
- } while (0)
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10];
- int num_nodes_in_nset[10];
- int num_node_sets, num_side_sets;
- int i, j, k, m, *elem_map, *connect;
- int node_list[100];
- int ebids[10], nsids[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars, num_nset_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float *nset_var_vals;
- float time_value;
- float x[100];
- float attrib[10], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10];
- char *prop_names[2], *attrib_names[2];
- char *title = "This is a test";
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("oned.e", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for oned.e, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- EXCHECK(ex_set_max_name_length(exoid, 40));
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 1;
- num_nodes = 10;
- num_elem = 10; /* 9 lines plus a point */
- num_elem_blk = 3;
- num_node_sets = 2;
- num_side_sets = 0;
-
-
- EXCHECK(ex_put_init (exoid, title, num_dim, num_nodes, num_elem, num_elem_blk, num_node_sets, num_side_sets));
-
- for (i=0; i < num_nodes; i++) {
- x[i] = exp((float)i/10.0);
- }
-
- EXCHECK(ex_put_coord (exoid, x, NULL, NULL));
-
- coord_names[0] = "xcoor";
- EXCHECK(ex_put_coord_names (exoid, coord_names));
-
- /* Add nodal attributes */
- EXCHECK(ex_put_attr_param(exoid, EX_NODAL, 0, 1));
-
- EXCHECK(ex_put_one_attr(exoid, EX_NODAL, 0, 1, x));
-
- attrib_names[0] = "Node_attr_1";
- EXCHECK(ex_put_attr_names (exoid, EX_NODAL, 0, attrib_names));
-
- /* write element order map */
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++) {
- elem_map[i-1] = 10*i;
- }
-
- EXCHECK(ex_put_map (exoid, elem_map));
- free (elem_map);
-
- /* write element block parameters */
- block_names[0] = "left_side";
- block_names[1] = "right_side";
- block_names[2] = "center";
-
- num_elem_in_block[0] = 4;
- num_elem_in_block[1] = 5;
- num_elem_in_block[2] = 1;
-
- num_nodes_per_elem[0] = 2;
- num_nodes_per_elem[1] = 2;
- num_nodes_per_elem[2] = 1;
-
- ebids[0] = 10;
- ebids[1] = 20;
- ebids[2] = 30;
-
- EXCHECK(ex_put_elem_block (exoid, ebids[0], "line", num_elem_in_block[0], num_nodes_per_elem[0], 1));
- EXCHECK(ex_put_elem_block (exoid, ebids[1], "line", num_elem_in_block[1], num_nodes_per_elem[1], 1));
- EXCHECK(ex_put_elem_block (exoid, ebids[2], "point", num_elem_in_block[2], num_nodes_per_elem[2], 0));
-
- /* Write element block names */
- EXCHECK(ex_put_names(exoid, EX_ELEM_BLOCK, block_names));
-
- /* write element block properties */
- prop_names[0] = "DENSITY";
- EXCHECK(ex_put_prop_names(exoid,EX_ELEM_BLOCK,1,prop_names));
- EXCHECK(ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], prop_names[0], 1.345));
- EXCHECK(ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], prop_names[0], 10.995));
- EXCHECK(ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], prop_names[0], 0.001));
-
-
- /* write element connectivity */
- connect = (int *) calloc(18, sizeof(int));
- for (i=0; i < num_elem*2; i+=2) {
- connect[i] = i/2+1;
- connect[i+1] = i/2+2;
- }
-
- EXCHECK(ex_put_conn (exoid, EX_ELEM_BLOCK, ebids[0], connect, NULL, NULL));
- EXCHECK(ex_put_conn (exoid, EX_ELEM_BLOCK, ebids[1], connect+8, NULL, NULL));
-
- /* Circle */
- connect[0] = 5;
- EXCHECK(ex_put_conn (exoid, EX_ELEM_BLOCK, ebids[2], connect, NULL, NULL));
-
- /* write element block attributes */
- for (i=0; i < num_elem; i++) {
- attrib[i] = 3.14159 * i;
- }
- EXCHECK(ex_put_attr (exoid, EX_ELEM_BLOCK, ebids[0], attrib));
- EXCHECK(ex_put_attr (exoid, EX_ELEM_BLOCK, ebids[1], attrib+num_elem_in_block[0]));
-
- attrib_names[0] = "THICKNESS";
- EXCHECK(ex_put_attr_names (exoid, EX_ELEM_BLOCK, ebids[0], attrib_names));
- attrib_names[0] = "WIDTH";
- EXCHECK(ex_put_attr_names (exoid, EX_ELEM_BLOCK, ebids[1], attrib_names));
-
- /* write individual node sets */
- num_nodes_in_nset[0] = 5;
- num_nodes_in_nset[1] = 3;
-
- nsids[0] = 20;
- nsids[1] = 21;
-
- EXCHECK(ex_put_node_set_param (exoid, nsids[0], 5, 5));
-
- node_list[0] = 1;
- node_list[1] = 3;
- node_list[2] = 5;
- node_list[3] = 7;
- node_list[4] = 9;
-
- dist_fact[0] = 1.0;
- dist_fact[1] = 2.0;
- dist_fact[2] = 3.0;
- dist_fact[3] = 4.0;
- dist_fact[4] = 5.0;
-
- EXCHECK(ex_put_node_set (exoid, nsids[0], node_list));
- EXCHECK(ex_put_node_set_dist_fact (exoid, nsids[0], dist_fact));
-
- EXCHECK(ex_put_node_set_param (exoid, nsids[1], 3, 3));
-
- node_list[0] = 2;
- node_list[1] = 4;
- node_list[2] = 6;
-
- dist_fact[0] = 1.0;
- dist_fact[1] = 2.0;
- dist_fact[2] = 3.0;
-
- EXCHECK(ex_put_node_set (exoid, nsids[1], node_list));
- EXCHECK(ex_put_node_set_dist_fact (exoid, nsids[1], dist_fact));
-
- /* Write node set names */
- nset_names[0] = "all_odd_nodes";
- nset_names[1] = "some_even_nodes";
-
- EXCHECK(ex_put_names(exoid, EX_NODE_SET, nset_names));
- EXCHECK(ex_put_prop(exoid, EX_NODE_SET, nsids[0], "FACE", 4));
-
- EXCHECK(ex_put_prop(exoid, EX_NODE_SET, nsids[1], "FACE", 5));
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- EXCHECK(ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array));
- /* Add nodeset attributes */
- EXCHECK(ex_put_attr_param(exoid, EX_NODE_SET, nsids[0], 1));
-
- EXCHECK(ex_put_attr(exoid, EX_NODE_SET, nsids[0], x));
-
- attrib_names[0] = "Nodeset_attribute";
- EXCHECK(ex_put_attr_names (exoid, EX_NODE_SET, nsids[0], attrib_names));
-
- /* write QA records; test empty and just blank-filled records */
- num_qa_rec = 2;
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- EXCHECK(ex_put_qa (exoid, num_qa_rec, qa_record));
-
- /* write information records; test empty and just blank-filled records */
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- EXCHECK(ex_put_info (exoid, num_info, info));
-
-
- /* write results variables parameters and names */
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- EXCHECK(ex_put_variable_param (exoid, EX_GLOBAL, num_glo_vars));
- EXCHECK(ex_put_variable_names (exoid, EX_GLOBAL, num_glo_vars, var_names));
-
- num_nod_vars = 2;
- /* 12345678901234567890123456789012 */
- var_names[0] = "node_variable_a_very_long_name_0";
- var_names[1] = "nod_var1";
-
- EXCHECK(ex_put_variable_param (exoid, EX_NODAL, num_nod_vars));
- EXCHECK(ex_put_variable_names (exoid, EX_NODAL, num_nod_vars, var_names));
-
- num_ele_vars = 3;
- /* 0 1 2 3 */
- /* 12345678901234567890123456789012 */
- var_names[0] = "this_variable_name_is_short";
- var_names[1] = "this_variable_name_is_just_right";
- var_names[2] = "this_variable_name_is_tooooo_long";
-
- EXCHECK(ex_put_variable_param (exoid, EX_ELEM_BLOCK, num_ele_vars));
- EXCHECK(ex_put_variable_names (exoid, EX_ELEM_BLOCK, num_ele_vars, var_names));
-
- num_nset_vars = 3;
-
- var_names[0] = "ns_var0";
- var_names[1] = "ns_var1";
- var_names[2] = "ns_var2";
-
- EXCHECK(ex_put_variable_param (exoid, EX_NODE_SET, num_nset_vars));
- EXCHECK(ex_put_variable_names (exoid, EX_NODE_SET, num_nset_vars, var_names));
-
-
- /* write element variable truth table */
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- EXCHECK(ex_put_truth_table(exoid, EX_ELEM_BLOCK, num_elem_blk, num_ele_vars, truth_tab));
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (num_elem, CPU_word_size);
- nset_var_vals = (float *) calloc (10, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
- /* write time value */
- EXCHECK(ex_put_time (exoid, whole_time_step, &time_value));
-
- /* write global variables */
- for (j=0; j<num_glo_vars; j++) {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- EXCHECK(ex_put_var (exoid, whole_time_step, EX_GLOBAL, 0, 0, num_glo_vars, glob_var_vals));
-
- /* write nodal variables */
- for (k=1; k<=num_nod_vars; k++) {
- for (j=0; j<num_nodes; j++) {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
- EXCHECK(ex_put_var (exoid, whole_time_step, EX_NODAL, k, 1, num_nodes, nodal_var_vals));
- }
-
- /* write element variables */
- for (k=1; k<=num_ele_vars; k++) {
- for (j=0; j<num_elem_blk; j++) {
- for (m=0; m<num_elem_in_block[j]; m++) {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- }
- EXCHECK(ex_put_var (exoid, whole_time_step, EX_ELEM_BLOCK, k, ebids[j], num_elem_in_block[j], elem_var_vals));
- }
- }
-
- /* write nodeset variables */
- for (k=1; k<=num_nset_vars; k++) {
- for (j=0; j<num_node_sets; j++) {
- for (m=0; m<num_nodes_in_nset[j]; m++) {
- nset_var_vals[m] = (float)(k+3) + (float)(j+4) +
- ((float)(m+1)*time_value);
- }
- EXCHECK(ex_put_var (exoid, whole_time_step, EX_NODE_SET, k, nsids[j], num_nodes_in_nset[j], nset_var_vals));
- }
- }
-
- whole_time_step++;
-
- /* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- EXCHECK(ex_update (exoid));
- }
-
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
- free(nset_var_vals);
-
-
-/* close the EXODUS files */
- EXCHECK(ex_close (exoid));
- return 0;
-}
diff --git a/cbind/test/rd_wt_mesh.c b/cbind/test/rd_wt_mesh.c
deleted file mode 100644
index 4f91fbd..0000000
--- a/cbind/test/rd_wt_mesh.c
+++ /dev/null
@@ -1,1271 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-
-#define _FILE_OFFSET_BITS 64
-#define _LARGEFILE_SOURCE
-#define _LARGE_FILES 1
-
-#if defined(__LIBCATAMOUNT__)
-#include <catamount/dclock.h>
-#endif
-
-#ifdef HAVE_PARALLEL
-#include <mpi.h>
-#else
-#include <string.h>
-#include <time.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <limits.h>
-#include <float.h>
-#include <string.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <assert.h>
-
-#include "exodusII.h"
-
-#define DEFAULT_NUM_FIELDS 0
-#define DEFAULT_FILE_NAME "mesh"
-#define DEFAULT_NUM_ITERATIONS 1
-#define EXODUS_FILE_TYPE "e"
-#define MBYTES (1024*1024)
-#define MAX_STRING_LEN 128
-#define NUM_NODES_PER_ELEM 8
-#define QUIT FALSE
-#define WRITE_FILE_TYPE "new"
-
-/*
- * Prototypes
- */
-
-typedef double realtyp;
-
-void get_file_name(const char* base, const char* ext, int rank, int nprocs,
- const char* other,char *output);
-
-int parse_input(
- int argc,
- char *argv[],
- int *exodus,
- int *close_files,
- char *file_name,
- int *num_nodal_fields,
- int *num_global_fields,
- int *num_element_fields,
- int *files_per_domain,
- int *num_iterations,
- int *sleep_time
-);
-
-int read_exo_mesh ( char *file_name, int rank, int *ndim, int num_domains, int *num_nodal_fields,
- int *num_global_fields, int *num_element_fields,
- int *num_timesteps,
- int sleep_time, int num_iterations,
- int *num_nodes, int **node_map,
- int *num_elems, int **elem_map,
- realtyp **x_coords, realtyp **y_coords, realtyp **z_coords, int **loc_connect );
-
-int write_exo_mesh ( char *file_name, int rank, int ndim, int num_domains,
- int num_nodal_fields, int num_global_fields, int num_element_fields,
- int num_timesteps, int files_per_domain,
- int sleep_time, int num_iterations,
- int loc_num_nodes, int *node_map,
- int loc_num_elems, int *elem_map,
- realtyp *x_coords, realtyp *y_coords, realtyp *z_coords, int *loc_connect, int close_files);
-
-double my_timer()
-{
- double t1 = 0.0;
-
-#if !defined(__LIBCATAMOUNT__)
-#ifdef HAVE_PARALLEL
- t1 = MPI_Wtime();
-#else
- clock_t ctime = clock();
- t1 = ctime / (double)CLOCKS_PER_SEC;
-#endif
-#else
- return dclock();
-#endif
- return t1;
-}
-
-/***********************************************************************
- *
- * Main function
- *
- ***********************************************************************/
-
-int main( int argc, char **argv )
-{
- int rank, num_domains;
- int quit=FALSE;
- int loc_num_nodes, loc_num_elems;
- int *loc_connect = NULL;
-
-#ifdef HAVE_PARALLEL
- MPI_Info mpi_info_object = MPI_INFO_NULL; /* Copy of MPI Info object. */
-#endif
- int *elem_map = NULL;
- int exodus = TRUE; /* TRUE, perform EXODUS benchmark; FALSE don't */
- int close_files = FALSE;
- char file_name[MAX_STRING_LEN] = DEFAULT_FILE_NAME; /* Input file name. */
- /* object, FALSE otherwise. Should always be */
- /* TRUE in the current implementation. */
- int num_nodal_fields = DEFAULT_NUM_FIELDS;
- int num_global_fields = DEFAULT_NUM_FIELDS;
- int num_element_fields = DEFAULT_NUM_FIELDS;
- int num_timesteps = 0;
- int sleep_time = 0;
- int files_per_domain = 1;
- int num_iterations = DEFAULT_NUM_ITERATIONS;
-#ifdef HAVE_PARALLEL
- static const char *hints[] = { /* List of MPI Info hints that if defined in */
- "cb_buffer_size", /* the environment process 0, will be used to */
- "cb_nodes", /* set key/value pairs in the MPI */
- "ind_rd_buffer_size", /* Info object. */
- "ind_wr_buffer_size",
- "cb_config_list",
- "romio_cb_read",
- "romio_cb_write",
- "romio_ds_read",
- "romio_ds_write",
- "romio_no_indep_rw"
- };
- char key_name[MAX_STRING_LEN]; /* MPI Info object key name. */
- int key; /* MPI Info object key index. */
- int key_exists; /* TRUE, if the key exists in the MPI Info */
- const int nhints = 10; /* Number of items in hints list. */
- int nkeys; /* Number of keys in a MPI Info object. */
- char value[MAX_STRING_LEN]; /* Value of a key/value pair in a MPI Info */
-#endif
- /* object. */
- realtyp *x_coords = NULL;
- realtyp *y_coords = NULL;
- realtyp *z_coords = NULL;
- int ndim;
-#ifdef HAVE_PARALLEL
- MPI_Info new_mpi_info_object;
-#endif
-
- /*
- * Initialize Stuff
- */
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
-#if defined(__LIBCATAMOUNT__)
- setlinebuf(stderr);
-#endif
-
-#ifdef HAVE_PARALLEL
- MPI_Init ( &argc, &argv );
- MPI_Comm_rank( MPI_COMM_WORLD, &rank );
- MPI_Comm_size( MPI_COMM_WORLD, &num_domains );
-#else
- rank = 0;
- num_domains = 1;
-#endif
- /*
- * Processor 0: parse the command line arguments.
- */
-
- if ( rank == 0 ) {
- quit = (1 == parse_input(argc, argv,
- &exodus, &close_files, file_name,
- &num_nodal_fields, &num_global_fields, &num_element_fields,
- &files_per_domain, &num_iterations, &sleep_time));
- }
-
-
- /*
- * Broadcast Input
- */
-
-#ifdef HAVE_PARALLEL
- MPI_Bcast ( &quit, 1, MPI_INT, 0, MPI_COMM_WORLD );
-#endif
-
- if (quit) {
-#ifdef HAVE_PARALLEL
- MPI_Finalize();
-#endif
- exit(0);
- }
-
-#ifdef HAVE_PARALLEL
- MPI_Bcast( &exodus, 1, MPI_INT, 0, MPI_COMM_WORLD );
- MPI_Bcast( &close_files, 1, MPI_INT, 0, MPI_COMM_WORLD );
- MPI_Bcast( file_name, MAX_STRING_LEN, MPI_CHAR, 0, MPI_COMM_WORLD );
- MPI_Bcast( &num_nodal_fields, 1, MPI_INT, 0, MPI_COMM_WORLD );
- MPI_Bcast( &num_global_fields, 1, MPI_INT, 0, MPI_COMM_WORLD );
- MPI_Bcast( &num_element_fields,1, MPI_INT, 0, MPI_COMM_WORLD );
- MPI_Bcast( &num_iterations, 1, MPI_INT, 0, MPI_COMM_WORLD );
- MPI_Bcast( &files_per_domain, 1, MPI_INT, 0, MPI_COMM_WORLD );
-
- /* env_mpi_hints( nhints, hints ); */
- {
- char *env; /* Contents of environmental variable. */
- int hint; /* ROMIO hint index. */
- char hint_value[MAX_STRING_LEN]; /* ROMIO hint value. */
- int rank; /* MPI process rank. */
-
- MPI_Comm_rank( MPI_COMM_WORLD, &rank );
- /* The "value" of the hint is obtained from the environment of
- * processor 0 only. The value is broadcast to the other
- * processors.
- */
- for ( hint = 0; hint < nhints; hint++ ) {
- if ( rank == 0 ) {
- env = getenv( hints[hint] );
- if ( env != NULL )
- strcpy( hint_value, env );
- else
- hint_value[0] = 0;
- }
- MPI_Bcast( hint_value, MAX_STRING_LEN, MPI_CHAR, 0, MPI_COMM_WORLD );
- if ( hint_value[0] ) {
- if ( mpi_info_object == MPI_INFO_NULL )
- MPI_Info_create( &mpi_info_object );
- MPI_Info_set( mpi_info_object, hints[hint], hint_value );
- }
- }
- }
-#endif
-
- if (rank == 0) {
- fprintf(stderr, "\nEXODUSII 3D Benchmark\n\n" );
- fprintf(stderr, " Number of Domains\t\t%8d\n", num_domains );
- fprintf(stderr, " Number of Files/Domain\t%8d\n", files_per_domain );
- fprintf(stderr, " Number of Iterations\t\t%8d\n", num_iterations );
-
-#ifdef HAVE_PARALLEL
- if ( mpi_info_object != MPI_INFO_NULL ) {
- fprintf(stderr, " MPI Hint Status\n" );
-
- MPI_Info_get_nkeys( mpi_info_object, &nkeys );
-
- for ( key = 0; key < nkeys; key++ ) {
- MPI_Info_get_nthkey( mpi_info_object, key, key_name );
- MPI_Info_get ( mpi_info_object, key_name, MAX_STRING_LEN, value, &key_exists );
-
- fprintf(stderr, " %s\t\t\t%s\n", key_name, value );
- }
-
- MPI_Info_free( &mpi_info_object );
- }
- else
- fprintf(stderr, " MPI Hint Status\tMPI_INFO_NULL\n" );
-#endif
- }
-
- if ( exodus ) {
- int *node_map = NULL;
- if (0 == read_exo_mesh(file_name, rank, &ndim, num_domains,
- &num_nodal_fields, &num_global_fields, &num_element_fields,
- &num_timesteps, sleep_time, num_iterations,
- &loc_num_nodes, &node_map, &loc_num_elems, &elem_map,
- &x_coords, &y_coords, &z_coords, &loc_connect)
- ) {
- write_exo_mesh(file_name, rank, ndim, num_domains,
- num_nodal_fields, num_global_fields, num_element_fields,
- num_timesteps, files_per_domain, sleep_time, num_iterations,
- loc_num_nodes, node_map, loc_num_elems, elem_map,
- x_coords, y_coords, z_coords, loc_connect, close_files);
-
- free( elem_map );
- free( loc_connect );
- free( node_map );
- free( x_coords );
- free( y_coords );
- free( z_coords );
- }
-}
-#ifdef HAVE_PARALLEL
- MPI_Finalize();
-#endif
- return(0);
-}
-
-/***********************************************************************
- *
- * Parse Input
- *
- ***********************************************************************/
-
-int parse_input (int argc,
- char *argv[],
- int *exodus,
- int *close_files,
- char *file_name,
- int *num_nodal_fields,
- int *num_global_fields,
- int *num_element_fields,
- int *files_per_domain,
- int *num_iterations,
- int *sleep_time) {
- int arg = 0; /* Argument index. */
-
- while ( ++arg < argc ) {
- if ( strcmp( "-c", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_nodal_fields = atoi( argv[arg] );
- }
- else if ( strcmp( "-nv", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_nodal_fields = atoi( argv[arg] );
- }
- else if ( strcmp( "-gv", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_global_fields = atoi( argv[arg] );
- }
- else if ( strcmp( "-ev", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_element_fields = atoi( argv[arg] );
- }
- else if ( strcmp( "-f", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) strcpy( file_name, argv[arg] );
- }
- else if ( strcmp( "-M", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *files_per_domain = atoi( argv[arg] );
- }
- else if ( strcmp( "-i", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *num_iterations = atoi( argv[arg] );
- }
- else if ( strcmp( "-w", argv[arg] ) == 0 ) {
- if ( ++arg < argc ) *sleep_time = atoi( argv[arg] );
- }
- else if ( strcmp( "-x", argv[arg] ) == 0 ) {
- *exodus = TRUE;
- }
- else if ( strcmp( "-C", argv[arg] ) == 0 ) {
- *close_files = TRUE;
- }
- else if ( (strcmp( "-h", argv[arg] ) == 0) || (strcmp( "-u", argv[arg] ) == 0) ) {
- fprintf(stderr, " \n" );
- fprintf(stderr, "NAME \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, "rd_wt_mesh - reads and writes a mesh in parallel for performance\n" );
- fprintf(stderr, " benchmarking. \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, "SYNOPSIS \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, "rd_wt_mesh [-S] [-c fields] [-f file_name] [-h] [-i iterations] \n" );
- fprintf(stderr, " [-s] [-u] [-x] [-w] \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, "DESCRIPTION \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, "This program reads and writes a mesh in parallel for performance\n" );
- fprintf(stderr, "benchmarking. The first Exodus database file read by \n" );
- fprintf(stderr, "this program is created by create_mesh. Performance summaries \n" );
- fprintf(stderr, "are written to stdout. \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, "OPTIONS \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, "-c fields number of fields. Default: %d \n", DEFAULT_NUM_FIELDS );
- fprintf(stderr, "-f file_name file name prefix for all read files: \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, " 'file_name'%s.nproc.rank [EXODUS II file] \n", EXODUS_FILE_TYPE );
- fprintf(stderr, " \n" );
- fprintf(stderr, " Default: %s \n", DEFAULT_FILE_NAME );
- fprintf(stderr, "-M files number of files/domain. Default: 1 \n" );
- fprintf(stderr, "-h display help/usage information \n" );
- fprintf(stderr, "-i iterations number of iterations. Default: %d \n", DEFAULT_NUM_ITERATIONS );
- fprintf(stderr, "-C minimize open files. \n" );
- fprintf(stderr, "-u display help/usage information \n" );
- fprintf(stderr, "-w time wait (sleep) specified time between timesteps.\n" );
- return(1);
- }
- else {
- fprintf(stderr, "Unknown option: %s\n", argv[arg] );
- fprintf(stderr, "Enter rd_wt_mesh -h for description of valid options.\n" );
-
- return(1);
- }
- }
- return(0);
-}
-
-/***********************************************************************
- ***********************************************************************/
-int read_exo_mesh (char *file_name, int rank, int *num_dim, int num_domains,
- int *num_nodal_fields, int *num_global_fields, int *num_element_fields,
- int *num_timesteps,
- int sleep_time, int num_iterations,
- int *num_nodes, int **node_map,
- int *num_elems, int **elem_map,
- realtyp **x_coords, realtyp **y_coords, realtyp **z_coords, int **connect )
-
-{
- int CPU_word_size=sizeof(realtyp);
- int IO_word_size=0;
- int exoid, err, num_elem_blk, num_node_sets, num_side_sets;
- int num_nodes_per_elem, num_attrs, num_vars, i, iter;
- size_t len_connect;
- size_t file_size;
-
- struct stat file_status;
- size_t glob_file_size;
- size_t glob_raw_data_vol;
- size_t raw_data_vol = 0;
-
- float version;
- realtyp *globals = NULL;
-
- double tstart, tend, t_tmp1, t_tmp2;
- double raw_read_time, max_raw_read_time=0.0, min_raw_read_time=DBL_MAX;
- double cum_raw_read_time=0.0;
- double total_time, max_total_time=0.0, min_total_time=DBL_MAX;
- double raw_sleep_time = 0.0;
- double cum_total_time=0.0;
-
- char tmp_name[MAX_STRING_LEN], title[MAX_STRING_LEN+1];
- char type[MAX_STRING_LEN+1];
-
- for (iter=0; iter<num_iterations; iter++) {
- /* open the EXODUS file */
- get_file_name(file_name, EXODUS_FILE_TYPE, rank, num_domains, NULL, tmp_name);
- exoid = ex_open (tmp_name, EX_READ, &CPU_word_size, &IO_word_size, &version);
-
- if (exoid < 0) {
- printf ("after ex_open\n");
- return(1);
- }
-
- raw_read_time = 0.0;
- raw_data_vol = 0;
-
- tstart = my_timer();
-
-
- err = ex_get_init (exoid, title, num_dim,
- num_nodes, num_elems, &num_elem_blk,
- &num_node_sets, &num_side_sets);
-
- if (err) {
- printf ("after ex_get_init, error = %d\n", err);
- ex_close (exoid);
- return(1);
- }
-
- len_connect = (size_t)NUM_NODES_PER_ELEM * (*num_elems);
-
- /* malloc things we need */
- if( iter == 0) {
- *elem_map = malloc(sizeof(int) * (*num_elems));
- assert(elem_map);
- *connect = malloc(sizeof(int) * len_connect );
- assert(connect);
- *node_map = malloc(sizeof(int) * (*num_nodes));
- assert(node_map);
-
- *x_coords = malloc(sizeof(realtyp) * (*num_nodes));
- assert(x_coords);
- *y_coords = malloc(sizeof(realtyp) * (*num_nodes));
- assert(y_coords);
- *z_coords = malloc(sizeof(realtyp) * (*num_nodes));
- assert(z_coords);
- }
-
- t_tmp1 = my_timer();
-
- err = ex_get_coord (exoid, *x_coords, *y_coords, *z_coords);
-
- t_tmp2 = my_timer();
-
- raw_read_time += t_tmp2-t_tmp1;
- raw_data_vol += sizeof(realtyp) * 3 * (*num_nodes);
-
- if (err) {
- printf ("after ex_get_coord, error = %d\n", err);
- ex_close (exoid);
- return (1 );
- }
-
- err = ex_get_block
- (exoid, EX_ELEM_BLOCK, 10, type, num_elems, &num_nodes_per_elem, 0, 0, &num_attrs);
-
- if (err) {
- printf ("after ex_get_elem_block, error = %d\n", err);
- ex_close (exoid);
- return( 1 );
- }
-
- t_tmp1 = my_timer();
-
- err = ex_get_conn (exoid, EX_ELEM_BLOCK, 10, *connect, 0, 0);
-
- t_tmp2 = my_timer();
-
- raw_read_time += t_tmp2-t_tmp1;
- raw_data_vol += sizeof(int) * len_connect;
-
- if (err) {
- printf ("after ex_get_elem_conn, error = %d\n", err);
- ex_close (exoid);
- return( 1 );
- }
-
- /* read element and node maps */
- t_tmp1 = my_timer();
-
- err = ex_get_id_map (exoid, EX_NODE_MAP, *node_map);
- t_tmp2 = my_timer();
- raw_data_vol += sizeof(int) * (*num_nodes);
- raw_read_time += t_tmp2-t_tmp1;
-
- t_tmp1 = my_timer();
- err = ex_get_id_map (exoid, EX_ELEM_MAP, *elem_map);
- t_tmp2 = my_timer();
- raw_data_vol += sizeof(int)*(*num_elems);
- raw_read_time += t_tmp2-t_tmp1;
-
-
- /* read results variables */
- err = ex_get_variable_param (exoid, EX_NODAL, &num_vars);
-
- if (err) {
- printf ("after ex_get_var_param, error = %d\n", err);
- ex_close (exoid);
- return( 1 );
- }
- *num_nodal_fields = num_vars;
-
- err = ex_get_variable_param (exoid, EX_GLOBAL, &num_vars);
-
- if (err) {
- printf ("after ex_get_var_param, error = %d\n", err);
- ex_close (exoid);
- return( 1 );
- }
- *num_global_fields = num_vars;
- if (*num_global_fields > 0) {
- globals = malloc(*num_global_fields * sizeof(realtyp));
- assert(globals);
- }
-
- err = ex_get_variable_param (exoid, EX_ELEM_BLOCK, &num_vars);
-
- if (err) {
- printf ("after ex_get_var_param, error = %d\n", err);
- ex_close (exoid);
- return( 1 );
- }
- *num_element_fields = num_vars;
-
- /* read number of timesteps */
- *num_timesteps = ex_inquire_int (exoid, EX_INQ_TIME);
- if (rank == 0) {
- fprintf(stderr, " Number of Elements\t\t%8d (per domain)\n", *num_elems );
- fprintf(stderr, " Number of Nodes\t\t%8d (per domain)\n", *num_nodes );
- fprintf(stderr, " Number of Global Fields\t%8d\n", *num_global_fields);
- fprintf(stderr, " Number of Nodal Fields\t%8d\n", *num_nodal_fields);
- fprintf(stderr, " Number of Element Fields\t%8d\n", *num_element_fields);
- fprintf(stderr, " Number of Timesteps\t\t%8d\n", *num_timesteps);
- if (sleep_time > 0) {
- fprintf(stderr, " Timestep Sleep time\t%8d\n", sleep_time);
- }
- }
-
- if (*num_nodal_fields+ *num_global_fields+ *num_element_fields > 0) {
- int t;
-
- if (rank == 0) {
- fprintf (stderr, "\nReading Timestep: ");
- }
- for (t = 0; t < *num_timesteps; t++) {
- if (sleep_time > 0) {
- t_tmp1 = my_timer();
- sleep(sleep_time);
- t_tmp2 = my_timer();
- raw_sleep_time += t_tmp2-t_tmp1;
- }
- if (rank == 0) {
- fprintf(stderr," %d,", t+1);
- }
-
- for (i=1; i <= *num_nodal_fields; i++) {
- t_tmp1 = my_timer();
- err = ex_get_var (exoid, t+1, EX_NODAL, i, 0, *num_nodes, *x_coords);
- t_tmp2 = my_timer();
-
- raw_read_time += t_tmp2-t_tmp1;
- raw_data_vol += sizeof(realtyp)*(*num_nodes);
-
- if (err) {
- printf ("after ex_get_nodal_var, error = %d\n", err);
- ex_close (exoid);
- return( 1 );
- }
- }
-
- t_tmp1 = my_timer();
- err = ex_get_var (exoid, t+1, EX_GLOBAL, 0, 0, *num_global_fields, globals);
- t_tmp2 = my_timer();
-
- raw_read_time += t_tmp2-t_tmp1;
- raw_data_vol += sizeof(realtyp) * *num_global_fields;
-
- if (err) {
- printf ("after ex_get_glob_vars, error = %d\n", err);
- ex_close (exoid);
- return( 1 );
- }
-
- for (i=1; i <= *num_element_fields; i++) {
- t_tmp1 = my_timer();
- err = ex_get_var (exoid, t+1, EX_ELEM_BLOCK, i, 10, *num_elems, *x_coords);
- t_tmp2 = my_timer();
-
- raw_read_time += t_tmp2-t_tmp1;
- raw_data_vol += sizeof(realtyp) * (*num_elems);
-
- if (err) {
- printf ("after ex_get_elem_var, error = %d\n", err);
- ex_close (exoid);
- return( 1 );
- }
- }
- }
-
- if (rank == 0) {
- fprintf(stderr,"\n");
- }
- }
-
- err = ex_close (exoid);
- if (err) {
- printf ("after ex_close, error = %d\n", err);
- return ( 1 );
- }
- tend = my_timer();
-
- total_time = tend - tstart - raw_sleep_time;
- if (total_time > max_total_time) max_total_time = total_time;
- if (total_time < min_total_time) min_total_time = total_time;
- cum_total_time += total_time;
-
- if (raw_read_time > max_raw_read_time) max_raw_read_time = raw_read_time;
- if (raw_read_time < min_raw_read_time) min_raw_read_time = raw_read_time;
- cum_raw_read_time += raw_read_time;
- } /* end of for (iter...) */
-
-#ifdef HAVE_PARALLEL
- MPI_Allreduce (&raw_data_vol, &glob_raw_data_vol, 1, MPI_LONG, MPI_SUM,
- MPI_COMM_WORLD);
-#else
- glob_raw_data_vol = raw_data_vol;
-#endif
- /*
- * Get File Sizes
- *
- * Note: On ASCI Red, a specialized "stat", named "estat", was added to
- * accommodate file sizes upto 16GB. 3/27/2002
- */
-
- if (stat( tmp_name, &file_status)) {
- if ( rank == 0 )
- fprintf ( stderr, "Exodus Read: cannot get %s file size.\n", tmp_name );
- return( 1 );
- }
- else
- file_size = file_status.st_size;
-
-#ifdef HAVE_PARALLEL
- MPI_Allreduce(&file_size,
- &glob_file_size,
- 1,
- MPI_LONG,
- MPI_SUM,
- MPI_COMM_WORLD);
-#else
- glob_file_size = file_size;
-#endif
-
- if ( rank == 0 ) {
- fprintf(stderr, " \n" );
- fprintf(stderr, " Exodus Read Results \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, " Sizes (bytes) \n" );
- fprintf(stderr, " File %14ld \n", (long)glob_file_size);
- fprintf(stderr, " Raw Data %14ld \n", (long)glob_raw_data_vol);
- fprintf(stderr, " Difference %14ld (%5.2f%%) \n",
- (long)(glob_file_size - glob_raw_data_vol),
- (1.0*glob_file_size-1.0*glob_raw_data_vol)/(0.01*glob_file_size) );
- fprintf(stderr, " \n" );
- fprintf(stderr, " Times (sec) \t Minimum\t Maximum\t Average\n" );
- fprintf(stderr, " Raw Data Read (sec) \t%8.4g\t%8.4g\t%8.4g \n",
- min_raw_read_time, max_raw_read_time, cum_raw_read_time / num_iterations );
- fprintf(stderr, " All Other Read (sec) \t \t \t%8.4g \n",
- (cum_total_time - cum_raw_read_time) / num_iterations );
- fprintf(stderr, " Total Read (sec) \t \t \t%8.4g \n",
- cum_total_time / num_iterations );
- fprintf(stderr, " \n" );
- fprintf(stderr, " Input Bandwidths (MiB/sec) \t Minimum\t Maximum\t Average\n" );
- fprintf(stderr, " Raw Data Read (MiB/sec) \t%8.4g\t%8.4g\t%8.4g \n",
- (double)glob_raw_data_vol / max_raw_read_time / MBYTES,
- (double)glob_raw_data_vol / min_raw_read_time / MBYTES,
- (double)glob_raw_data_vol / cum_raw_read_time / MBYTES * num_iterations);
- fprintf(stderr, " Raw + Meta Data Read (MiB/sec)\t \t \t%8.4g \n",
- (double)glob_file_size / cum_total_time / MBYTES * num_iterations );
- }
- if (*num_global_fields > 0)
- free(globals);
- return(0);
-}
-
-/***********************************************************************
- ***********************************************************************/
-int write_exo_mesh (char *file_name, int rank, int num_dim, int num_domains, int num_nodal_fields,
- int num_global_fields, int num_element_fields, int num_timesteps,
- int files_per_domain, int sleep_time, int num_iterations,
- int num_nodes, int *node_map,
- int num_elems, int *elem_map,
- realtyp *x_coords, realtyp *y_coords, realtyp *z_coords, int *connect, int close_files )
-
-{
- int CPU_word_size = sizeof(realtyp);
- int IO_word_size = sizeof(realtyp);
- int j, t, npd, err, num_elem_blk, num_node_sets, num_side_sets;
- int iter;
- int *elem_var_tab = NULL;
- size_t file_size;
-
- struct stat file_status;
- size_t glob_file_size;
- size_t glob_raw_data_vol;
- size_t raw_data_vol = 0;
-
- realtyp *globals = NULL;
-
- double raw_open_close_time = 0.0;
- double cum_open_close_time = 0.0;
- double min_raw_open_close_time = DBL_MAX;
- double max_raw_open_close_time = 0.0;
- double tstart, tend, t_tmp1, t_tmp2;
- double raw_write_time, max_raw_write_time=0.0, min_raw_write_time=DBL_MAX;
- double cum_raw_write_time=0.0;
- double total_time, max_total_time=0.0, min_total_time=DBL_MAX;
- double cum_total_time=0.0;
- double raw_sleep_time=0.0;
- double put_time_time=0.0;
-
- char tmp_name[MAX_STRING_LEN];
- char base_name[MAX_STRING_LEN];
- char **gvar_name = NULL;
- char **nvar_name = NULL;
- char **evar_name = NULL;
-
- int *exoid = NULL;
- exoid = malloc(files_per_domain * sizeof(int));
-
- raw_open_close_time = 0.0;
- for (iter=0; iter<num_iterations; iter++) {
- if (!close_files) {
- t_tmp1 = my_timer();
- for (npd = 0; npd < files_per_domain; npd++) {
- /* create the EXODUS file */
-
- sprintf(base_name, "%s_%d", file_name, npd);
- get_file_name(base_name, EXODUS_FILE_TYPE, rank, num_domains, WRITE_FILE_TYPE, tmp_name);
- exoid[npd] = ex_create (tmp_name, EX_CLOBBER, &CPU_word_size, &IO_word_size);
-
- if (exoid[npd] < 0) {
- printf ("after ex_create\n");
-
- return( 1 );
- }
- }
- t_tmp2 = my_timer();
- raw_open_close_time += (t_tmp2 - t_tmp1);
- }
- raw_write_time = 0.0;
- raw_data_vol = 0;
-
- tstart = my_timer();
-
- num_elem_blk = 1;
- num_node_sets = 0;
- num_side_sets = 0;
-
- for (npd = 0; npd < files_per_domain; npd++) {
-
- if (close_files) {
- /* create the EXODUS file */
- sprintf(base_name, "%s_%d", file_name, npd);
- get_file_name(base_name, EXODUS_FILE_TYPE, rank, num_domains, WRITE_FILE_TYPE, tmp_name);
- exoid[npd] = ex_create (tmp_name, EX_CLOBBER, &CPU_word_size, &IO_word_size);
-
- if (exoid[npd] < 0) {
- printf ("after ex_create\n");
- return( 1 );
- }
- }
- err = ex_put_init (exoid[npd], "This is an EXODUSII performance test.", num_dim,
- num_nodes, num_elems, num_elem_blk,
- num_node_sets, num_side_sets);
-
- if (err) {
- printf ("after ex_put_init, error = %d\n", err);
- ex_close (exoid[npd]);
-
- return( 1);
- }
-
-
-#if 0
- {
- int ids[1] = {10};
- int num_elem_per_block[1];
- char *names[1] = {"hex"};
- int num_node_per_elem[1];
- int num_attr_per_block[1];
- int write_map = num_domains > 1 ? TRUE : FALSE;
- num_elem_per_block[0] = num_elems;
- num_node_per_elem[0] = NUM_NODES_PER_ELEM;
- num_attr_per_block[0] = 0;
- err = ex_put_concat_elem_block (exoid[npd], ids, names, num_elem_per_block,
- num_node_per_elem, num_attr_per_block, write_map);
- }
-#else
- err = ex_put_block
- (exoid[npd], EX_ELEM_BLOCK, 10, "hex", num_elems, NUM_NODES_PER_ELEM, 0, 0, 0);
-#endif
- if (err) {
- printf ("after ex_put_elem_block, error = %d\n", err);
- ex_close (exoid[npd]);
-
- return( 1 );
- }
-
- t_tmp1 = my_timer();
- err = ex_put_coord (exoid[npd], x_coords, y_coords, z_coords);
- t_tmp2 = my_timer();
-
- raw_write_time += t_tmp2-t_tmp1;
- raw_data_vol += sizeof(realtyp)*num_dim * num_nodes;
-
- if (err) {
- printf ("after ex_put_coord, error = %d\n", err);
- ex_close (exoid[npd]);
-
- return( 1 );
- }
-
- t_tmp1 = my_timer();
- err = ex_put_elem_conn (exoid[npd], 10, connect);
- t_tmp2 = my_timer();
-
- raw_write_time += t_tmp2-t_tmp1;
- raw_data_vol += sizeof(int) * num_elems * NUM_NODES_PER_ELEM;
-
- if (err) {
- printf ("after ex_put_elem_conn, error = %d\n", err);
- ex_close (exoid[npd]);
-
- return( 1);
- }
-
- /* write out element and node maps */
- t_tmp1 = my_timer();
- err = ex_put_id_map (exoid[npd], EX_NODE_MAP, node_map);
- t_tmp2 = my_timer();
-
- raw_write_time += t_tmp2-t_tmp1;
- raw_data_vol += sizeof(int)*num_nodes;
-
- if (err) {
- printf ("after ex_put_id_map, error = %d\n", err);
- ex_close (exoid[npd]);
-
- return( 1 );
- }
-
- t_tmp1 = my_timer();
-
- err = ex_put_id_map (exoid[npd], EX_ELEM_MAP, elem_map);
-
- t_tmp2 = my_timer();
-
- raw_write_time += t_tmp2-t_tmp1;
- raw_data_vol += sizeof(int)*num_elems;
-
- if (err) {
- printf ("after ex_put_id_map, error = %d\n", err);
- ex_close (exoid[npd]);
-
- return( 1 );
- }
-
- /* write out simulated results fields;
- we'll just write out the x coordinate field 'num_element_fields' times */
- if (num_element_fields > 0) {
- if (npd == 0) {
- elem_var_tab = malloc(num_element_fields * sizeof(int));
- assert(elem_var_tab);
- for (j = 0; j < num_element_fields; j++)
- elem_var_tab[j] = 1;
- }
- } else {
- elem_var_tab = 0;
- }
- err = ex_put_all_var_param(exoid[npd],
- num_global_fields,
- num_nodal_fields,
- num_element_fields,
- elem_var_tab,
- 0, 0, 0, 0);
- if (err) {
- fprintf(stderr, "after ex_put_all_var_param, error = %d\n", err);
- ex_close (exoid[npd]);
- exit(1);
- }
-
- if (num_nodal_fields > 0) {
-
- if (npd == 0) {
- nvar_name = malloc (num_nodal_fields * sizeof(char *));
- assert(nvar_name);
- for (j=0; j<num_nodal_fields; j++) {
- nvar_name[j] = malloc ((MAX_STRING_LEN+1) * sizeof (char));
- sprintf (nvar_name[j], "node_field_%d", j+1);
- }
- }
- err = ex_put_variable_names (exoid[npd], EX_NODAL, num_nodal_fields, nvar_name);
- if (npd == files_per_domain-1) {
- for (j=0; j<num_nodal_fields; j++) {
- free(nvar_name[j]);
- }
- free(nvar_name);
- }
- }
-
- if (num_global_fields > 0) {
- if (npd == 0) {
- globals = malloc(num_global_fields * sizeof(realtyp));
- gvar_name = malloc (num_global_fields * sizeof(char *));
- for (j=0; j<num_global_fields; j++) {
- gvar_name[j] = malloc ((MAX_STRING_LEN+1) * sizeof (char));
- sprintf (gvar_name[j], "global_field_%d", j+1);
- globals[j] = j;
- }
- }
-
- err = ex_put_variable_names (exoid[npd], EX_GLOBAL, num_global_fields, gvar_name);
-
- if (npd == files_per_domain-1) {
- for (j=0; j<num_global_fields; j++) {
- free(gvar_name[j]);
- }
- free(gvar_name);
- }
- }
-
- if (num_element_fields > 0) {
- if (npd == 0) {
- evar_name = malloc (num_element_fields * sizeof(char *));
- for (j=0; j<num_element_fields; j++) {
- evar_name[j] = malloc ((MAX_STRING_LEN+1) * sizeof (char));
- sprintf (evar_name[j], "element_field_%d", j+1);
- }
- }
-
- err = ex_put_variable_names (exoid[npd], EX_ELEM_BLOCK, num_element_fields, evar_name);
-
- if (npd == files_per_domain-1) {
- free(elem_var_tab);
- for (j=0; j<num_element_fields; j++) {
- free(evar_name[j]);
- }
- free(evar_name);
- }
- }
- if (close_files) {
- t_tmp1 = my_timer();
- ex_close(exoid[npd]);
- t_tmp2 = my_timer();
- raw_open_close_time += (t_tmp2 - t_tmp1);
- }
- }
-
- if (num_nodal_fields+num_global_fields+num_element_fields > 0) {
- if ( rank == 0 ) {
- fprintf (stderr, "\nWriting Timestep: ");
- }
- for (t=0; t<num_timesteps; t++) {
- for (npd = 0; npd < files_per_domain; npd++) {
- realtyp time = t;
-
- if (close_files) {
- float version;
- sprintf(base_name, "%s_%d", file_name, npd);
- t_tmp1 = my_timer();
- get_file_name(base_name, EXODUS_FILE_TYPE, rank, num_domains, WRITE_FILE_TYPE, tmp_name);
- exoid[npd] = ex_open(tmp_name, EX_WRITE, &CPU_word_size, &IO_word_size, &version);
- t_tmp2 = my_timer();
- raw_open_close_time += (t_tmp2 - t_tmp1);
- }
-
- if (sleep_time > 0) {
- t_tmp1 = my_timer();
- sleep(sleep_time);
- t_tmp2 = my_timer();
- raw_sleep_time += t_tmp2-t_tmp1;
- }
- t_tmp1 = my_timer();
- ex_put_time(exoid[npd], t+1, &time);
- t_tmp2 = my_timer();
- put_time_time += t_tmp2-t_tmp1;
- if ( rank == 0) {
- if (npd == 0) {
- fprintf(stderr, " %d", t+1);
- } else {
- fprintf(stderr, ".");
- }
- }
- if (num_global_fields > 0) {
- t_tmp1 = my_timer();
- err = ex_put_var (exoid[npd], t+1, EX_GLOBAL, 1, 0, num_global_fields, globals);
- t_tmp2 = my_timer();
- raw_write_time += t_tmp2-t_tmp1;
- if (err) {
- fprintf(stderr, "after ex_put_global_var, error = %d\n", err);
- ex_close (exoid[npd]);
- exit(1);
- }
- }
- for (j=0; j<num_nodal_fields; j++) {
- t_tmp1 = my_timer();
- err = ex_put_var (exoid[npd], t+1, EX_NODAL, j+1, 0, num_nodes, x_coords);
- t_tmp2 = my_timer();
- raw_write_time += t_tmp2-t_tmp1;
- if (err) {
- fprintf(stderr, "after ex_put_nodal_var, error = %d\n", err);
- ex_close (exoid[npd]);
- exit(1);
- }
- }
- for (j=0; j<num_element_fields; j++) {
- t_tmp1 = my_timer();
- err = ex_put_var (exoid[npd], t+1, EX_ELEM_BLOCK, j+1, 10, num_elems, x_coords);
- t_tmp2 = my_timer();
- raw_write_time += t_tmp2-t_tmp1;
- if (err) {
- fprintf(stderr, "after ex_put_element_var, error = %d\n", err);
- ex_close (exoid[npd]);
- exit(1);
- }
- }
- if (close_files) {
- t_tmp1 = my_timer();
- ex_close(exoid[npd]);
- t_tmp2 = my_timer();
- raw_open_close_time += (t_tmp2 - t_tmp1);
- }
- }
- }
-
- if ( rank == 0 ) {
- fprintf(stderr, "\n");
- }
- }
- t_tmp1 = my_timer();
- if (!close_files) {
- if ( rank == 0 ) {fprintf(stderr, "Closing database...");}
- for (npd = 0; npd < files_per_domain; npd++) {
- err = ex_close (exoid[npd]);
- if (err) {
- printf ("after ex_close, error = %d\n", err);
- return( 1);
- }
- }
- if ( rank == 0 ) {fprintf(stderr, "\n");}
- }
- t_tmp2 = my_timer();
- raw_open_close_time += (t_tmp2 - t_tmp1);
-
- if ( rank == 0 ) {
- fprintf(stderr, "ex_put_time = %5.2f seconds\n",put_time_time);
- }
- tend = my_timer();
-
- total_time = tend - tstart - raw_sleep_time;
-
- if (total_time > max_total_time) max_total_time = total_time;
- if (total_time < min_total_time) min_total_time = total_time;
-
- cum_total_time += total_time;
-
- if (raw_write_time > max_raw_write_time) max_raw_write_time = raw_write_time;
- if (raw_write_time < min_raw_write_time) min_raw_write_time = raw_write_time;
-
- cum_raw_write_time += raw_write_time;
-
- if (raw_open_close_time > max_raw_open_close_time) max_raw_open_close_time = raw_open_close_time;
- if (raw_open_close_time < min_raw_open_close_time) min_raw_open_close_time = raw_open_close_time;
-
- cum_open_close_time += raw_open_close_time;
-
-
- raw_data_vol += sizeof(realtyp)*(((size_t)num_nodes*num_nodal_fields) +
- (num_elems * num_element_fields) +
- (num_global_fields)) * num_timesteps*files_per_domain;
-
- } /* end of for (iter...) */
-
-#ifdef HAVE_PARALLEL
- MPI_Allreduce(
- &raw_data_vol,
- &glob_raw_data_vol,
- 1,
- MPI_LONG,
- MPI_SUM,
- MPI_COMM_WORLD
- );
-#else
- glob_raw_data_vol = raw_data_vol;
-#endif
- /*
- * Get File Sizes
- *
- * Note: On ASCI Red, a specialized "stat", named "estat", was added to
- * accommodate file sizes upto 16GB. 3/27/2002
- */
-
- if ( stat( tmp_name, &file_status ) ) {
- if ( rank == 0 )
- fprintf ( stderr, "Exodus Write: cannot get %s file size.\n", tmp_name );
-
- return( 1 );
- }
- else
- file_size = file_status.st_size * files_per_domain;
-
-#ifdef HAVE_PARALLEL
- MPI_Allreduce (&file_size, &glob_file_size, 1, MPI_LONG, MPI_SUM,
- MPI_COMM_WORLD);
-#else
- glob_file_size = file_size;
-#endif
-
- if ( rank == 0 ) {
- fprintf(stderr, " \n" );
- fprintf(stderr, " Exodus Write Results \n" );
- fprintf(stderr, " \n" );
- fprintf(stderr, " Sizes (bytes) \n" );
- fprintf(stderr, " File %14ld \n", (long)glob_file_size);
- fprintf(stderr, " Raw Data %14ld \n", (long)glob_raw_data_vol);
- fprintf(stderr, " Difference %14ld (%5.2f%%) \n",
- (long)(glob_file_size - glob_raw_data_vol),
- (1.0*glob_file_size-1.0*glob_raw_data_vol)/(0.01*glob_file_size) );
- fprintf(stderr, " \n" );
- fprintf(stderr, " Times \t Minimum\t Maximum\t Average\n" );
- fprintf(stderr, " Raw Data Write (sec) \t%8.4g\t%8.4g\t%8.4g \n",
- min_raw_write_time, max_raw_write_time, cum_raw_write_time / num_iterations );
- fprintf(stderr, " All Other Write (sec) \t \t \t%8.4g \n",
- (cum_total_time - cum_raw_write_time) / num_iterations );
- fprintf(stderr, " Open/Close Time (sec) \t \t \t%8.4g \n",
- cum_open_close_time / num_iterations );
- fprintf(stderr, " Total Write (sec) \t \t \t%8.4g \n",
- cum_total_time / num_iterations );
- fprintf(stderr, " \n" );
- fprintf(stderr, " Output Bandwidths \t Minimum\t Maximum\t Average\n" );
- fprintf(stderr, " Raw Data Write (MiB/sec) \t%8.4g\t%8.4g\t%8.4g \n",
- (double)glob_raw_data_vol / max_raw_write_time / MBYTES,
- (double)glob_raw_data_vol / min_raw_write_time / MBYTES,
- (double)glob_raw_data_vol / cum_raw_write_time / MBYTES * num_iterations);
- fprintf(stderr, " Raw + Meta Data Write (MiB/sec) \t \t%8.4g\n",
- (double)glob_file_size / cum_total_time / MBYTES * num_iterations );
- }
- free(exoid);
- if (num_global_fields > 0)
- free(globals);
- return(0);
-}
-
-/*****************************************************************************/
-void get_file_name(const char* base, const char* ext, int rank, int nprocs,
- const char* other,char *output)
-{
- int i1, iTemp1;
- int iMaxDigit=0, iMyDigit=0;
- char cTemp[128];
-
- output[0] = '\0';
- strcpy(output, base);
- strcat(output, ".");
- strcat(output, ext);
- if (other != NULL) {
- strcat(output, ".");
- strcat(output, other);
- }
-
- if (nprocs > 1) {
- /*
- * Find out the number of digits needed to specify the processor ID.
- * This allows numbers like 01-99, i.e., prepending zeros to the
- * name to preserve proper alphabetic sorting of the files.
- */
-
- iTemp1 = nprocs;
- do {
- iTemp1 /= 10;
- iMaxDigit++;
- }
- while(iTemp1 >= 1);
-
- iTemp1 = rank;
- do {
- iTemp1 /= 10;
- iMyDigit++;
- }
- while(iTemp1 >= 1);
-
- strcat(output, ".");
- sprintf(cTemp, "%d", nprocs);
- strcat(output, cTemp);
- strcat(output, ".");
-
- /*
- * Append the proper number of zeros to the filename.
- */
- for(i1=0; i1 < iMaxDigit-iMyDigit; i1++)
- strcat(output, "0");
-
- sprintf(cTemp, "%d", rank);
- strcat(output, cTemp);
- }
-}
diff --git a/cbind/test/test.dmp b/cbind/test/test.dmp
deleted file mode 100644
index 53117e6..0000000
--- a/cbind/test/test.dmp
+++ /dev/null
@@ -1,1025 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 7 ;
- num_el_blk = 7 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_att_in_nblk = 2 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 8 ;
- num_att_in_blk6 = 1 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 3 ;
- num_att_in_blk7 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_att_in_ns1 = 1 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 8 ;
- num_side_ss5 = 10 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
- num_nset_var = 3 ;
- num_sset_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- float nattrb(num_nodes, num_att_in_nblk) ;
- char nattrib_name(num_att_in_nblk, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- float attrib6(num_el_in_blk6, num_att_in_blk6) ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "tetra" ;
- float attrib7(num_el_in_blk7, num_att_in_blk7) ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "tri" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATERIAL_PROPERTY_LONG_NAME_32CH" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- float nsattrb1(num_nod_ns1, num_att_in_ns1) ;
- char nsattrib_name1(num_att_in_ns1, len_name) ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- char name_nset_var(num_nset_var, len_name) ;
- char name_sset_var(num_sset_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var1eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var2eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var3eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var1eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var2eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var3eb7(time_step, num_el_in_blk7) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
- float vals_sset_var1ss1(time_step, num_side_ss1) ;
- float vals_sset_var1ss2(time_step, num_side_ss2) ;
- float vals_sset_var1ss3(time_step, num_side_ss3) ;
- float vals_sset_var1ss4(time_step, num_side_ss4) ;
- float vals_sset_var1ss5(time_step, num_side_ss5) ;
- float vals_sset_var2ss1(time_step, num_side_ss1) ;
- float vals_sset_var2ss2(time_step, num_side_ss2) ;
- float vals_sset_var2ss3(time_step, num_side_ss3) ;
- float vals_sset_var2ss4(time_step, num_side_ss4) ;
- float vals_sset_var2ss5(time_step, num_side_ss5) ;
- float vals_sset_var3ss1(time_step, num_side_ss1) ;
- float vals_sset_var3ss2(time_step, num_side_ss2) ;
- float vals_sset_var3ss3(time_step, num_side_ss3) ;
- float vals_sset_var3ss4(time_step, num_side_ss4) ;
- float vals_sset_var3ss5(time_step, num_side_ss5) ;
- float vals_nset_var1ns1(time_step, num_nod_ns1) ;
- float vals_nset_var1ns2(time_step, num_nod_ns2) ;
- float vals_nset_var2ns1(time_step, num_nod_ns1) ;
- float vals_nset_var2ns2(time_step, num_nod_ns2) ;
- float vals_nset_var3ns1(time_step, num_nod_ns1) ;
- float vals_nset_var3ns2(time_step, num_nod_ns2) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- eb_names =
- "block_1",
- "block_2",
- "block_3",
- "block_4",
- "block_5",
- "block_6",
- "block_7" ;
-
- ns_names =
- "nset_1",
- "nset_2" ;
-
- ss_names =
- "sset_1",
- "sset_2",
- "sset_3",
- "sset_4",
- "sset_5" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- nattrb =
- 0, 0,
- 1, 0,
- 1, 1,
- 0, 1,
- 1, 0,
- 2, 0,
- 2, 1,
- 1, 1,
- 0, 0,
- 10, 0,
- 10, 0,
- 1, 0,
- 1, 10,
- 10, 10,
- 10, 10,
- 1, 10,
- 0, 0,
- 1, 0,
- 10, 0,
- 7, 5,
- 3, 0,
- 6, 0,
- 0, 0,
- 3, 2,
- 6, 2,
- 0, 2,
- 2.7, 1.7,
- 6, 1.7,
- 5.7, 1.7,
- 3.7, 0,
- 0, 0,
- 10, 0,
- 10, 10 ;
-
- nattrib_name =
- "Node_attr_1",
- "Node_attr_2" ;
-
- elem_map = 1, 2, 3, 4, 5, 6, 7 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "THICKNESS" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "THICKNESS" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "THICKNESS" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "THICKNESS" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "THICKNESS" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- attrib6 =
- 6.1416 ;
-
- attrib_name6 =
- "THICKNESS" ;
-
- connect6 =
- 17, 18, 19, 20, 27, 28, 30, 29 ;
-
- attrib7 =
- 6.1416 ;
-
- attrib_name7 =
- "THICKNESS" ;
-
- connect7 =
- 31, 32, 33 ;
-
- eb_prop2 = 10, 20, 30, 40, 50, 60, 70 ;
-
- eb_prop3 = _, _, _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- nsattrb1 =
- 0,
- 1,
- 1,
- 0,
- 1 ;
-
- nsattrib_name1 =
- "Nodeset_attribute" ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4, 6, 6, 6, 6 ;
-
- side_ss4 = 1, 2, 3, 4, 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 ;
-
- side_ss5 = 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "TESTWT",
- "testwt",
- "07/07/93",
- "15:41:33",
- "",
- " ",
- "",
- " " ;
-
- info_records =
- "This is the first information record.",
- "",
- " " ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26, 1.27, 1.28, 1.29, 1.3, 1.31, 1.32, 1.33,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5,
- 1.52, 1.54, 1.56, 1.58, 1.6, 1.62, 1.64, 1.66,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78, 1.81, 1.84, 1.87, 1.9, 1.93, 1.96, 1.99,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5,
- 2.56, 2.62, 2.68, 2.74, 2.8, 2.86, 2.92, 2.98,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82, 2.89, 2.96, 3.03, 3.1, 3.17, 3.24, 3.31,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 3.16, 3.24, 3.32, 3.4, 3.48, 3.56, 3.64,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34, 3.43, 3.52, 3.61, 3.7, 3.79, 3.88, 3.97,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4,
- 4.1, 4.2, 4.3 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26, 2.27, 2.28, 2.29, 2.3, 2.31, 2.32, 2.33,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5,
- 2.52, 2.54, 2.56, 2.58, 2.6, 2.62, 2.64, 2.66,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78, 2.81, 2.84, 2.87, 2.9, 2.93, 2.96, 2.99,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 3.08, 3.12, 3.16, 3.2, 3.24, 3.28, 3.32,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 3.35, 3.4, 3.45, 3.5, 3.55, 3.6, 3.65,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5,
- 3.56, 3.62, 3.68, 3.74, 3.8, 3.86, 3.92, 3.98,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82, 3.89, 3.96, 4.03, 4.1, 4.17, 4.24, 4.31,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 4.16, 4.24, 4.32, 4.4, 4.48, 4.56, 4.64,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34, 4.43, 4.52, 4.61, 4.7, 4.79, 4.88, 4.97,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5,
- 5.1, 5.2, 5.3 ;
-
- name_nod_var =
- "node_variable_a_very_long_name_0",
- "nod_var1" ;
-
- name_elem_var =
- "this_variable_name_is_short",
- "this_variable_name_is_just_right",
- "this_variable_name_is_tooooo_lon" ;
-
- name_nset_var =
- "ns_var0",
- "ns_var1",
- "ns_var2" ;
-
- name_sset_var =
- "ss_var0",
- "ss_var1",
- "ss_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb3 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var1eb6 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var2eb6 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var3eb6 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var1eb7 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var2eb7 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var3eb7 =
- 12.01,
- 12.02,
- 12.03,
- 12.04,
- 12.05,
- 12.06,
- 12.07,
- 12.08,
- 12.09,
- 12.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1 ;
-
- vals_sset_var1ss1 =
- 6.01, 6.02,
- 6.02, 6.04,
- 6.03, 6.06,
- 6.04, 6.08,
- 6.05, 6.1,
- 6.06, 6.12,
- 6.07, 6.14,
- 6.08, 6.16,
- 6.09, 6.18,
- 6.1, 6.2 ;
-
- vals_sset_var1ss2 =
- 7.01, 7.02,
- 7.02, 7.04,
- 7.03, 7.06,
- 7.04, 7.08,
- 7.05, 7.1,
- 7.06, 7.12,
- 7.07, 7.14,
- 7.08, 7.16,
- 7.09, 7.18,
- 7.1, 7.2 ;
-
- vals_sset_var1ss3 =
- 8.01, 8.02, 8.03, 8.04, 8.05, 8.06, 8.07,
- 8.02, 8.04, 8.06, 8.08, 8.1, 8.12, 8.14,
- 8.03, 8.06, 8.09, 8.12, 8.15, 8.18, 8.21,
- 8.04, 8.08, 8.12, 8.16, 8.2, 8.24, 8.28,
- 8.05, 8.1, 8.15, 8.2, 8.25, 8.3, 8.35,
- 8.06, 8.12, 8.18, 8.24, 8.3, 8.36, 8.42,
- 8.07, 8.14, 8.21, 8.28, 8.35, 8.42, 8.49,
- 8.08, 8.16, 8.24, 8.32, 8.4, 8.48, 8.56,
- 8.09, 8.18, 8.27, 8.36, 8.45, 8.54, 8.63,
- 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7 ;
-
- vals_sset_var1ss4 =
- 9.01, 9.02, 9.03, 9.04, 9.05, 9.06, 9.07, 9.08,
- 9.02, 9.04, 9.06, 9.08, 9.1, 9.12, 9.14, 9.16,
- 9.03, 9.06, 9.09, 9.12, 9.15, 9.18, 9.21, 9.24,
- 9.04, 9.08, 9.12, 9.16, 9.2, 9.24, 9.28, 9.32,
- 9.05, 9.1, 9.15, 9.2, 9.25, 9.3, 9.35, 9.4,
- 9.06, 9.12, 9.18, 9.24, 9.3, 9.36, 9.42, 9.48,
- 9.07, 9.14, 9.21, 9.28, 9.35, 9.42, 9.49, 9.56,
- 9.08, 9.16, 9.24, 9.32, 9.4, 9.48, 9.56, 9.64,
- 9.09, 9.18, 9.27, 9.36, 9.45, 9.54, 9.63, 9.72,
- 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8 ;
-
- vals_sset_var1ss5 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07, 10.08, 10.09, 10.1,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14, 10.16, 10.18, 10.2,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21, 10.24, 10.27, 10.3,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28, 10.32, 10.36, 10.4,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35, 10.4, 10.45, 10.5,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42, 10.48, 10.54, 10.6,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49, 10.56, 10.63, 10.7,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56, 10.64, 10.72, 10.8,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63, 10.72, 10.81, 10.9,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11 ;
-
- vals_sset_var2ss1 =
- 7.01, 7.02,
- 7.02, 7.04,
- 7.03, 7.06,
- 7.04, 7.08,
- 7.05, 7.1,
- 7.06, 7.12,
- 7.07, 7.14,
- 7.08, 7.16,
- 7.09, 7.18,
- 7.1, 7.2 ;
-
- vals_sset_var2ss2 =
- 8.01, 8.02,
- 8.02, 8.04,
- 8.03, 8.06,
- 8.04, 8.08,
- 8.05, 8.1,
- 8.06, 8.12,
- 8.07, 8.14,
- 8.08, 8.16,
- 8.09, 8.18,
- 8.1, 8.2 ;
-
- vals_sset_var2ss3 =
- 9.01, 9.02, 9.03, 9.04, 9.05, 9.06, 9.07,
- 9.02, 9.04, 9.06, 9.08, 9.1, 9.12, 9.14,
- 9.03, 9.06, 9.09, 9.12, 9.15, 9.18, 9.21,
- 9.04, 9.08, 9.12, 9.16, 9.2, 9.24, 9.28,
- 9.05, 9.1, 9.15, 9.2, 9.25, 9.3, 9.35,
- 9.06, 9.12, 9.18, 9.24, 9.3, 9.36, 9.42,
- 9.07, 9.14, 9.21, 9.28, 9.35, 9.42, 9.49,
- 9.08, 9.16, 9.24, 9.32, 9.4, 9.48, 9.56,
- 9.09, 9.18, 9.27, 9.36, 9.45, 9.54, 9.63,
- 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7 ;
-
- vals_sset_var2ss4 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07, 10.08,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14, 10.16,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21, 10.24,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28, 10.32,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35, 10.4,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42, 10.48,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49, 10.56,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56, 10.64,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63, 10.72,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8 ;
-
- vals_sset_var2ss5 =
- 11.01, 11.02, 11.03, 11.04, 11.05, 11.06, 11.07, 11.08, 11.09, 11.1,
- 11.02, 11.04, 11.06, 11.08, 11.1, 11.12, 11.14, 11.16, 11.18, 11.2,
- 11.03, 11.06, 11.09, 11.12, 11.15, 11.18, 11.21, 11.24, 11.27, 11.3,
- 11.04, 11.08, 11.12, 11.16, 11.2, 11.24, 11.28, 11.32, 11.36, 11.4,
- 11.05, 11.1, 11.15, 11.2, 11.25, 11.3, 11.35, 11.4, 11.45, 11.5,
- 11.06, 11.12, 11.18, 11.24, 11.3, 11.36, 11.42, 11.48, 11.54, 11.6,
- 11.07, 11.14, 11.21, 11.28, 11.35, 11.42, 11.49, 11.56, 11.63, 11.7,
- 11.08, 11.16, 11.24, 11.32, 11.4, 11.48, 11.56, 11.64, 11.72, 11.8,
- 11.09, 11.18, 11.27, 11.36, 11.45, 11.54, 11.63, 11.72, 11.81, 11.9,
- 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12 ;
-
- vals_sset_var3ss1 =
- 8.01, 8.02,
- 8.02, 8.04,
- 8.03, 8.06,
- 8.04, 8.08,
- 8.05, 8.1,
- 8.06, 8.12,
- 8.07, 8.14,
- 8.08, 8.16,
- 8.09, 8.18,
- 8.1, 8.2 ;
-
- vals_sset_var3ss2 =
- 9.01, 9.02,
- 9.02, 9.04,
- 9.03, 9.06,
- 9.04, 9.08,
- 9.05, 9.1,
- 9.06, 9.12,
- 9.07, 9.14,
- 9.08, 9.16,
- 9.09, 9.18,
- 9.1, 9.2 ;
-
- vals_sset_var3ss3 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7 ;
-
- vals_sset_var3ss4 =
- 11.01, 11.02, 11.03, 11.04, 11.05, 11.06, 11.07, 11.08,
- 11.02, 11.04, 11.06, 11.08, 11.1, 11.12, 11.14, 11.16,
- 11.03, 11.06, 11.09, 11.12, 11.15, 11.18, 11.21, 11.24,
- 11.04, 11.08, 11.12, 11.16, 11.2, 11.24, 11.28, 11.32,
- 11.05, 11.1, 11.15, 11.2, 11.25, 11.3, 11.35, 11.4,
- 11.06, 11.12, 11.18, 11.24, 11.3, 11.36, 11.42, 11.48,
- 11.07, 11.14, 11.21, 11.28, 11.35, 11.42, 11.49, 11.56,
- 11.08, 11.16, 11.24, 11.32, 11.4, 11.48, 11.56, 11.64,
- 11.09, 11.18, 11.27, 11.36, 11.45, 11.54, 11.63, 11.72,
- 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8 ;
-
- vals_sset_var3ss5 =
- 12.01, 12.02, 12.03, 12.04, 12.05, 12.06, 12.07, 12.08, 12.09, 12.1,
- 12.02, 12.04, 12.06, 12.08, 12.1, 12.12, 12.14, 12.16, 12.18, 12.2,
- 12.03, 12.06, 12.09, 12.12, 12.15, 12.18, 12.21, 12.24, 12.27, 12.3,
- 12.04, 12.08, 12.12, 12.16, 12.2, 12.24, 12.28, 12.32, 12.36, 12.4,
- 12.05, 12.1, 12.15, 12.2, 12.25, 12.3, 12.35, 12.4, 12.45, 12.5,
- 12.06, 12.12, 12.18, 12.24, 12.3, 12.36, 12.42, 12.48, 12.54, 12.6,
- 12.07, 12.14, 12.21, 12.28, 12.35, 12.42, 12.49, 12.56, 12.63, 12.7,
- 12.08, 12.16, 12.24, 12.32, 12.4, 12.48, 12.56, 12.64, 12.72, 12.8,
- 12.09, 12.18, 12.27, 12.36, 12.45, 12.54, 12.63, 12.72, 12.81, 12.9,
- 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 13 ;
-
- vals_nset_var1ns1 =
- 8.01, 8.02, 8.03, 8.04, 8.05,
- 8.02, 8.04, 8.06, 8.08, 8.1,
- 8.03, 8.06, 8.09, 8.12, 8.15,
- 8.04, 8.08, 8.12, 8.16, 8.2,
- 8.05, 8.1, 8.15, 8.2, 8.25,
- 8.06, 8.12, 8.18, 8.24, 8.3,
- 8.07, 8.14, 8.21, 8.28, 8.35,
- 8.08, 8.16, 8.24, 8.32, 8.4,
- 8.09, 8.18, 8.27, 8.36, 8.45,
- 8.1, 8.2, 8.3, 8.4, 8.5 ;
-
- vals_nset_var1ns2 =
- 9.01, 9.02, 9.03,
- 9.02, 9.04, 9.06,
- 9.03, 9.06, 9.09,
- 9.04, 9.08, 9.12,
- 9.05, 9.1, 9.15,
- 9.06, 9.12, 9.18,
- 9.07, 9.14, 9.21,
- 9.08, 9.16, 9.24,
- 9.09, 9.18, 9.27,
- 9.1, 9.2, 9.3 ;
-
- vals_nset_var2ns1 =
- 9.01, 9.02, 9.03, 9.04, 9.05,
- 9.02, 9.04, 9.06, 9.08, 9.1,
- 9.03, 9.06, 9.09, 9.12, 9.15,
- 9.04, 9.08, 9.12, 9.16, 9.2,
- 9.05, 9.1, 9.15, 9.2, 9.25,
- 9.06, 9.12, 9.18, 9.24, 9.3,
- 9.07, 9.14, 9.21, 9.28, 9.35,
- 9.08, 9.16, 9.24, 9.32, 9.4,
- 9.09, 9.18, 9.27, 9.36, 9.45,
- 9.1, 9.2, 9.3, 9.4, 9.5 ;
-
- vals_nset_var2ns2 =
- 10.01, 10.02, 10.03,
- 10.02, 10.04, 10.06,
- 10.03, 10.06, 10.09,
- 10.04, 10.08, 10.12,
- 10.05, 10.1, 10.15,
- 10.06, 10.12, 10.18,
- 10.07, 10.14, 10.21,
- 10.08, 10.16, 10.24,
- 10.09, 10.18, 10.27,
- 10.1, 10.2, 10.3 ;
-
- vals_nset_var3ns1 =
- 10.01, 10.02, 10.03, 10.04, 10.05,
- 10.02, 10.04, 10.06, 10.08, 10.1,
- 10.03, 10.06, 10.09, 10.12, 10.15,
- 10.04, 10.08, 10.12, 10.16, 10.2,
- 10.05, 10.1, 10.15, 10.2, 10.25,
- 10.06, 10.12, 10.18, 10.24, 10.3,
- 10.07, 10.14, 10.21, 10.28, 10.35,
- 10.08, 10.16, 10.24, 10.32, 10.4,
- 10.09, 10.18, 10.27, 10.36, 10.45,
- 10.1, 10.2, 10.3, 10.4, 10.5 ;
-
- vals_nset_var3ns2 =
- 11.01, 11.02, 11.03,
- 11.02, 11.04, 11.06,
- 11.03, 11.06, 11.09,
- 11.04, 11.08, 11.12,
- 11.05, 11.1, 11.15,
- 11.06, 11.12, 11.18,
- 11.07, 11.14, 11.21,
- 11.08, 11.16, 11.24,
- 11.09, 11.18, 11.27,
- 11.1, 11.2, 11.3 ;
-}
diff --git a/cbind/test/test.exo_c b/cbind/test/test.exo_c
deleted file mode 100644
index a1b78ba..0000000
--- a/cbind/test/test.exo_c
+++ /dev/null
@@ -1,40 +0,0 @@
-CDF
-
- time_stepnum_dim num_nodesnum_elem
-num_el_blk
-len_string len_lineQfour
num_node_sets
num_side_setsnum_el_in_blk10num_nod_per_el10num_att_in_blk10num_el_in_blk11num_nod_per_el11num_att_in_blk11
num_nod_ns20
num_nod_ns21
num_el_ss30
num_nod_ss30
-num_qa_recnum_info
num_glo_var
num_nod_var
num_elem_var
typerversion?�G�titleThis is a test
-time_whole
L el_blk_id�
node_set_ids�
side_set_ids �coord@�
-coor_names elem_map $ connect10
-
elem_type quadjunk , connect11
elem_type quadjunk <attrib10
-
Lattrib11
P node_ns20 Tdist_fact_ns20 h node_ns21
|dist_fact_ns21
� elem_ss30 � node_ss30 �dist_fact_ss30 �
-qa_recordsH �
info_records�
-
vals_glo_var
P
name_glo_var
-�
vals_nod_var@
T
name_nod_var
name_elem_var
vals_elem_var1eb10
-
�vals_elem_var2eb10
-
�vals_elem_var3eb10
-
�vals_elem_var1eb11
�vals_elem_var2eb11
�vals_elem_var3eb11
�
elem_var_tab
4
-
?�?�?�@@?�?�?�?�?�xcoorycoor@I�@ć�defgh?�@@@@�@����?���@ff at FffPRONTO2Dpronto2d3/10/9215:41:33FASTQfastq2/10/9211:41:33This is the first information record.This is the second information record.This is the third information record.glo_varsnod_var0nod_var1ele_var0ele_var1ele_var2?�?�?�?�?�?�?�?�@@@@@@@@@@@�@�@�@�@�<#�
-<#�
-?�?�G�?��\?��
-?�
�?�ff?��?���@@��@G�@�@�\@33@�
-@z�@@@�@�@�@�@�<��
-<��
-?�?��\?�
�?��?�=q?���?�\)?��@@G�@�\@�
-@
�@ff@�@��@@@�@�@�@�@�<�<�?�?��
-?��?��?�\)?�33?�
-=?��H@@�@�
-@@�@ ��@
�@
p�@@@�@�@�@�@�=#�
-=#�
-?�?�
�?�=q?�\)?�z�?���?��R?��
-@@�\@
�@�@
-=q@
��@\)@�@@@�@�@�@�@�=L��=L��?�?�ff?���?�33?���?�?�ff?���@@33@ff@ ��@
��@@33@ff@@@�@�@�@�@�=u=u?�?��?�\)?�
-=?��R?�ff?�{?�@@�
-@�@
�@\)@33@
-=@�H@@@�@�@�@�@�=�\)=�\)?�?���?��?��H?��
-?���?�?��R@@z�@��@
p�@�@ff@�H@\)@@@�@�@�@�@�=��
-=��
-?�?�=q?�z�?��R?���?�33?�p�?Ǯ@@
�@
-=q@\)@z�@��@
�R@#�
-@@@�@�@�@�@�=�Q�=�Q�?�?��?�
->?��\?�{?���?�
�?У�@@@
�@G�@
diff --git a/cbind/test/test1.dmp b/cbind/test/test1.dmp
deleted file mode 100644
index 832fdb6..0000000
--- a/cbind/test/test1.dmp
+++ /dev/null
@@ -1,715 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 28 ;
- num_elem = 8 ;
- num_el_blk = 7 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_node_maps = 1 ;
- num_elem_maps = 2 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 3 ;
- num_el_in_blk2 = 2 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 3 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 3 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 3 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 1 ;
- num_att_in_blk5 = 3 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 1 ;
- num_att_in_blk6 = 3 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 6 ;
- num_att_in_blk7 = 3 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 2 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int nm_prop1(num_node_maps) ;
- nm_prop1:name = "ID" ;
- char nmap_names(num_node_maps, len_name) ;
- int node_map1(num_nodes) ;
- int em_prop1(num_elem_maps) ;
- em_prop1:name = "ID" ;
- char emap_names(num_elem_maps, len_name) ;
- int elem_map1(num_elem) ;
- int elem_map2(num_elem) ;
- int em_prop2(num_elem_maps) ;
- em_prop2:_FillValue = 0 ;
- em_prop2:name = "ORDER" ;
- int em_prop3(num_elem_maps) ;
- em_prop3:_FillValue = 0 ;
- em_prop3:name = "NUMBER" ;
- int nm_prop2(num_node_maps) ;
- nm_prop2:_FillValue = 0 ;
- nm_prop2:name = "NUMBER" ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "circle" ;
- float attrib6(num_el_in_blk6, num_att_in_blk6) ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "sphere" ;
- float attrib7(num_el_in_blk7, num_att_in_blk7) ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var1eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var1eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var2eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var3eb7(time_step, num_el_in_blk7) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is testwt1" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7,
- 100, 50, 3, 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5,
- 100, 50, 0, 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 0, 20, 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- nm_prop1 = 333 ;
-
- nmap_names =
- "Node_Map_111" ;
-
- node_map1 = 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51,
- 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84 ;
-
- em_prop1 = 111, 222 ;
-
- emap_names =
- "Element_Map_111",
- "Element_Map_222" ;
-
- elem_map1 = 1, 2, 3, 4, 5, 6, 7, 8 ;
-
- elem_map2 = 2, 4, 6, 8, 10, 12, 14, 16 ;
-
- em_prop2 = 1, _ ;
-
- em_prop3 = _, 1 ;
-
- nm_prop2 = 1 ;
-
- attrib1 =
- 1, 2, 3 ;
-
- attrib_name1 =
- "",
- "",
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 1.11, 2.11, 3.11,
- 1.12, 2.12, 3.12 ;
-
- attrib_name2 =
- "",
- "",
- "" ;
-
- connect2 =
- 1, 2, 3, 4,
- 5, 6, 7, 8 ;
-
- attrib3 =
- 1.2, 2.2, 3.2 ;
-
- attrib_name3 =
- "",
- "",
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 1.3, 2.3, 3.3 ;
-
- attrib_name4 =
- "",
- "",
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 1.4, 2.4, 3.4 ;
-
- attrib_name5 =
- "",
- "",
- "" ;
-
- connect5 =
- 21 ;
-
- attrib6 =
- 1.5, 2.5, 3.5 ;
-
- attrib_name6 =
- "",
- "",
- "" ;
-
- connect6 =
- 22 ;
-
- attrib7 =
- 1.6, 2.6, 3.6 ;
-
- attrib_name7 =
- "",
- "",
- "" ;
-
- connect7 =
- 23, 24, 25, 26, 27, 28 ;
-
- eb_prop2 = 10, 20, 30, 40, 50, 60, 70 ;
-
- eb_prop3 = _, _, _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 3, 3 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 3 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 4, 4, 4, 4, 4, 4, 4 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 5, 5, 5, 5 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 6, 7 ;
-
- side_ss5 = 1, 1 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "TESTWT1",
- "testwt1",
- "03/16/94",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- name_glo_var =
- "glo vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26, 1.27, 1.28,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5,
- 1.52, 1.54, 1.56,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78, 1.81, 1.84,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 2.08, 2.12,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 2.35, 2.4,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5,
- 2.56, 2.62, 2.68,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82, 2.89, 2.96,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 3.16, 3.24,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34, 3.43, 3.52,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26, 2.27, 2.28,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5,
- 2.52, 2.54, 2.56,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78, 2.81, 2.84,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 3.08, 3.12,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 3.35, 3.4,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5,
- 3.56, 3.62, 3.68,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82, 3.89, 3.96,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 4.16, 4.24,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34, 4.43, 4.52,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8 ;
-
- name_nod_var =
- "nod_var0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var1eb2 =
- 5.01, 5.02,
- 5.02, 5.04,
- 5.03, 5.06,
- 5.04, 5.08,
- 5.05, 5.1,
- 5.06, 5.12,
- 5.07, 5.14,
- 5.08, 5.16,
- 5.09, 5.18,
- 5.1, 5.2 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb6 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb7 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01, 6.02,
- 6.02, 6.04,
- 6.03, 6.06,
- 6.04, 6.08,
- 6.05, 6.1,
- 6.06, 6.12,
- 6.07, 6.14,
- 6.08, 6.16,
- 6.09, 6.18,
- 6.1, 6.2 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var2eb6 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var2eb7 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01, 7.02,
- 7.02, 7.04,
- 7.03, 7.06,
- 7.04, 7.08,
- 7.05, 7.1,
- 7.06, 7.12,
- 7.07, 7.14,
- 7.08, 7.16,
- 7.09, 7.18,
- 7.1, 7.2 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var3eb6 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var3eb7 =
- 12.01,
- 12.02,
- 12.03,
- 12.04,
- 12.05,
- 12.06,
- 12.07,
- 12.08,
- 12.09,
- 12.1 ;
-}
diff --git a/cbind/test/test2-1.dmp b/cbind/test/test2-1.dmp
deleted file mode 100644
index d7e53b2..0000000
--- a/cbind/test/test2-1.dmp
+++ /dev/null
@@ -1,557 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 10, 20, 30, 40, 50 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "TESTWT2",
- "testwt2",
- "07/07/93",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5, 1.52,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5, 2.56,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5, 2.52,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5, 3.56,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 ;
-
- name_nod_var =
- "nod_var0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb3 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1 ;
-}
diff --git a/cbind/test/test2-2.dmp b/cbind/test/test2-2.dmp
deleted file mode 100644
index c8f3b41..0000000
--- a/cbind/test/test2-2.dmp
+++ /dev/null
@@ -1,557 +0,0 @@
-netcdf test2 {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is test 2" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 100, 200, 300, 400, 500 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "TESTWT2",
- "testwt2",
- "07/07/93",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5, 1.52,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5, 2.56,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5, 2.52,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5, 3.56,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 ;
-
- name_nod_var =
- "nod_var0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb3 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1 ;
-}
diff --git a/cbind/test/test2.dmp b/cbind/test/test2.dmp
deleted file mode 100644
index 1265bda..0000000
--- a/cbind/test/test2.dmp
+++ /dev/null
@@ -1,278 +0,0 @@
-netcdf test2 {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "ID" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "MATL" ;
- int eb_prop4(num_el_blk) ;
- eb_prop4:_FillValue = 0 ;
- eb_prop4:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "ID" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:_FillValue = 0 ;
- ns_prop3:name = "FACE" ;
- int ns_prop4(num_node_sets) ;
- ns_prop4:_FillValue = 0 ;
- ns_prop4:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 0 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 0 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 0 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 0 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 0 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = _, _, _, _, _ ;
-
- eb_prop3 = 10, 20, 30, 40, 50 ;
-
- eb_prop4 = _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = _, _ ;
-
- ns_prop3 = 4, 5 ;
-
- ns_prop4 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "TESTWT2",
- "testwt2",
- "07/07/93",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-}
diff --git a/cbind/test/test_clb.dmp b/cbind/test/test_clb.dmp
deleted file mode 100644
index fcac32b..0000000
--- a/cbind/test/test_clb.dmp
+++ /dev/null
@@ -1,988 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 7 ;
- num_el_blk = 7 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 8 ;
- num_att_in_blk6 = 1 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 3 ;
- num_att_in_blk7 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 8 ;
- num_side_ss5 = 10 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
- num_nset_var = 4 ;
- num_sset_var = 7 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "tetra" ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- float attrib6(num_el_in_blk6, num_att_in_blk6) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "tri" ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- float attrib7(num_el_in_blk7, num_att_in_blk7) ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- float vals_glo_var(time_step, num_glo_var) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var1eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var2eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var3eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var1eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var2eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var3eb7(time_step, num_el_in_blk7) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
- char name_nset_var(num_nset_var, len_name) ;
- float vals_nset_var1ns1(time_step, num_nod_ns1) ;
- float vals_nset_var3ns1(time_step, num_nod_ns1) ;
- float vals_nset_var1ns2(time_step, num_nod_ns2) ;
- float vals_nset_var3ns2(time_step, num_nod_ns2) ;
- int nset_var_tab(num_node_sets, num_nset_var) ;
- char name_sset_var(num_sset_var, len_name) ;
- float vals_sset_var2ss1(time_step, num_side_ss1) ;
- float vals_sset_var4ss1(time_step, num_side_ss1) ;
- float vals_sset_var6ss1(time_step, num_side_ss1) ;
- float vals_sset_var1ss2(time_step, num_side_ss2) ;
- float vals_sset_var3ss2(time_step, num_side_ss2) ;
- float vals_sset_var5ss2(time_step, num_side_ss2) ;
- float vals_sset_var7ss2(time_step, num_side_ss2) ;
- float vals_sset_var2ss3(time_step, num_side_ss3) ;
- float vals_sset_var4ss3(time_step, num_side_ss3) ;
- float vals_sset_var6ss3(time_step, num_side_ss3) ;
- float vals_sset_var1ss4(time_step, num_side_ss4) ;
- float vals_sset_var3ss4(time_step, num_side_ss4) ;
- float vals_sset_var5ss4(time_step, num_side_ss4) ;
- float vals_sset_var7ss4(time_step, num_side_ss4) ;
- float vals_sset_var2ss5(time_step, num_side_ss5) ;
- float vals_sset_var4ss5(time_step, num_side_ss5) ;
- float vals_sset_var6ss5(time_step, num_side_ss5) ;
- int sset_var_tab(num_side_sets, num_sset_var) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5, 6, 7 ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib_name1 =
- "" ;
-
- attrib1 =
- 3.1416 ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib_name2 =
- "" ;
-
- attrib2 =
- 6.1416 ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib_name3 =
- "" ;
-
- attrib3 =
- 6.1416 ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib_name4 =
- "" ;
-
- attrib4 =
- 6.1416 ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- attrib_name5 =
- "" ;
-
- attrib5 =
- 6.1416 ;
-
- connect6 =
- 17, 18, 19, 20, 27, 28, 30, 29 ;
-
- attrib_name6 =
- "" ;
-
- attrib6 =
- 6.1416 ;
-
- connect7 =
- 31, 32, 33 ;
-
- attrib_name7 =
- "" ;
-
- attrib7 =
- 6.1416 ;
-
- eb_prop2 = 10, 20, 30, 40, 50, 60, 70 ;
-
- eb_prop3 = _, _, _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4, 6, 6, 6, 6 ;
-
- side_ss4 = 1, 2, 3, 4, 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 ;
-
- side_ss5 = 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "TESTWT",
- "testwt",
- "07/07/93",
- "15:41:33",
- "",
- " ",
- "",
- " " ;
-
- info_records =
- "This is the first information record.",
- "",
- " " ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26, 1.27, 1.28, 1.29, 1.3, 1.31, 1.32, 1.33,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5,
- 1.52, 1.54, 1.56, 1.58, 1.6, 1.62, 1.64, 1.66,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78, 1.81, 1.84, 1.87, 1.9, 1.93, 1.96, 1.99,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5,
- 2.56, 2.62, 2.68, 2.74, 2.8, 2.86, 2.92, 2.98,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82, 2.89, 2.96, 3.03, 3.1, 3.17, 3.24, 3.31,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 3.16, 3.24, 3.32, 3.4, 3.48, 3.56, 3.64,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34, 3.43, 3.52, 3.61, 3.7, 3.79, 3.88, 3.97,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4,
- 4.1, 4.2, 4.3 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26, 2.27, 2.28, 2.29, 2.3, 2.31, 2.32, 2.33,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5,
- 2.52, 2.54, 2.56, 2.58, 2.6, 2.62, 2.64, 2.66,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78, 2.81, 2.84, 2.87, 2.9, 2.93, 2.96, 2.99,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 3.08, 3.12, 3.16, 3.2, 3.24, 3.28, 3.32,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 3.35, 3.4, 3.45, 3.5, 3.55, 3.6, 3.65,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5,
- 3.56, 3.62, 3.68, 3.74, 3.8, 3.86, 3.92, 3.98,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82, 3.89, 3.96, 4.03, 4.1, 4.17, 4.24, 4.31,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 4.16, 4.24, 4.32, 4.4, 4.48, 4.56, 4.64,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34, 4.43, 4.52, 4.61, 4.7, 4.79, 4.88, 4.97,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5,
- 5.1, 5.2, 5.3 ;
-
- name_nod_var =
- "node_variable_a_very_long_name_0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb3 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var1eb6 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var2eb6 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var3eb6 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var1eb7 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var2eb7 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var3eb7 =
- 12.01,
- 12.02,
- 12.03,
- 12.04,
- 12.05,
- 12.06,
- 12.07,
- 12.08,
- 12.09,
- 12.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1 ;
-
- name_nset_var =
- "nset_var0",
- "nset_var1",
- "nset_var2",
- "nset_var3" ;
-
- vals_nset_var1ns1 =
- 3.01, 3.02, 3.03, 3.04, 3.05,
- 3.02, 3.04, 3.06, 3.08, 3.1,
- 3.03, 3.06, 3.09, 3.12, 3.15,
- 3.04, 3.08, 3.12, 3.16, 3.2,
- 3.05, 3.1, 3.15, 3.2, 3.25,
- 3.06, 3.12, 3.18, 3.24, 3.3,
- 3.07, 3.14, 3.21, 3.28, 3.35,
- 3.08, 3.16, 3.24, 3.32, 3.4,
- 3.09, 3.18, 3.27, 3.36, 3.45,
- 3.1, 3.2, 3.3, 3.4, 3.5 ;
-
- vals_nset_var3ns1 =
- 5.01, 5.02, 5.03, 5.04, 5.05,
- 5.02, 5.04, 5.06, 5.08, 5.1,
- 5.03, 5.06, 5.09, 5.12, 5.15,
- 5.04, 5.08, 5.12, 5.16, 5.2,
- 5.05, 5.1, 5.15, 5.2, 5.25,
- 5.06, 5.12, 5.18, 5.24, 5.3,
- 5.07, 5.14, 5.21, 5.28, 5.35,
- 5.08, 5.16, 5.24, 5.32, 5.4,
- 5.09, 5.18, 5.27, 5.36, 5.45,
- 5.1, 5.2, 5.3, 5.4, 5.5 ;
-
- vals_nset_var1ns2 =
- 4.01, 4.02, 4.03,
- 4.02, 4.04, 4.06,
- 4.03, 4.06, 4.09,
- 4.04, 4.08, 4.12,
- 4.05, 4.1, 4.15,
- 4.06, 4.12, 4.18,
- 4.07, 4.14, 4.21,
- 4.08, 4.16, 4.24,
- 4.09, 4.18, 4.27,
- 4.1, 4.2, 4.3 ;
-
- vals_nset_var3ns2 =
- 6.01, 6.02, 6.03,
- 6.02, 6.04, 6.06,
- 6.03, 6.06, 6.09,
- 6.04, 6.08, 6.12,
- 6.05, 6.1, 6.15,
- 6.06, 6.12, 6.18,
- 6.07, 6.14, 6.21,
- 6.08, 6.16, 6.24,
- 6.09, 6.18, 6.27,
- 6.1, 6.2, 6.3 ;
-
- nset_var_tab =
- 1, 0, 1, 0,
- 1, 0, 1, 0 ;
-
- name_sset_var =
- "sset_var0",
- "sset_var1",
- "sset_var2",
- "sset_var3",
- "sset_var4",
- "sset_var5",
- "sset_var6" ;
-
- vals_sset_var2ss1 =
- 4.01, 4.02,
- 4.02, 4.04,
- 4.03, 4.06,
- 4.04, 4.08,
- 4.05, 4.1,
- 4.06, 4.12,
- 4.07, 4.14,
- 4.08, 4.16,
- 4.09, 4.18,
- 4.1, 4.2 ;
-
- vals_sset_var4ss1 =
- 6.01, 6.02,
- 6.02, 6.04,
- 6.03, 6.06,
- 6.04, 6.08,
- 6.05, 6.1,
- 6.06, 6.12,
- 6.07, 6.14,
- 6.08, 6.16,
- 6.09, 6.18,
- 6.1, 6.2 ;
-
- vals_sset_var6ss1 =
- 8.01, 8.02,
- 8.02, 8.04,
- 8.03, 8.06,
- 8.04, 8.08,
- 8.05, 8.1,
- 8.06, 8.12,
- 8.07, 8.14,
- 8.08, 8.16,
- 8.09, 8.18,
- 8.1, 8.2 ;
-
- vals_sset_var1ss2 =
- 4.01, 4.02,
- 4.02, 4.04,
- 4.03, 4.06,
- 4.04, 4.08,
- 4.05, 4.1,
- 4.06, 4.12,
- 4.07, 4.14,
- 4.08, 4.16,
- 4.09, 4.18,
- 4.1, 4.2 ;
-
- vals_sset_var3ss2 =
- 6.01, 6.02,
- 6.02, 6.04,
- 6.03, 6.06,
- 6.04, 6.08,
- 6.05, 6.1,
- 6.06, 6.12,
- 6.07, 6.14,
- 6.08, 6.16,
- 6.09, 6.18,
- 6.1, 6.2 ;
-
- vals_sset_var5ss2 =
- 8.01, 8.02,
- 8.02, 8.04,
- 8.03, 8.06,
- 8.04, 8.08,
- 8.05, 8.1,
- 8.06, 8.12,
- 8.07, 8.14,
- 8.08, 8.16,
- 8.09, 8.18,
- 8.1, 8.2 ;
-
- vals_sset_var7ss2 =
- 10.01, 10.02,
- 10.02, 10.04,
- 10.03, 10.06,
- 10.04, 10.08,
- 10.05, 10.1,
- 10.06, 10.12,
- 10.07, 10.14,
- 10.08, 10.16,
- 10.09, 10.18,
- 10.1, 10.2 ;
-
- vals_sset_var2ss3 =
- 6.01, 6.02, 6.03, 6.04, 6.05, 6.06, 6.07,
- 6.02, 6.04, 6.06, 6.08, 6.1, 6.12, 6.14,
- 6.03, 6.06, 6.09, 6.12, 6.15, 6.18, 6.21,
- 6.04, 6.08, 6.12, 6.16, 6.2, 6.24, 6.28,
- 6.05, 6.1, 6.15, 6.2, 6.25, 6.3, 6.35,
- 6.06, 6.12, 6.18, 6.24, 6.3, 6.36, 6.42,
- 6.07, 6.14, 6.21, 6.28, 6.35, 6.42, 6.49,
- 6.08, 6.16, 6.24, 6.32, 6.4, 6.48, 6.56,
- 6.09, 6.18, 6.27, 6.36, 6.45, 6.54, 6.63,
- 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7 ;
-
- vals_sset_var4ss3 =
- 8.01, 8.02, 8.03, 8.04, 8.05, 8.06, 8.07,
- 8.02, 8.04, 8.06, 8.08, 8.1, 8.12, 8.14,
- 8.03, 8.06, 8.09, 8.12, 8.15, 8.18, 8.21,
- 8.04, 8.08, 8.12, 8.16, 8.2, 8.24, 8.28,
- 8.05, 8.1, 8.15, 8.2, 8.25, 8.3, 8.35,
- 8.06, 8.12, 8.18, 8.24, 8.3, 8.36, 8.42,
- 8.07, 8.14, 8.21, 8.28, 8.35, 8.42, 8.49,
- 8.08, 8.16, 8.24, 8.32, 8.4, 8.48, 8.56,
- 8.09, 8.18, 8.27, 8.36, 8.45, 8.54, 8.63,
- 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7 ;
-
- vals_sset_var6ss3 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7 ;
-
- vals_sset_var1ss4 =
- 6.01, 6.02, 6.03, 6.04, 6.05, 6.06, 6.07, 6.08,
- 6.02, 6.04, 6.06, 6.08, 6.1, 6.12, 6.14, 6.16,
- 6.03, 6.06, 6.09, 6.12, 6.15, 6.18, 6.21, 6.24,
- 6.04, 6.08, 6.12, 6.16, 6.2, 6.24, 6.28, 6.32,
- 6.05, 6.1, 6.15, 6.2, 6.25, 6.3, 6.35, 6.4,
- 6.06, 6.12, 6.18, 6.24, 6.3, 6.36, 6.42, 6.48,
- 6.07, 6.14, 6.21, 6.28, 6.35, 6.42, 6.49, 6.56,
- 6.08, 6.16, 6.24, 6.32, 6.4, 6.48, 6.56, 6.64,
- 6.09, 6.18, 6.27, 6.36, 6.45, 6.54, 6.63, 6.72,
- 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8 ;
-
- vals_sset_var3ss4 =
- 8.01, 8.02, 8.03, 8.04, 8.05, 8.06, 8.07, 8.08,
- 8.02, 8.04, 8.06, 8.08, 8.1, 8.12, 8.14, 8.16,
- 8.03, 8.06, 8.09, 8.12, 8.15, 8.18, 8.21, 8.24,
- 8.04, 8.08, 8.12, 8.16, 8.2, 8.24, 8.28, 8.32,
- 8.05, 8.1, 8.15, 8.2, 8.25, 8.3, 8.35, 8.4,
- 8.06, 8.12, 8.18, 8.24, 8.3, 8.36, 8.42, 8.48,
- 8.07, 8.14, 8.21, 8.28, 8.35, 8.42, 8.49, 8.56,
- 8.08, 8.16, 8.24, 8.32, 8.4, 8.48, 8.56, 8.64,
- 8.09, 8.18, 8.27, 8.36, 8.45, 8.54, 8.63, 8.72,
- 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8 ;
-
- vals_sset_var5ss4 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07, 10.08,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14, 10.16,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21, 10.24,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28, 10.32,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35, 10.4,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42, 10.48,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49, 10.56,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56, 10.64,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63, 10.72,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8 ;
-
- vals_sset_var7ss4 =
- 12.01, 12.02, 12.03, 12.04, 12.05, 12.06, 12.07, 12.08,
- 12.02, 12.04, 12.06, 12.08, 12.1, 12.12, 12.14, 12.16,
- 12.03, 12.06, 12.09, 12.12, 12.15, 12.18, 12.21, 12.24,
- 12.04, 12.08, 12.12, 12.16, 12.2, 12.24, 12.28, 12.32,
- 12.05, 12.1, 12.15, 12.2, 12.25, 12.3, 12.35, 12.4,
- 12.06, 12.12, 12.18, 12.24, 12.3, 12.36, 12.42, 12.48,
- 12.07, 12.14, 12.21, 12.28, 12.35, 12.42, 12.49, 12.56,
- 12.08, 12.16, 12.24, 12.32, 12.4, 12.48, 12.56, 12.64,
- 12.09, 12.18, 12.27, 12.36, 12.45, 12.54, 12.63, 12.72,
- 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8 ;
-
- vals_sset_var2ss5 =
- 8.01, 8.02, 8.03, 8.04, 8.05, 8.06, 8.07, 8.08, 8.09, 8.1,
- 8.02, 8.04, 8.06, 8.08, 8.1, 8.12, 8.14, 8.16, 8.18, 8.2,
- 8.03, 8.06, 8.09, 8.12, 8.15, 8.18, 8.21, 8.24, 8.27, 8.3,
- 8.04, 8.08, 8.12, 8.16, 8.2, 8.24, 8.28, 8.32, 8.36, 8.4,
- 8.05, 8.1, 8.15, 8.2, 8.25, 8.3, 8.35, 8.4, 8.45, 8.5,
- 8.06, 8.12, 8.18, 8.24, 8.3, 8.36, 8.42, 8.48, 8.54, 8.6,
- 8.07, 8.14, 8.21, 8.28, 8.35, 8.42, 8.49, 8.56, 8.63, 8.7,
- 8.08, 8.16, 8.24, 8.32, 8.4, 8.48, 8.56, 8.64, 8.72, 8.8,
- 8.09, 8.18, 8.27, 8.36, 8.45, 8.54, 8.63, 8.72, 8.81, 8.9,
- 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9 ;
-
- vals_sset_var4ss5 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07, 10.08, 10.09, 10.1,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14, 10.16, 10.18, 10.2,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21, 10.24, 10.27, 10.3,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28, 10.32, 10.36, 10.4,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35, 10.4, 10.45, 10.5,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42, 10.48, 10.54, 10.6,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49, 10.56, 10.63, 10.7,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56, 10.64, 10.72, 10.8,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63, 10.72, 10.81, 10.9,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11 ;
-
- vals_sset_var6ss5 =
- 12.01, 12.02, 12.03, 12.04, 12.05, 12.06, 12.07, 12.08, 12.09, 12.1,
- 12.02, 12.04, 12.06, 12.08, 12.1, 12.12, 12.14, 12.16, 12.18, 12.2,
- 12.03, 12.06, 12.09, 12.12, 12.15, 12.18, 12.21, 12.24, 12.27, 12.3,
- 12.04, 12.08, 12.12, 12.16, 12.2, 12.24, 12.28, 12.32, 12.36, 12.4,
- 12.05, 12.1, 12.15, 12.2, 12.25, 12.3, 12.35, 12.4, 12.45, 12.5,
- 12.06, 12.12, 12.18, 12.24, 12.3, 12.36, 12.42, 12.48, 12.54, 12.6,
- 12.07, 12.14, 12.21, 12.28, 12.35, 12.42, 12.49, 12.56, 12.63, 12.7,
- 12.08, 12.16, 12.24, 12.32, 12.4, 12.48, 12.56, 12.64, 12.72, 12.8,
- 12.09, 12.18, 12.27, 12.36, 12.45, 12.54, 12.63, 12.72, 12.81, 12.9,
- 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 13 ;
-
- sset_var_tab =
- 0, 1, 0, 1, 0, 1, 0,
- 1, 0, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0,
- 1, 0, 1, 0, 1, 0, 1,
- 0, 1, 0, 1, 0, 1, 0 ;
-}
diff --git a/cbind/test/test_nemesis.c b/cbind/test/test_nemesis.c
deleted file mode 100644
index 64e8a31..0000000
--- a/cbind/test/test_nemesis.c
+++ /dev/null
@@ -1,1037 +0,0 @@
-/*
- * Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-/* This file contains the source code for the program used to test the
- * Nemesis distribution.
- *****************************************************************************
- * Written By: Gary L. Hennigan (SNL, 1421)
- *****************************************************************************
- * Functions contained in this file:
- * main() - Entry point and main calling program.
- */
-/*****************************************************************************/
-/*****************************************************************************/
-/*****************************************************************************/
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <exodusII.h>
-
-/* Constants for init_global functions */
-#define NNG 100
-#define NEG 50
-#define NEBG 5
-#define NEBCG 10
-#define NNSG 2
-#define NSSG 3
-
-/* Constants for load-balance functions */
-#define NPROC 10
-#define NPROCF NPROC
-#define NINTN 200
-#define NBORN 10
-#define NEXTN 5
-#define NINTE 100
-#define NBORE 20
-#define NNCMAP 4
-#define NECMAP 2
-
-/* Constants for communication map */
-#define NCNTCM 20
-#define ECNTCM 17
-
-int main(int argc, char *argv[])
-{
-
- /* Local function calls */
- int ne_test_glbp(int);
- int ne_test_piinf(int);
- int ne_test_pinig(int);
- int ne_test_pelbid(int);
- int ne_test_pnsp(int);
- int ne_test_pssp(int);
- int ne_test_pnm(int);
- int ne_test_pem(int);
- int ne_test_pcmp(int);
- int ne_test_pncm(int);
- int ne_test_pecm(int);
-
- int ne_test_giinf(int);
- int ne_test_ginig(int);
- int ne_test_gelbid(int);
- int ne_test_gnsp(int);
- int ne_test_gssp(int);
- int ne_test_gnm(int);
- int ne_test_gem(int);
- int ne_test_gncm(int);
- int ne_test_gecm(int);
-
- int ne_test_plbpc(int);
- int ne_test_pcmpc(int);
-
- /* Unitialized local variables */
- int ne_file_id;
- char test_direc[256], file_name[256];
- float version;
-
- /* Initialized local variables */
- int mode3 = EX_CLOBBER;
- int mode4 = EX_CLOBBER|EX_NETCDF4|EX_NOCLASSIC;
-
- char *yo="main";
- int io_ws=0, cpu_ws=0, t_pass=0, t_fail=0;
- int debug_flag=0;
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- /* Get the location of the temporary file to use for the test */
- if (argc <= 1) {
- /* Nothing specified. Use defaults. */
- strcpy(file_name, "./ne_test.exo");
- }
- else if (argc == 2) {
- /* Test for the help flag */
- if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "-?") == 0) {
- /* Output the help line */
- printf("Usage:\n\tne_test <optional directory> <optional file name>\n");
- exit(0);
- }
- /* Test for the debug flag */
- else if (strcmp(argv[1], "-d") == 0 || strcmp(argv[1], "-d") == 0) {
- printf("****DEBUG MODE****\n");
- ex_opts(EX_VERBOSE | EX_DEBUG);
- strcpy(file_name, "./ne_test.exo");
- debug_flag = 1;
- }
- /* Else get the directory name and assign default name */
- else {
- strcpy(test_direc, argv[1]);
- if (test_direc[strlen(test_direc)-1] != '/') {
- strcpy(file_name, test_direc);
- strcat(file_name, "/ne_test.exo");
- }
- else {
- strcpy(file_name, test_direc);
- strcat(file_name, "ne_test.exo");
- }
- }
- }
- else if (argc == 3) {
- /* Both directory and file name specified */
- strcpy(test_direc, argv[1]);
- if (test_direc[strlen(test_direc)-1] == '/') {
- strcpy(file_name, test_direc);
- strcat(file_name, "/");
- strcat(file_name, argv[2]);
- }
- else {
- strcpy(file_name, test_direc);
- strcat(file_name, argv[2]);
- }
- }
-
-/*---------------------------------------------------------------------------*/
-/* OUTPUT TEST SECTION */
-/*---------------------------------------------------------------------------*/
-
- printf("*********************Output Tests***********************\n");
-
- /* Create the ExodusII/Nemesis file */
- printf("creating ExodusII file..."); fflush(stdout);
-
- /* Attempt to create a netcdf4-format file; if it fails, then assume
- that the netcdf library does not support that mode and fall back
- to classic netcdf3 format. If that fails, issue an error and
- die.
- */
- if ((ne_file_id=ex_create(file_name, mode4, &cpu_ws, &io_ws)) < 0) {
- /* netcdf4 create failed, try netcdf3 */
- if ((ne_file_id=ex_create(file_name, mode3, &cpu_ws, &io_ws)) < 0) {
- printf("FAILED\n");
- t_fail++;
- fprintf(stderr, "[%s]: ERROR, unable to create test file \"%s\"!\n",
- yo, file_name);
- exit(-1);
- }
- }
- printf("successful\n"); fflush(stdout);
- t_pass++;
-
- /* Test the output of initial information */
- printf("testing init info output..."); fflush(stdout);
- if (ne_test_piinf(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test the output of initial global information */
- printf("testing global init info output..."); fflush(stdout);
- if (ne_test_pinig(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test the output of the global element block IDs */
- printf("testing global element block ID output..."); fflush(stdout);
- if (ne_test_pelbid(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test the output of the global node-set info */
- printf("testing global node-set params output..."); fflush(stdout);
- if (ne_test_pnsp(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test the output of the global side-set info */
- printf("testing global side-set params output..."); fflush(stdout);
- if (ne_test_pssp(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test the output of the concatenated load-balance parameters */
- printf("testing concatenated load balance info output...");
- fflush(stdout);
- if (ne_test_plbpc(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- }
- else {
- printf("succesful\n"); fflush(stdout);
- }
-
- /* Test the output of the node map */
- printf("testing node map output..."); fflush(stdout);
- if (ne_test_pnm(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test the output of the element map */
- printf("testing element map output..."); fflush(stdout);
- if (ne_test_pem(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test the output of the concatenated communication map params */
- printf("testing concatenated communication map params output...");
- fflush(stdout);
- if (ne_test_pcmpc(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test nodal communication map output */
- printf("testing nodal communication map output..."); fflush(stdout);
- if (ne_test_pncm(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test elemental communication map output */
- printf("testing elemental communication map output..."); fflush(stdout);
- if (ne_test_pecm(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Close the ExodusII/Nemesis test file */
- printf("closing ExodusII file..."); fflush(stdout);
- if (ex_close(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- fprintf(stderr, "[%s]: ERROR, unable to close test file \"%s\"!\n",
- yo, file_name);
- exit(-1);
- }
- printf("successful\n"); fflush(stdout);
- t_pass++;
-
-/*---------------------------------------------------------------------------*/
-/* INPUT TEST SECTION */
-/*---------------------------------------------------------------------------*/
-
- printf("**********************Input Tests***********************\n");
-
- /* Re-open the ExodusII/NemesisI file */
- printf("reopening ExodusII file..."); fflush(stdout);
- if (ex_open(file_name, EX_READ, &cpu_ws, &io_ws, &version) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of of the initial information */
- printf("testing init info input..."); fflush(stdout);
- if (ne_test_giinf(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of initial global information */
- printf("testing global init info input..."); fflush(stdout);
- if (ne_test_ginig(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of global element block IDs */
- printf("testing global element block IDs input..."); fflush(stdout);
- if (ne_test_gelbid(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of global node-set params */
- printf("testing global node-set params input..."); fflush(stdout);
- if (ne_test_gnsp(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of global side-set params */
- printf("testing global side-set params input..."); fflush(stdout);
- if (ne_test_gssp(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of load-balance params */
- printf("testing load-balance params input..."); fflush(stdout);
- if (ne_test_glbp(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of the node map */
- printf("testing node map input..."); fflush(stdout);
- if (ne_test_gnm(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of element map */
- printf("testing element map input..."); fflush(stdout);
- if (ne_test_gem(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of nodal communication maps */
- printf("testing nodal communication map input..."); fflush(stdout);
- if (ne_test_gncm(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Test read of elemental communication maps */
- printf("testing elemental communication map input..."); fflush(stdout);
- if (ne_test_gecm(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- if (debug_flag == 1)
- return 1;
- }
- else {
- printf("successful\n"); fflush(stdout);
- t_pass++;
- }
-
- /* Close the ExodusII/Nemesis test file */
- printf("closing ExodusII file..."); fflush(stdout);
- if (ex_close(ne_file_id) < 0) {
- printf("FAILED\n"); fflush(stdout);
- t_fail++;
- fprintf(stderr, "[%s]: ERROR, unable to close test file \"%s\"!\n",
- yo, file_name);
- exit(-1);
- }
- printf("successful\n"); fflush(stdout);
- t_pass++;
-
- /* Output a test summary */
- printf("\n");
- printf("Tests Passed: %d\n", t_pass);
- printf("Tests Failed: %d\n", t_fail);
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_piinf(int fileid)
-{
- char ftype[3];
-
- strcpy(ftype, "s");
-
- return (ex_put_init_info(fileid, NPROC, NPROCF, ftype));
-}
-
-/*****************************************************************************/
-int ne_test_pinig(int fileid)
-{
-
- int nng=NNG, neg=NEG, nebg=NEBG, nnsg=NNSG, nssg=NSSG;
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- return (ex_put_init_global(fileid, nng, neg, nebg, nnsg, nssg));
-}
-
-/*****************************************************************************/
-int ne_test_pelbid(int fileid)
-{
- int i, elblk_ids[NEBG], elblk_cnt[NEBG];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(i=0; i < NEBG; i++) {
- elblk_ids[i]=(i+1);
- elblk_cnt[i]=NEBCG;
- }
-
- return (ex_put_eb_info_global(fileid, elblk_ids, elblk_cnt));
-}
-
-/*****************************************************************************/
-int ne_test_pnsp(int fileid)
-{
- int i, global_ids[NNSG], global_n_cnts[NNSG], global_df_cnts[NNSG];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(i=0; i < NNSG; i++) {
- global_ids[i]=2*(i+1);
- global_n_cnts[i]=3*(i+1);
- global_df_cnts[i]=1;
- }
-
- return (ex_put_ns_param_global(fileid, global_ids, global_n_cnts,
- global_df_cnts));
-}
-
-/*****************************************************************************/
-int ne_test_pssp(int fileid)
-{
- int i, global_ids[NSSG], global_el_cnts[NSSG], global_df_cnts[NSSG];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(i=0; i < NSSG; i++) {
- global_ids[i]=3*(i+1);
- global_el_cnts[i]=2*(i+1);
- global_df_cnts[i]=1;
- }
-
- return (ex_put_ss_param_global(fileid, global_ids, global_el_cnts,
- global_df_cnts));
-}
-
-/*****************************************************************************/
-int ne_test_pnm(int fileid)
-{
- int iproc, j, error, j1=0;
- int node_mapi[NINTN], node_mapb[NBORN], node_mape[NEXTN];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(iproc=0; iproc < NPROCF; iproc++) {
- for(j=0; j < NINTN; node_mapi[j++]=j1++);
- for(j=0; j < NBORN; node_mapb[j++]=j1++);
- for(j=0; j < NEXTN; node_mape[j++]=j1++);
- j1 = 0;
- error = ex_put_processor_node_maps(fileid, node_mapi, node_mapb, node_mape, iproc);
- if (error < 0) return error;
- }
-
- return 0;
-
-}
-
-/*****************************************************************************/
-int ne_test_pem(int fileid)
-{
- int iproc, j, error, j1=0;
- int elem_mapi[NINTE], elem_mapb[NBORE];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(iproc=0; iproc < NPROCF; iproc++) {
- for(j=0; j < NINTE; elem_mapi[j++]=j1++);
- for(j=0; j < NBORE; elem_mapb[j++]=j1++);
- j1 = 0;
- error = ex_put_processor_elem_maps(fileid, elem_mapi, elem_mapb, iproc);
- if (error < 0) return error;
- }
-
- return 0;
-
-}
-
-/*****************************************************************************/
-int ne_test_pcmp(int fileid)
-{
- int i, iproc, error;
- int node_map_ids[NNCMAP], node_map_node_cnts[NNCMAP];
- int elem_map_ids[NECMAP], elem_map_elem_cnts[NECMAP];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(iproc=0; iproc < NPROCF; iproc++) {
- for(i=0; i < NNCMAP; i++) {
- node_map_ids[i]=(i+1);
- node_map_node_cnts[i]=NCNTCM;
- }
-
- for(i=0; i < NECMAP; i++) {
- elem_map_ids[i]=2*(i+1);
- elem_map_elem_cnts[i]=ECNTCM;
- }
-
- error = ex_put_cmap_params(fileid, node_map_node_cnts, node_map_ids,
- elem_map_elem_cnts, elem_map_ids, iproc);
- if (error < 0) return error;
- }
-
- return 0;
-
-}
-
-/*****************************************************************************/
-int ne_test_pncm(int fileid)
-{
- int i, iproc, error;
- int node_map_ids[NNCMAP], node_ids[NCNTCM], proc_ids[NCNTCM];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(iproc=0; iproc < NPROCF; iproc++) {
- for(i=0; i < NNCMAP; i++) {
- node_map_ids[i]=(i+1);
- }
- for(i=0; i < NCNTCM; i++) {
- node_ids[i] = 2*(i+1);
- proc_ids[i] = 3*(i+1);
- }
-
- for(i=0; i < NNCMAP; i++) {
- error = ex_put_node_cmap(fileid, node_map_ids[i], node_ids,
- proc_ids, iproc);
- if (error < 0) return error;
- }
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_pecm(int fileid)
-{
- int i, iproc, error;
- int elem_map_ids[NECMAP], elem_ids[ECNTCM], side_ids[ECNTCM];
- int proc_ids[ECNTCM];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(iproc=0; iproc < NPROCF; iproc++) {
- for(i=0; i < NECMAP; i++) {
- elem_map_ids[i]=2*(i+1);
- }
- for(i=0; i < ECNTCM; i++) {
- elem_ids[i] = 2*(i+1);
- side_ids[i] = 3*(i+1);
- proc_ids[i] = 4*(i+1);
- }
-
- for(i=0; i < NECMAP; i++) {
- error = ex_put_elem_cmap(fileid, elem_map_ids[i], elem_ids,
- side_ids, proc_ids, iproc);
- if (error < 0) return error;
- }
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_giinf(int fileid)
-{
- int error, nproc, nprocf;
- char ftype[2];
-
-/*-----------------------------Execution Begins-----------------------------*/
- error = ex_get_init_info(fileid, &nproc, &nprocf, ftype);
-
- if (error < 0) return error;
-
- if (nproc != NPROC) return -1;
- if (nprocf != NPROCF) return -1;
- if (strcmp(ftype, "s") != 0) return -1;
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_ginig(int fileid)
-{
-
- int error;
- int num_nodes_g, num_elems_g, num_elem_blks_g, num_ns_g, num_ss_g;
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- error = ex_get_init_global(fileid, &num_nodes_g, &num_elems_g,
- &num_elem_blks_g, &num_ns_g, &num_ss_g);
-
- if (error < 0) return error;
-
- if (num_nodes_g != NNG) return -1;
- if (num_elems_g != NEG) return -1;
- if (num_elem_blks_g != NEBG) return -1;
- if (num_ns_g != NNSG) return -1;
- if (num_ss_g != NSSG) return -1;
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_gelbid(int fileid)
-{
-
- int i, error;
- int el_blk_ids[NEBG], el_blk_cnt[NEBG];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- error = ex_get_eb_info_global(fileid, el_blk_ids, el_blk_cnt);
-
- if (error < 0) return error;
-
- for(i=0; i < NEBG; i++) {
- if (el_blk_ids[i] != (i+1)) return -1;
- if (el_blk_cnt[i] != NEBCG) return -1;
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_gnsp(int fileid)
-{
-
- int i, error;
- int global_ids[NNSG], global_n_cnts[NNSG], global_df_cnts[NNSG];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- error = ex_get_ns_param_global(fileid, global_ids, global_n_cnts,
- global_df_cnts);
-
- if (error < 0) return error;
-
- for(i=0; i < NNSG; i++) {
- if (global_ids[i] != 2*(i+1)) return -1;
- if (global_n_cnts[i] != 3*(i+1)) return -1;
- if (global_df_cnts[i] != 1 ) return -1;
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_gssp(int fileid)
-{
-
- int i, error;
- int global_ids[NSSG], global_e_cnts[NSSG], global_df_cnts[NSSG];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- error = ex_get_ss_param_global(fileid, global_ids, global_e_cnts,
- global_df_cnts);
-
- if (error < 0) return error;
-
- for(i=0; i < NSSG; i++) {
- if (global_ids[i] != 3*(i+1)) return -1;
- if (global_e_cnts[i] != 2*(i+1)) return -1;
- if (global_df_cnts[i] != 1 ) return -1;
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_glbp(int fileid)
-{
-
- int iproc, error;
- int nintn, nborn, nextn, ninte, nbore, nncmap, necmap;
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(iproc=0; iproc < NPROCF; iproc++) {
- error = ex_get_loadbal_param(fileid, &nintn, &nborn, &nextn, &ninte,
- &nbore, &nncmap, &necmap, iproc);
-
- if (error < 0) return error;
-
- if (nintn != NINTN ) return -1;
- if (nborn != NBORN ) return -1;
- if (nextn != NEXTN ) return -1;
- if (ninte != NINTE ) return -1;
- if (nbore != NBORE ) return -1;
- if (nncmap != NNCMAP) return -1;
- if (necmap != NECMAP) return -1;
-
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_gnm(int fileid)
-{
- int iproc, j, error, j1=0;
- int node_mapi[NINTN], node_mapb[NBORN], node_mape[NEXTN];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
-
- for(iproc=0; iproc < NPROCF; iproc++) {
- error = ex_get_processor_node_maps(fileid, node_mapi, node_mapb, node_mape, iproc);
-
- if (error < 0) return error;
-
- for(j=0; j < NINTN; j++) {
- if (node_mapi[j] != j1++) return -1;
- }
- for(j=0; j < NBORN; j++) {
- if (node_mapb[j] != j1++) return -1;
- }
- for(j=0; j < NEXTN; j++) {
- if (node_mape[j] != j1++) return -1;
- }
-
- j1 = 0;
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_gem(int fileid)
-{
- int iproc, j, error, j1=0;
- int elem_mapi[NINTE], elem_mapb[NBORE];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(iproc=0; iproc < NPROCF; iproc++) {
-
- error = ex_get_processor_elem_maps(fileid, elem_mapi, elem_mapb, iproc);
-
- if (error < 0) return error;
-
- for(j=0; j < NINTE; j++) {
- if (elem_mapi[j] != j1++) return -1;
- }
- for(j=0; j < NBORE; j++) {
- if (elem_mapb[j] != j1++) return -1;
- }
- j1 = 0;
- }
-
- return 0;
-
-}
-
-/*****************************************************************************/
-int ne_test_gncm(int fileid)
-{
- int i, j, iproc, error;
- int node_map_ids[NNCMAP], node_map_cnts[NNCMAP];
- int node_ids[NCNTCM], proc_ids[NCNTCM];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(iproc=0; iproc < NPROCF; iproc++) {
-
- error = ex_get_cmap_params(fileid, node_map_ids, node_map_cnts,
- NULL, NULL, iproc);
-
- if (error < 0) return error;
-
- for(i=0; i < NNCMAP; i++) {
- error = ex_get_node_cmap(fileid, node_map_ids[i], node_ids,
- proc_ids, iproc);
-
- if (error < 0) return error;
-
- for(j=0; j < NCNTCM; j++) {
- if (node_ids[j] != 2*(j+1)) return -1;
- if (proc_ids[j] != 3*(j+1)) return -1;
- }
- }
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_gecm(int fileid)
-{
- int i, j, iproc, error;
- int elem_ids[ECNTCM], elem_map_cnts[NECMAP], proc_ids[ECNTCM];
- int side_ids[ECNTCM], elem_map_ids[NECMAP];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- for(iproc=0; iproc < NPROCF; iproc++) {
-
- error = ex_get_cmap_params(fileid, NULL, NULL,
- elem_map_ids, elem_map_cnts, iproc);
-
- if (error < 0) return error;
-
- for(i=0; i < NECMAP; i++) {
- error = ex_get_elem_cmap(fileid, elem_map_ids[i], elem_ids,
- side_ids, proc_ids, iproc);
-
- if (error < 0) return error;
-
- for(j=0; j < ECNTCM; j++) {
- if (elem_ids[j] != 2*(j+1)) return -1;
- if (side_ids[j] != 3*(j+1)) return -1;
- if (proc_ids[j] != 4*(j+1)) return -1;
- }
- }
- }
-
- return 0;
-}
-
-/*****************************************************************************/
-int ne_test_plbpc(int fileid)
-{
- int iproc;
-
- int num_int_nodes[NPROCF], num_bor_nodes[NPROCF], num_ext_nodes[NPROCF];
- int num_int_elems[NPROCF], num_bor_elems[NPROCF];
- int num_node_cmaps[NPROCF], num_elem_cmaps[NPROCF];
-
-/*-----------------------------Execution Begins-----------------------------*/
-
- /* Set up the vectors */
- for(iproc=0; iproc < NPROCF; iproc++) {
- num_int_nodes[iproc] = NINTN;
- num_bor_nodes[iproc] = NBORN;
- num_ext_nodes[iproc] = NEXTN;
-
- num_int_elems[iproc] = NINTE;
- num_bor_elems[iproc] = NBORE;
-
- num_node_cmaps[iproc] = NNCMAP;
- num_elem_cmaps[iproc] = NECMAP;
- }
-
- return (ex_put_loadbal_param_cc(fileid, num_int_nodes, num_bor_nodes,
- num_ext_nodes, num_int_elems,
- num_bor_elems, num_node_cmaps,
- num_elem_cmaps));
-
-}
-
-/*****************************************************************************/
-int ne_test_pcmpc(int fileid)
-{
- int iproc, j, n_cntr, e_cntr;
-
- int nmap_ids[NNCMAP*NPROCF], nmap_n_cnts[NNCMAP*NPROCF];
- int nmap_proc_ptr[NPROCF+1];
- int emap_ids[NECMAP*NPROCF], emap_e_cnts[NECMAP*NPROCF];
- int emap_proc_ptr[NPROCF+1];
-/*-----------------------------Execution Begins-----------------------------*/
-
- nmap_proc_ptr[0] = 0;
- emap_proc_ptr[0] = 0;
- n_cntr = 0;
- e_cntr = 0;
- for(iproc=0; iproc < NPROCF; iproc++) {
-
- for(j=0; j < NNCMAP; j++) {
- nmap_ids[n_cntr] = (j+1);
- nmap_n_cnts[n_cntr++] = NCNTCM;
- }
-
- for(j=0; j < NECMAP; j++) {
- emap_ids[e_cntr] = 2*(j+1);
- emap_e_cnts[e_cntr++] = ECNTCM;
- }
-
- nmap_proc_ptr[iproc+1] = nmap_proc_ptr[iproc] + NNCMAP;
- emap_proc_ptr[iproc+1] = emap_proc_ptr[iproc] + NECMAP;
- }
-
-
- return (ex_put_cmap_params_cc(fileid, nmap_ids, nmap_n_cnts, nmap_proc_ptr,
- emap_ids, emap_e_cnts, emap_proc_ptr));
-}
diff --git a/cbind/test/test_nemesis.dmp b/cbind/test/test_nemesis.dmp
deleted file mode 100644
index 94cf160..0000000
--- a/cbind/test/test_nemesis.dmp
+++ /dev/null
@@ -1,30 +0,0 @@
-*********************Output Tests***********************
-creating ExodusII file... successful
-testing init info output...successful
-testing global init info output...successful
-testing global element block ID output...successful
-testing global node-set params output...successful
-testing global side-set params output...successful
-testing concatenated load balance info output...succesful
-testing node map output...successful
-testing element map output...successful
-testing concatenated communication map params output...successful
-testing nodal communication map output...successful
-testing elemental communication map output...successful
-closing ExodusII file...successful
-**********************Input Tests***********************
-reopening ExodusII file...successful
-testing init info input...successful
-testing global init info input...successful
-testing global element block IDs input...successful
-testing global node-set params input...successful
-testing global side-set params input...successful
-testing load-balance params input...successful
-testing node map input...successful
-testing element map input...successful
-testing nodal communication map input...successful
-testing elemental communication map input...successful
-closing ExodusII file...successful
-
-Tests Passed: 24
-Tests Failed: 0
diff --git a/cbind/test/testall.in b/cbind/test/testall.in
deleted file mode 100644
index 15a1cf2..0000000
--- a/cbind/test/testall.in
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# script to run all tests and compare them to saved dump files.
-#
-# To run the tests with valgrind checking, uncomment the next line and comment the
-# following line. Can also define other prefixes if wanted.
-
-#set PREFIX = "valgrind --tool=memcheck"
-set PREFIX = ""
-set SUFFIX = ".exe"
-set BINDIR = @CMAKE_CURRENT_BINARY_DIR@
-set SRCDIR = @CMAKE_CURRENT_SOURCE_DIR@
-set NCDUMP = @Netcdf_LIBRARY_DIRS@/../bin/ncdump
-set DIFF = "diff -w"
-
-echo "************************************************************************"
-echo "************************************************************************"
-rm -f test.output
-echo "testwt - single precision write test..."
-echo "begin testwt" > test.output
-${PREFIX} ${BINDIR}/testwt${SUFFIX} >> test.output
-echo "end testwt" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test.dmp | tee testwt.res
-
-echo "testrd - single precision read test..."
-echo "begin testrd" >> test.output
-${PREFIX} ${BINDIR}/testrd${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd.dmp | tee testrd.res
-echo "end testrd" >> test.output
-
-echo "testcp_ss - single-to-single precision copy test..."
-echo "begin testcp_ss" >> test.output
-${PREFIX} ${BINDIR}/testcp${SUFFIX} >> test.output
-echo "end testcp_ss" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_ss.dmp | tee testcp_ss.res
-
-echo "testcp_sd - single-to-double precision copy test..."
-echo "begin testcp_sd" >> test.output
-${PREFIX} ${BINDIR}/testcpd${SUFFIX} >> test.output
-echo "end testcp_sd" >> test.output
-${NCDUMP} -d5,5 testcpd.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_sd.dmp | tee testcp_sd.res
-
-echo "testcp_ln - large model to normal model single precision copy test..."
-echo "begin testcp_ln" >> test.output
-${PREFIX} ${BINDIR}/testcp_ln${SUFFIX} >> test.output
-echo "end testcp_ln" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_ln.dmp | tee testcp_ln.res
-
-echo "testcp_nl - normal_model to large_model single precision copy test..."
-echo "begin testcp_nl" >> test.output
-${PREFIX} ${BINDIR}/testcp_nl${SUFFIX} >> test.output
-echo "end testcp_nl" >> test.output
-${NCDUMP} -d5,5 testcp_nl.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_nl.dmp | tee testcp_nl.res
-
-echo "testwt_clb - single precision write test using concatenated puts..."
-echo "begin testwt_clb" >> test.output
-${PREFIX} ${BINDIR}/testwt_clb${SUFFIX} >> test.output
-echo "end testwt_clb" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test_clb.dmp | tee testwt_clb.res
-
-echo "testwtd - double precision write test..."
-echo "begin testwtd" >> test.output
-${PREFIX} ${BINDIR}/testwtd${SUFFIX} >> test.output
-echo "end testwtd" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testd.dmp | tee testwtd.res
-
-echo "testrdd - double precision read test..."
-echo "begin testrdd" >> test.output
-${PREFIX} ${BINDIR}/testrdd${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrdd.dmp | tee testrdd.res
-echo "end testrdd" >> test.output
-
-echo "testcp_dd - double-to-double precision copy test..."
-echo "begin testcp_dd" >> test.output
-${PREFIX} ${BINDIR}/testcpd${SUFFIX} >> test.output
-echo "end testcp_dd" >> test.output
-${NCDUMP} -d5,5 testcpd.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_dd.dmp | tee testcp_dd.res
-
-echo "testcp_ds - double-to-single precision copy test..."
-echo "begin testcp_ds" >> test.output
-${PREFIX} ${BINDIR}/testcp${SUFFIX} >> test.output
-echo "end testcp_ds" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_ds.dmp | tee testcp_ds.res
-
-echo "testwt1 - single precision write files with several side sets..."
-echo "testwt1 ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt1" >> test.output
-${PREFIX} ${BINDIR}/testwt1${SUFFIX} >> test.output
-echo "end testwt1" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test1.dmp | tee testwt1.res
-
-echo "testrd1 - single precision read test of a file with several side sets..."
-echo "testrd1 ... [Expect file create failure error, NOCLOBBER]"
-echo "testrd1 ... [Expect failure locating elem var 1 for elem block 12]"
-echo "begin testrd1" >> test.output
-${PREFIX} ${BINDIR}/testrd1${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd1.dmp | tee testrd1.res
-echo "end testrd1" >> test.output
-
-echo "testwt_ss - write files to test side sets..."
-echo "testwt_ss ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt_ss" >> test.output
-${PREFIX} ${BINDIR}/testwt_ss${SUFFIX} >> test.output
-echo "end testwt_ss" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt_ss.dmp | tee testwt_ss.res
-
-echo "testrd_ss - read test of a file with several side sets..."
-echo "testrd_ss ... [Expect warning for NULL sidesets 30 and 31]"
-echo "begin testrd_ss" >> test.output
-${PREFIX} ${BINDIR}/testrd_ss${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd_ss.dmp | tee testrd_ss.res
-echo "end testrd_ss" >> test.output
-
-echo "testwt2 - single precision write 2 files (simultaneously open) test..."
-echo "begin testwt2" >> test.output
-${PREFIX} ${BINDIR}/testwt2${SUFFIX} >> test.output
-echo "end testwt2" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test2-1.dmp | tee testwt2-1.res
-${NCDUMP} -d5,5 test2.exo | grep -v version | ${DIFF} - ${SRCDIR}/test2-2.dmp | tee testwt2-2.res
-
-echo "testrdwt - read from one and write to another (simutaneously open) file..."
-echo "begin testrdwt" >> test.output
-${PREFIX} ${BINDIR}/testrdwt${SUFFIX} >> test.output
-echo "end testrdwt" >> test.output
-${NCDUMP} -d5,5 test2.exo | grep -v version | ${DIFF} - ${SRCDIR}/test2.dmp | tee testrdwt.res
-
-echo "testwt_nc - write x y z components of coordinates separately..."
-echo "begin testwt_nc" >> test.output
-${PREFIX} ${BINDIR}/testwt_nc${SUFFIX} >> test.output
-echo "end testwt_nc" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test.dmp | tee testwt_nc.res
-
-echo "testrd_nc - read x y z components of coordinates separately..."
-echo "begin testrd_nc" >> test.output
-${PREFIX} ${BINDIR}/testrd_nc${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd_nc.dmp | tee testrd_nc.res
-echo "end testrd" >> test.output
-
-echo "testwt-zeron - write file with zero nodes and elements..."
-echo "begin testwt-zeron" >> test.output
-${PREFIX} ${BINDIR}/testwt-zeron${SUFFIX} >> test.output
-echo "end testwt-zeron" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-zeron.dmp | tee testwt-zeron.res
-
-echo "testrd - read test of file with zero nodes and elements..."
-echo "begin testrd zero nodes" >> test.output
-${PREFIX} ${BINDIR}/testrd${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd_zeron.dmp | tee testrd_zeron.res
-echo "end testrd zero nodes" >> test.output
-
-echo "testwt-zeroe - write file with zero elements..."
-echo "begin testwt-zeroe" >> test.output
-${PREFIX} ${BINDIR}/testwt-zeroe${SUFFIX} >> test.output
-echo "end testwt-zeroe" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-zeroe.dmp | tee testwt-zeroe.res
-
-echo "testrd - read test of file with zero elements..."
-echo "begin testrd zero elements" >> test.output
-${PREFIX} ${BINDIR}/testrd${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd_zeroe.dmp | tee testrd_zeroe.res
-echo "end testrd zero elements" >> test.output
-
-echo "testwt-one-attrib - read/write test of element attributes - read one at a time..."
-echo "begin testwt-one-attrib - read attributes one at a time" >> test.output
-${PREFIX} ${BINDIR}/testwt-one-attrib${SUFFIX} | tee testrd_zeroe.res
-echo "end testwt-one-attrib - read attributes one at a time" >> test.output
-
-echo "testwt-nsided - write file with nsided elements..."
-echo "begin testwt-nsided" >> test.output
-${PREFIX} ${BINDIR}/testwt-nsided${SUFFIX} >> test.output
-echo "end testwt-nsided" >> test.output
-${NCDUMP} -d5,5 test-nsided.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-nsided.dmp | tee testwt-nsided.res
-
-echo "testrd-nsided - read file with nsided elements..."
-echo "begin testrd-nsided" >> test.output
-${PREFIX} ${BINDIR}/testrd-nsided${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd-nsided.dmp | tee testrd-nsided.res
-echo "end testrd-nsided" >> test.output
-
-echo "testwt-nfaced - write file with nfaced elements..."
-echo "begin testwt-nfaced" >> test.output
-${PREFIX} ${BINDIR}/testwt-nfaced${SUFFIX} >> test.output
-echo "end testwt-nfaced" >> test.output
-${NCDUMP} -d5,5 test-nfaced.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-nfaced.dmp | tee testwt-nfaced.res
-
-echo "testrd-nfaced - read file with nfaced elements..."
-echo "begin testrd-nfaced" >> test.output
-${PREFIX} ${BINDIR}/testrd-nfaced${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd-nfaced.dmp | tee testrd-nfaced.res
-echo "end testrd-nfaced" >> test.output
-
-echo "testwt-long-name - write file with long (64-character) names..."
-echo "begin testwt-long-name" >> test.output
-${PREFIX} ${BINDIR}/testwt-long-name${SUFFIX} >> test.output
-echo "end testwt-long-name" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-long-name.dmp | tee testwt-long-name.res
-
-echo "testrd - read long name file truncating to 32 characters on read..."
-echo "begin testrd (truncate)" >> test.output
-${PREFIX} ${BINDIR}/testrd${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd-nm32.dmp | tee testrd-nm32.res
-echo "end testrd (truncate)" >> test.output
-
-echo "testrd-long-name - read long name file..."
-echo "begin testrd-long-name" >> test.output
-${PREFIX} ${BINDIR}/testrd-long-name${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/testrd-long-name.dmp | tee testrd-long-name.res
-echo "end testrd-long-name" >> test.output
-
-echo "test_nemesis - read long name file..."
-echo "begin test_nemesis" >> test.output
-${PREFIX} ${BINDIR}/test_nemesis${SUFFIX} | grep -v version | ${DIFF} - ${SRCDIR}/test_nemesis.dmp | tee test_nemesis.res
-echo "end test_nemesis" >> test.output
-
-echo "************************************************************************"
-echo "************************************************************************"
diff --git a/cbind/test/testall.in1 b/cbind/test/testall.in1
deleted file mode 100644
index 40522d3..0000000
--- a/cbind/test/testall.in1
+++ /dev/null
@@ -1,233 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# script to run all tests and compare them to saved dump files.
-#
-# To run the tests with valgrind checking, uncomment the next line and comment the
-# following line. Can also define other prefixes if wanted.
-
-#set PREFIX = "valgrind --tool=memcheck"
-set PREFIX = ""
-set SRCDIR = .
-set NCDUMP = @<BINDIR>@/ncdump
-set DIFF = "diff -w"
-echo "************************************************************************"
-echo "************************************************************************"
-rm -f test.output
-echo "testwt - single precision write test..."
-echo "begin testwt" > test.output
-${PREFIX} ${SRCDIR}/testwt >> test.output
-echo "end testwt" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test.dmp | tee testwt.res
-
-echo "testrd - single precision read test..."
-echo "begin testrd" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version | ${DIFF} - ${SRCDIR}/testrd.dmp | tee testrd.res
-echo "end testrd" >> test.output
-
-echo "testcp_ss - single-to-single precision copy test..."
-echo "begin testcp_ss" >> test.output
-${PREFIX} ${SRCDIR}/testcp >> test.output
-echo "end testcp_ss" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_ss.dmp | tee testcp_ss.res
-
-echo "testcp_sd - single-to-double precision copy test..."
-echo "begin testcp_sd" >> test.output
-${PREFIX} ${SRCDIR}/testcpd >> test.output
-echo "end testcp_sd" >> test.output
-${NCDUMP} -d5,5 testcpd.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_sd.dmp | tee testcp_sd.res
-
-echo "testcp_ln - large model to normal model single precision copy test..."
-echo "begin testcp_ln" >> test.output
-${PREFIX} ${SRCDIR}/testcp_ln >> test.output
-echo "end testcp_ln" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_ln.dmp | tee testcp_ln.res
-
-echo "testcp_nl - normal_model to large_model single precision copy test..."
-echo "begin testcp_nl" >> test.output
-${PREFIX} ${SRCDIR}/testcp_nl >> test.output
-echo "end testcp_nl" >> test.output
-${NCDUMP} -d5,5 testcp_nl.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_nl.dmp | tee testcp_nl.res
-
-echo "testwt_clb - single precision write test using concatenated puts..."
-echo "begin testwt_clb" >> test.output
-${PREFIX} ${SRCDIR}/testwt_clb >> test.output
-echo "end testwt_clb" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test_clb.dmp | tee testwt_clb.res
-
-echo "testwtd - double precision write test..."
-echo "begin testwtd" >> test.output
-${PREFIX} ${SRCDIR}/testwtd >> test.output
-echo "end testwtd" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testd.dmp | tee testwtd.res
-
-echo "testrdd - double precision read test..."
-echo "begin testrdd" >> test.output
-${PREFIX} ${SRCDIR}/testrdd | grep -v version | ${DIFF} - ${SRCDIR}/testrdd.dmp | tee testrdd.res
-echo "end testrdd" >> test.output
-
-echo "testcp_dd - double-to-double precision copy test..."
-echo "begin testcp_dd" >> test.output
-${PREFIX} ${SRCDIR}/testcpd >> test.output
-echo "end testcp_dd" >> test.output
-${NCDUMP} -d5,5 testcpd.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_dd.dmp | tee testcp_dd.res
-
-echo "testcp_ds - double-to-single precision copy test..."
-echo "begin testcp_ds" >> test.output
-${PREFIX} ${SRCDIR}/testcp >> test.output
-echo "end testcp_ds" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_ds.dmp | tee testcp_ds.res
-
-echo "testwt1 - single precision write files with several side sets..."
-echo "testwt1 ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt1" >> test.output
-${PREFIX} ${SRCDIR}/testwt1 >> test.output
-echo "end testwt1" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test1.dmp | tee testwt1.res
-
-echo "testrd1 - single precision read test of a file with several side sets..."
-echo "testrd1 ... [Expect file create failure error, NOCLOBBER]"
-echo "testrd1 ... [Expect failure locating elem var 1 for elem block 12]"
-echo "begin testrd1" >> test.output
-${PREFIX} ${SRCDIR}/testrd1 | grep -v version | ${DIFF} - ${SRCDIR}/testrd1.dmp | tee testrd1.res
-echo "end testrd1" >> test.output
-
-echo "testwt_ss - write files to test side sets..."
-echo "testwt_ss ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt_ss" >> test.output
-${PREFIX} ${SRCDIR}/testwt_ss >> test.output
-echo "end testwt_ss" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt_ss.dmp | tee testwt_ss.res
-
-echo "testrd_ss - read test of a file with several side sets..."
-echo "testrd_ss ... [Expect warning for NULL sidesets 30 and 31]"
-echo "begin testrd_ss" >> test.output
-${PREFIX} ${SRCDIR}/testrd_ss | grep -v version | ${DIFF} - ${SRCDIR}/testrd_ss.dmp | tee testrd_ss.res
-echo "end testrd_ss" >> test.output
-
-echo "testwt2 - single precision write 2 files (simultaneously open) test..."
-echo "begin testwt2" >> test.output
-${PREFIX} ${SRCDIR}/testwt2 >> test.output
-echo "end testwt2" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test2-1.dmp | tee testwt2-1.res
-${NCDUMP} -d5,5 test2.exo | grep -v version | ${DIFF} - ${SRCDIR}/test2-2.dmp | tee testwt2-2.res
-
-echo "testrdwt - read from one and write to another (simutaneously open) file..."
-echo "begin testrdwt" >> test.output
-${PREFIX} ${SRCDIR}/testrdwt >> test.output
-echo "end testrdwt" >> test.output
-${NCDUMP} -d5,5 test2.exo | grep -v version | ${DIFF} - ${SRCDIR}/test2.dmp | tee testrdwt.res
-
-echo "testwt_nc - write x y z components of coordinates separately..."
-echo "begin testwt_nc" >> test.output
-${PREFIX} ${SRCDIR}/testwt_nc >> test.output
-echo "end testwt_nc" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test.dmp | tee testwt_nc.res
-
-echo "testrd_nc - read x y z components of coordinates separately..."
-echo "begin testrd_nc" >> test.output
-${PREFIX} ${SRCDIR}/testrd_nc | grep -v version | ${DIFF} - ${SRCDIR}/testrd_nc.dmp | tee testrd_nc.res
-echo "end testrd" >> test.output
-
-echo "testwt-zeron - write file with zero nodes and elements..."
-echo "begin testwt-zeron" >> test.output
-${PREFIX} ${SRCDIR}/testwt-zeron >> test.output
-echo "end testwt-zeron" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-zeron.dmp | tee testwt-zeron.res
-
-echo "testrd - read test of file with zero nodes and elements..."
-echo "begin testrd zero nodes" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version | ${DIFF} - ${SRCDIR}/testrd_zeron.dmp | tee testrd_zeron.res
-echo "end testrd zero nodes" >> test.output
-
-echo "testwt-zeroe - write file with zero elements..."
-echo "begin testwt-zeroe" >> test.output
-${PREFIX} ${SRCDIR}/testwt-zeroe >> test.output
-echo "end testwt-zeroe" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-zeroe.dmp | tee testwt-zeroe.res
-
-echo "testrd - read test of file with zero elements..."
-echo "begin testrd zero elements" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version | ${DIFF} - ${SRCDIR}/testrd_zeroe.dmp | tee testrd_zeroe.res
-echo "end testrd zero elements" >> test.output
-
-echo "testwt-one-attrib - read/write test of element attributes - read one at a time..."
-echo "begin testwt-one-attrib - read attributes one at a time" >> test.output
-${PREFIX} ${SRCDIR}/testwt-one-attrib | tee testrd_zeroe.res
-echo "end testwt-one-attrib - read attributes one at a time" >> test.output
-
-echo "testwt-nsided - write file with nsided elements..."
-echo "begin testwt-nsided" >> test.output
-${PREFIX} ${SRCDIR}/testwt-nsided >> test.output
-echo "end testwt-nsided" >> test.output
-${NCDUMP} -d5,5 test-nsided.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-nsided.dmp | tee testwt-nsided.res
-
-echo "testrd-nsided - read file with nsided elements..."
-echo "begin testrd-nsided" >> test.output
-${PREFIX} ${SRCDIR}/testrd-nsided | grep -v version | ${DIFF} - ${SRCDIR}/testrd-nsided.dmp | tee testrd-nsided.res
-echo "end testrd-nsided" >> test.output
-
-echo "testwt-nfaced - write file with nfaced elements..."
-echo "begin testwt-nfaced" >> test.output
-${PREFIX} ${SRCDIR}/testwt-nfaced >> test.output
-echo "end testwt-nfaced" >> test.output
-${NCDUMP} -d5,5 test-nfaced.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-nfaced.dmp | tee testwt-nfaced.res
-
-echo "testrd-nfaced - read file with nfaced elements..."
-echo "begin testrd-nfaced" >> test.output
-${PREFIX} ${SRCDIR}/testrd-nfaced | grep -v version | ${DIFF} - ${SRCDIR}/testrd-nfaced.dmp | tee testrd-nfaced.res
-echo "end testrd-nfaced" >> test.output
-
-echo "testwt-long-name - write file with long (64-character) names..."
-echo "begin testwt-long-name" >> test.output
-${PREFIX} ${SRCDIR}/testwt-long-name >> test.output
-echo "end testwt-long-name" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-long-name.dmp | tee testwt-long-name.res
-
-echo "testrd - read long name file truncating to 32 characters on read..."
-echo "begin testrd (truncate)" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version | ${DIFF} - ${SRCDIR}/testrd-nm32.dmp | tee testrd-nm32.res
-echo "end testrd (truncate)" >> test.output
-
-echo "testrd-long-name - read long name file..."
-echo "begin testrd-long-name" >> test.output
-${PREFIX} ${SRCDIR}/testrd-long-name | grep -v version | ${DIFF} - ${SRCDIR}/testrd-long-name.dmp | tee testrd-long-name.res
-echo "end testrd-long-name" >> test.output
-
-echo "test_nemesis - read long name file..."
-echo "begin test_nemesis" >> test.output
-${PREFIX} ${SRCDIR}/test_nemesis | grep -v version | ${DIFF} - ${SRCDIR}/test_nemesis.dmp | tee test_nemesis.res
-echo "end test_nemesis" >> test.output
-
-echo "************************************************************************"
-echo "************************************************************************"
diff --git a/cbind/test/testall.standalone b/cbind/test/testall.standalone
deleted file mode 100644
index b4ba8a0..0000000
--- a/cbind/test/testall.standalone
+++ /dev/null
@@ -1,238 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# script to run all tests and compare them to saved dump files.
-#
-# To run the tests with valgrind checking, uncomment the next line and comment the
-# following line. Can also define other prefixes if wanted.
-
-if ($#argv == 0) then
- set NCDUMP = `which ncdump`
-else
- set NCDUMP = $1
-endif
-
-#set PREFIX = "valgrind --tool=memcheck"
-set PREFIX = ""
-set SRCDIR = .
-set DIFF = "diff -w"
-echo "************************************************************************"
-echo "************************************************************************"
-rm -f test.output
-echo "testwt - single precision write test..."
-echo "begin testwt" > test.output
-${PREFIX} ${SRCDIR}/testwt >> test.output
-echo "end testwt" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test.dmp | tee testwt.res
-
-echo "testrd - single precision read test..."
-echo "begin testrd" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version | ${DIFF} - ${SRCDIR}/testrd.dmp | tee testrd.res
-echo "end testrd" >> test.output
-
-echo "testcp_ss - single-to-single precision copy test..."
-echo "begin testcp_ss" >> test.output
-${PREFIX} ${SRCDIR}/testcp >> test.output
-echo "end testcp_ss" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_ss.dmp | tee testcp_ss.res
-
-echo "testcp_sd - single-to-double precision copy test..."
-echo "begin testcp_sd" >> test.output
-${PREFIX} ${SRCDIR}/testcpd >> test.output
-echo "end testcp_sd" >> test.output
-${NCDUMP} -d5,5 testcpd.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_sd.dmp | tee testcp_sd.res
-
-echo "testcp_ln - large model to normal model single precision copy test..."
-echo "begin testcp_ln" >> test.output
-${PREFIX} ${SRCDIR}/testcp_ln >> test.output
-echo "end testcp_ln" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_ln.dmp | tee testcp_ln.res
-
-echo "testcp_nl - normal_model to large_model single precision copy test..."
-echo "begin testcp_nl" >> test.output
-${PREFIX} ${SRCDIR}/testcp_nl >> test.output
-echo "end testcp_nl" >> test.output
-${NCDUMP} -d5,5 testcp_nl.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_nl.dmp | tee testcp_nl.res
-
-echo "testwt_clb - single precision write test using concatenated puts..."
-echo "begin testwt_clb" >> test.output
-${PREFIX} ${SRCDIR}/testwt_clb >> test.output
-echo "end testwt_clb" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test_clb.dmp | tee testwt_clb.res
-
-echo "testwtd - double precision write test..."
-echo "begin testwtd" >> test.output
-${PREFIX} ${SRCDIR}/testwtd >> test.output
-echo "end testwtd" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testd.dmp | tee testwtd.res
-
-echo "testrdd - double precision read test..."
-echo "begin testrdd" >> test.output
-${PREFIX} ${SRCDIR}/testrdd | grep -v version | ${DIFF} - ${SRCDIR}/testrdd.dmp | tee testrdd.res
-echo "end testrdd" >> test.output
-
-echo "testcp_dd - double-to-double precision copy test..."
-echo "begin testcp_dd" >> test.output
-${PREFIX} ${SRCDIR}/testcpd >> test.output
-echo "end testcp_dd" >> test.output
-${NCDUMP} -d5,5 testcpd.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_dd.dmp | tee testcp_dd.res
-
-echo "testcp_ds - double-to-single precision copy test..."
-echo "begin testcp_ds" >> test.output
-${PREFIX} ${SRCDIR}/testcp >> test.output
-echo "end testcp_ds" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | ${DIFF} - ${SRCDIR}/testcp_ds.dmp | tee testcp_ds.res
-
-echo "testwt1 - single precision write files with several side sets..."
-echo "testwt1 ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt1" >> test.output
-${PREFIX} ${SRCDIR}/testwt1 >> test.output
-echo "end testwt1" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test1.dmp | tee testwt1.res
-
-echo "testrd1 - single precision read test of a file with several side sets..."
-echo "testrd1 ... [Expect file create failure error, NOCLOBBER]"
-echo "testrd1 ... [Expect failure locating elem var 1 for elem block 12]"
-echo "begin testrd1" >> test.output
-${PREFIX} ${SRCDIR}/testrd1 | grep -v version | ${DIFF} - ${SRCDIR}/testrd1.dmp | tee testrd1.res
-echo "end testrd1" >> test.output
-
-echo "testwt_ss - write files to test side sets..."
-echo "testwt_ss ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt_ss" >> test.output
-${PREFIX} ${SRCDIR}/testwt_ss >> test.output
-echo "end testwt_ss" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt_ss.dmp | tee testwt_ss.res
-
-echo "testrd_ss - read test of a file with several side sets..."
-echo "testrd_ss ... [Expect warning for NULL sidesets 30 and 31]"
-echo "begin testrd_ss" >> test.output
-${PREFIX} ${SRCDIR}/testrd_ss | grep -v version | ${DIFF} - ${SRCDIR}/testrd_ss.dmp | tee testrd_ss.res
-echo "end testrd_ss" >> test.output
-
-echo "testwt2 - single precision write 2 files (simultaneously open) test..."
-echo "begin testwt2" >> test.output
-${PREFIX} ${SRCDIR}/testwt2 >> test.output
-echo "end testwt2" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test2-1.dmp | tee testwt2-1.res
-${NCDUMP} -d5,5 test2.exo | grep -v version | ${DIFF} - ${SRCDIR}/test2-2.dmp | tee testwt2-2.res
-
-echo "testrdwt - read from one and write to another (simutaneously open) file..."
-echo "begin testrdwt" >> test.output
-${PREFIX} ${SRCDIR}/testrdwt >> test.output
-echo "end testrdwt" >> test.output
-${NCDUMP} -d5,5 test2.exo | grep -v version | ${DIFF} - ${SRCDIR}/test2.dmp | tee testrdwt.res
-
-echo "testwt_nc - write x y z components of coordinates separately..."
-echo "begin testwt_nc" >> test.output
-${PREFIX} ${SRCDIR}/testwt_nc >> test.output
-echo "end testwt_nc" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/test.dmp | tee testwt_nc.res
-
-echo "testrd_nc - read x y z components of coordinates separately..."
-echo "begin testrd_nc" >> test.output
-${PREFIX} ${SRCDIR}/testrd_nc | grep -v version | ${DIFF} - ${SRCDIR}/testrd_nc.dmp | tee testrd_nc.res
-echo "end testrd" >> test.output
-
-echo "testwt-zeron - write file with zero nodes and elements..."
-echo "begin testwt-zeron" >> test.output
-${PREFIX} ${SRCDIR}/testwt-zeron >> test.output
-echo "end testwt-zeron" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-zeron.dmp | tee testwt-zeron.res
-
-echo "testrd - read test of file with zero nodes and elements..."
-echo "begin testrd zero nodes" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version | ${DIFF} - ${SRCDIR}/testrd_zeron.dmp | tee testrd_zeron.res
-echo "end testrd zero nodes" >> test.output
-
-echo "testwt-zeroe - write file with zero elements..."
-echo "begin testwt-zeroe" >> test.output
-${PREFIX} ${SRCDIR}/testwt-zeroe >> test.output
-echo "end testwt-zeroe" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-zeroe.dmp | tee testwt-zeroe.res
-
-echo "testrd - read test of file with zero elements..."
-echo "begin testrd zero elements" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version | ${DIFF} - ${SRCDIR}/testrd_zeroe.dmp | tee testrd_zeroe.res
-echo "end testrd zero elements" >> test.output
-
-echo "testwt-one-attrib - read/write test of element attributes - read one at a time..."
-echo "begin testwt-one-attrib - read attributes one at a time" >> test.output
-${PREFIX} ${SRCDIR}/testwt-one-attrib | tee testrd_zeroe.res
-echo "end testwt-one-attrib - read attributes one at a time" >> test.output
-
-echo "testwt-nsided - write file with nsided elements..."
-echo "begin testwt-nsided" >> test.output
-${PREFIX} ${SRCDIR}/testwt-nsided >> test.output
-echo "end testwt-nsided" >> test.output
-${NCDUMP} -d5,5 test-nsided.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-nsided.dmp | tee testwt-nsided.res
-
-echo "testrd-nsided - read file with nsided elements..."
-echo "begin testrd-nsided" >> test.output
-${PREFIX} ${SRCDIR}/testrd-nsided | grep -v version | ${DIFF} - ${SRCDIR}/testrd-nsided.dmp | tee testrd-nsided.res
-echo "end testrd-nsided" >> test.output
-
-echo "testwt-nfaced - write file with nfaced elements..."
-echo "begin testwt-nfaced" >> test.output
-${PREFIX} ${SRCDIR}/testwt-nfaced >> test.output
-echo "end testwt-nfaced" >> test.output
-${NCDUMP} -d5,5 test-nfaced.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-nfaced.dmp | tee testwt-nfaced.res
-
-echo "testrd-nfaced - read file with nfaced elements..."
-echo "begin testrd-nfaced" >> test.output
-${PREFIX} ${SRCDIR}/testrd-nfaced | grep -v version | ${DIFF} - ${SRCDIR}/testrd-nfaced.dmp | tee testrd-nfaced.res
-echo "end testrd-nfaced" >> test.output
-
-echo "testwt-long-name - write file with long (64-character) names..."
-echo "begin testwt-long-name" >> test.output
-${PREFIX} ${SRCDIR}/testwt-long-name >> test.output
-echo "end testwt-long-name" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | ${DIFF} - ${SRCDIR}/testwt-long-name.dmp | tee testwt-long-name.res
-
-echo "testrd - read long name file truncating to 32 characters on read..."
-echo "begin testrd (truncate)" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version | ${DIFF} - ${SRCDIR}/testrd-nm32.dmp | tee testrd-nm32.res
-echo "end testrd (truncate)" >> test.output
-
-echo "testrd-long-name - read long name file..."
-echo "begin testrd-long-name" >> test.output
-${PREFIX} ${SRCDIR}/testrd-long-name | grep -v version | ${DIFF} - ${SRCDIR}/testrd-long-name.dmp | tee testrd-long-name.res
-echo "end testrd-long-name" >> test.output
-
-echo "test_nemesis - read long name file..."
-echo "begin test_nemesis" >> test.output
-${PREFIX} ${SRCDIR}/test_nemesis | grep -v version | ${DIFF} - ${SRCDIR}/test_nemesis.dmp | tee test_nemesis.res
-echo "end test_nemesis" >> test.output
-
-echo "************************************************************************"
-echo "************************************************************************"
diff --git a/cbind/test/testcp.c b/cbind/test/testcp.c
deleted file mode 100644
index 5858ec8..0000000
--- a/cbind/test/testcp.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testcp - copy file test.exo created by testwt
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-*
-* exit conditions -
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-
-int main (int argc, char **argv)
-{
- int exoid, exoid1, error, idum;
- int CPU_word_size,IO_word_size;
-
- float version;
-
- char *cdum = 0;
-
- ex_opts(EX_VERBOSE | EX_ABORT);
-
-/* open EXODUS II files */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use size in file */
-
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- printf (" CPU word size %1d\n",CPU_word_size);
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
- CPU_word_size = 8; /* this really shouldn't matter for
- the copy but tests the conversion
- routines */
- IO_word_size = 4;
-
- exoid1 = ex_create ("testcp.exo", /* filename */
- EX_CLOBBER, /* OK to overwrite */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
-
- printf ("\nafter ex_create, exoid = %3d\n",exoid1);
- if (exoid1 < 0) exit(1);
-
- printf (" CPU word size %1d\n",CPU_word_size);
- printf (" I/O word size %1d\n",IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
- error = ex_copy (exoid, exoid1);
- printf ("\nafter ex_copy, error = %3d\n", error);
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
-
- error = ex_close (exoid1);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testcp_dd.dmp b/cbind/test/testcp_dd.dmp
deleted file mode 100644
index ff7c1cf..0000000
--- a/cbind/test/testcp_dd.dmp
+++ /dev/null
@@ -1,248 +0,0 @@
-netcdf testcpd {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
-variables:
- double time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- double coordx(num_nodes) ;
- double coordy(num_nodes) ;
- double coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- double attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- double attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- double attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- double attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- double attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- double dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- double dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- double dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- double dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :floating_point_word_size = 8 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 10, 20, 30, 40, 50 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-}
diff --git a/cbind/test/testcp_ds.dmp b/cbind/test/testcp_ds.dmp
deleted file mode 100644
index 2ac3a2f..0000000
--- a/cbind/test/testcp_ds.dmp
+++ /dev/null
@@ -1,248 +0,0 @@
-netcdf testcp {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 10, 20, 30, 40, 50 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-}
diff --git a/cbind/test/testcp_ln.c b/cbind/test/testcp_ln.c
deleted file mode 100644
index cb37d3d..0000000
--- a/cbind/test/testcp_ln.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testcp_ln - copy file test.exo created by testwt, large_model to normal_model
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-*
-* exit conditions -
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-
-int main (int argc, char **argv)
-{
- int exoid, exoid1, error, idum;
- int CPU_word_size,IO_word_size;
-
- float version;
-
- char *cdum = 0;
-
- ex_opts(EX_VERBOSE | EX_ABORT);
-
-/* open EXODUS II files */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use size in file */
-
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- printf (" CPU word size %1d\n",CPU_word_size);
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
- CPU_word_size = 8; /* this really shouldn't matter for
- the copy but tests the conversion
- routines */
- IO_word_size = 4;
-
- exoid1 = ex_create ("testcp.exo", /* filename */
- EX_CLOBBER|EX_NORMAL_MODEL, /* OK to overwrite, normal */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
-
- printf ("\nafter ex_create, exoid = %3d\n",exoid1);
- if (exoid1 < 0) exit(1);
-
- printf (" CPU word size %1d\n",CPU_word_size);
- printf (" I/O word size %1d\n",IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
- error = ex_copy (exoid, exoid1);
- printf ("\nafter ex_copy, error = %3d\n", error);
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
-
- error = ex_close (exoid1);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testcp_ln.dmp b/cbind/test/testcp_ln.dmp
deleted file mode 100644
index e85aa0c..0000000
--- a/cbind/test/testcp_ln.dmp
+++ /dev/null
@@ -1,334 +0,0 @@
-netcdf testcp {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 7 ;
- num_el_blk = 7 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_att_in_nblk = 2 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 8 ;
- num_att_in_blk6 = 1 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 3 ;
- num_att_in_blk7 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_att_in_ns1 = 1 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 8 ;
- num_side_ss5 = 10 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coord(num_dim, num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- float nattrb(num_nodes, num_att_in_nblk) ;
- char nattrib_name(num_att_in_nblk, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- float attrib6(num_el_in_blk6, num_att_in_blk6) ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "tetra" ;
- float attrib7(num_el_in_blk7, num_att_in_blk7) ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "tri" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATERIAL_PROPERTY_LONG_NAME_32CH" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- float nsattrb1(num_nod_ns1, num_att_in_ns1) ;
- char nsattrib_name1(num_att_in_ns1, len_name) ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 0 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coord =
- 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3, 6, 0,
- 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10,
- 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0, 0, 0, 2,
- 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3, 6, 0,
- 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- eb_names =
- "block_1",
- "block_2",
- "block_3",
- "block_4",
- "block_5",
- "block_6",
- "block_7" ;
-
- ns_names =
- "nset_1",
- "nset_2" ;
-
- ss_names =
- "sset_1",
- "sset_2",
- "sset_3",
- "sset_4",
- "sset_5" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- nattrb =
- 0, 0,
- 1, 0,
- 1, 1,
- 0, 1,
- 1, 0,
- 2, 0,
- 2, 1,
- 1, 1,
- 0, 0,
- 10, 0,
- 10, 0,
- 1, 0,
- 1, 10,
- 10, 10,
- 10, 10,
- 1, 10,
- 0, 0,
- 1, 0,
- 10, 0,
- 7, 5,
- 3, 0,
- 6, 0,
- 0, 0,
- 3, 2,
- 6, 2,
- 0, 2,
- 2.7, 1.7,
- 6, 1.7,
- 5.7, 1.7,
- 3.7, 0,
- 0, 0,
- 10, 0,
- 10, 10 ;
-
- nattrib_name =
- "Node_attr_1",
- "Node_attr_2" ;
-
- elem_map = 1, 2, 3, 4, 5, 6, 7 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "THICKNESS" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "THICKNESS" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "THICKNESS" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "THICKNESS" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "THICKNESS" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- attrib6 =
- 6.1416 ;
-
- attrib_name6 =
- "THICKNESS" ;
-
- connect6 =
- 17, 18, 19, 20, 27, 28, 30, 29 ;
-
- attrib7 =
- 6.1416 ;
-
- attrib_name7 =
- "THICKNESS" ;
-
- connect7 =
- 31, 32, 33 ;
-
- eb_prop2 = 10, 20, 30, 40, 50, 60, 70 ;
-
- eb_prop3 = _, _, _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- nsattrb1 =
- 0,
- 1,
- 1,
- 0,
- 1 ;
-
- nsattrib_name1 =
- "Nodeset_attribute" ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4, 6, 6, 6, 6 ;
-
- side_ss4 = 1, 2, 3, 4, 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 ;
-
- side_ss5 = 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-}
diff --git a/cbind/test/testcp_nl.c b/cbind/test/testcp_nl.c
deleted file mode 100644
index d6dac40..0000000
--- a/cbind/test/testcp_nl.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testcp_lrg - copy file test.exo created by testwt, normal_model to large_model
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-*
-* exit conditions -
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-
-int main (int argc, char **argv)
-{
- int exoid, exoid1, error, idum;
- int CPU_word_size,IO_word_size;
-
- float version;
-
- char *cdum = 0;
-
- ex_opts(EX_VERBOSE | EX_ABORT);
-
-/* open EXODUS II files */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use size in file */
-
- exoid = ex_open ("testcp.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- printf (" CPU word size %1d\n",CPU_word_size);
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
- CPU_word_size = 8; /* this really shouldn't matter for
- the copy but tests the conversion
- routines */
- IO_word_size = 4;
-
- exoid1 = ex_create ("testcp_nl.exo", /* filename */
- EX_CLOBBER|EX_LARGE_MODEL, /* OK to overwrite, large */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
-
- printf ("\nafter ex_create, exoid = %3d\n",exoid1);
- if (exoid1 < 0) exit(1);
-
- printf (" CPU word size %1d\n",CPU_word_size);
- printf (" I/O word size %1d\n",IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
- error = ex_copy (exoid, exoid1);
- printf ("\nafter ex_copy, error = %3d\n", error);
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
-
- error = ex_close (exoid1);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testcp_nl.dmp b/cbind/test/testcp_nl.dmp
deleted file mode 100644
index 1f4983c..0000000
--- a/cbind/test/testcp_nl.dmp
+++ /dev/null
@@ -1,337 +0,0 @@
-netcdf testcp_nl {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 7 ;
- num_el_blk = 7 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_att_in_nblk = 2 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 8 ;
- num_att_in_blk6 = 1 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 3 ;
- num_att_in_blk7 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_att_in_ns1 = 1 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 8 ;
- num_side_ss5 = 10 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- float nattrb(num_nodes, num_att_in_nblk) ;
- char nattrib_name(num_att_in_nblk, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- float attrib6(num_el_in_blk6, num_att_in_blk6) ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "tetra" ;
- float attrib7(num_el_in_blk7, num_att_in_blk7) ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "tri" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATERIAL_PROPERTY_LONG_NAME_32CH" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- float nsattrb1(num_nod_ns1, num_att_in_ns1) ;
- char nsattrib_name1(num_att_in_ns1, len_name) ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- eb_names =
- "block_1",
- "block_2",
- "block_3",
- "block_4",
- "block_5",
- "block_6",
- "block_7" ;
-
- ns_names =
- "nset_1",
- "nset_2" ;
-
- ss_names =
- "sset_1",
- "sset_2",
- "sset_3",
- "sset_4",
- "sset_5" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- nattrb =
- 0, 0,
- 1, 0,
- 1, 1,
- 0, 1,
- 1, 0,
- 2, 0,
- 2, 1,
- 1, 1,
- 0, 0,
- 10, 0,
- 10, 0,
- 1, 0,
- 1, 10,
- 10, 10,
- 10, 10,
- 1, 10,
- 0, 0,
- 1, 0,
- 10, 0,
- 7, 5,
- 3, 0,
- 6, 0,
- 0, 0,
- 3, 2,
- 6, 2,
- 0, 2,
- 2.7, 1.7,
- 6, 1.7,
- 5.7, 1.7,
- 3.7, 0,
- 0, 0,
- 10, 0,
- 10, 10 ;
-
- nattrib_name =
- "Node_attr_1",
- "Node_attr_2" ;
-
- elem_map = 1, 2, 3, 4, 5, 6, 7 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "THICKNESS" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "THICKNESS" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "THICKNESS" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "THICKNESS" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "THICKNESS" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- attrib6 =
- 6.1416 ;
-
- attrib_name6 =
- "THICKNESS" ;
-
- connect6 =
- 17, 18, 19, 20, 27, 28, 30, 29 ;
-
- attrib7 =
- 6.1416 ;
-
- attrib_name7 =
- "THICKNESS" ;
-
- connect7 =
- 31, 32, 33 ;
-
- eb_prop2 = 10, 20, 30, 40, 50, 60, 70 ;
-
- eb_prop3 = _, _, _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- nsattrb1 =
- 0,
- 1,
- 1,
- 0,
- 1 ;
-
- nsattrib_name1 =
- "Nodeset_attribute" ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4, 6, 6, 6, 6 ;
-
- side_ss4 = 1, 2, 3, 4, 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 ;
-
- side_ss5 = 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-}
diff --git a/cbind/test/testcp_sd.dmp b/cbind/test/testcp_sd.dmp
deleted file mode 100644
index 852c97b..0000000
--- a/cbind/test/testcp_sd.dmp
+++ /dev/null
@@ -1,337 +0,0 @@
-netcdf testcpd {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 7 ;
- num_el_blk = 7 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_att_in_nblk = 2 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 8 ;
- num_att_in_blk6 = 1 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 3 ;
- num_att_in_blk7 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_att_in_ns1 = 1 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 8 ;
- num_side_ss5 = 10 ;
-variables:
- double time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- double coordx(num_nodes) ;
- double coordy(num_nodes) ;
- double coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- double nattrb(num_nodes, num_att_in_nblk) ;
- char nattrib_name(num_att_in_nblk, len_name) ;
- int elem_map(num_elem) ;
- double attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- double attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- double attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- double attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- double attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- double attrib6(num_el_in_blk6, num_att_in_blk6) ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "tetra" ;
- double attrib7(num_el_in_blk7, num_att_in_blk7) ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "tri" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATERIAL_PROPERTY_LONG_NAME_32CH" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- double dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- double dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- double nsattrb1(num_nod_ns1, num_att_in_ns1) ;
- char nsattrib_name1(num_att_in_ns1, len_name) ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- double dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- double dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :floating_point_word_size = 8 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- eb_names =
- "block_1",
- "block_2",
- "block_3",
- "block_4",
- "block_5",
- "block_6",
- "block_7" ;
-
- ns_names =
- "nset_1",
- "nset_2" ;
-
- ss_names =
- "sset_1",
- "sset_2",
- "sset_3",
- "sset_4",
- "sset_5" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- nattrb =
- 0, 0,
- 1, 0,
- 1, 1,
- 0, 1,
- 1, 0,
- 2, 0,
- 2, 1,
- 1, 1,
- 0, 0,
- 10, 0,
- 10, 0,
- 1, 0,
- 1, 10,
- 10, 10,
- 10, 10,
- 1, 10,
- 0, 0,
- 1, 0,
- 10, 0,
- 7, 5,
- 3, 0,
- 6, 0,
- 0, 0,
- 3, 2,
- 6, 2,
- 0, 2,
- 2.7, 1.7,
- 6, 1.7,
- 5.7, 1.7,
- 3.7, 0,
- 0, 0,
- 10, 0,
- 10, 10 ;
-
- nattrib_name =
- "Node_attr_1",
- "Node_attr_2" ;
-
- elem_map = 1, 2, 3, 4, 5, 6, 7 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "THICKNESS" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "THICKNESS" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "THICKNESS" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "THICKNESS" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "THICKNESS" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- attrib6 =
- 6.1416 ;
-
- attrib_name6 =
- "THICKNESS" ;
-
- connect6 =
- 17, 18, 19, 20, 27, 28, 30, 29 ;
-
- attrib7 =
- 6.1416 ;
-
- attrib_name7 =
- "THICKNESS" ;
-
- connect7 =
- 31, 32, 33 ;
-
- eb_prop2 = 10, 20, 30, 40, 50, 60, 70 ;
-
- eb_prop3 = _, _, _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- nsattrb1 =
- 0,
- 1,
- 1,
- 0,
- 1 ;
-
- nsattrib_name1 =
- "Nodeset_attribute" ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4, 6, 6, 6, 6 ;
-
- side_ss4 = 1, 2, 3, 4, 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 ;
-
- side_ss5 = 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-}
diff --git a/cbind/test/testcp_ss.dmp b/cbind/test/testcp_ss.dmp
deleted file mode 100644
index fe3289e..0000000
--- a/cbind/test/testcp_ss.dmp
+++ /dev/null
@@ -1,337 +0,0 @@
-netcdf testcp {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 7 ;
- num_el_blk = 7 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_att_in_nblk = 2 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 8 ;
- num_att_in_blk6 = 1 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 3 ;
- num_att_in_blk7 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_att_in_ns1 = 1 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 8 ;
- num_side_ss5 = 10 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- float nattrb(num_nodes, num_att_in_nblk) ;
- char nattrib_name(num_att_in_nblk, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- float attrib6(num_el_in_blk6, num_att_in_blk6) ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "tetra" ;
- float attrib7(num_el_in_blk7, num_att_in_blk7) ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "tri" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATERIAL_PROPERTY_LONG_NAME_32CH" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- float nsattrb1(num_nod_ns1, num_att_in_ns1) ;
- char nsattrib_name1(num_att_in_ns1, len_name) ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- eb_names =
- "block_1",
- "block_2",
- "block_3",
- "block_4",
- "block_5",
- "block_6",
- "block_7" ;
-
- ns_names =
- "nset_1",
- "nset_2" ;
-
- ss_names =
- "sset_1",
- "sset_2",
- "sset_3",
- "sset_4",
- "sset_5" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- nattrb =
- 0, 0,
- 1, 0,
- 1, 1,
- 0, 1,
- 1, 0,
- 2, 0,
- 2, 1,
- 1, 1,
- 0, 0,
- 10, 0,
- 10, 0,
- 1, 0,
- 1, 10,
- 10, 10,
- 10, 10,
- 1, 10,
- 0, 0,
- 1, 0,
- 10, 0,
- 7, 5,
- 3, 0,
- 6, 0,
- 0, 0,
- 3, 2,
- 6, 2,
- 0, 2,
- 2.7, 1.7,
- 6, 1.7,
- 5.7, 1.7,
- 3.7, 0,
- 0, 0,
- 10, 0,
- 10, 10 ;
-
- nattrib_name =
- "Node_attr_1",
- "Node_attr_2" ;
-
- elem_map = 1, 2, 3, 4, 5, 6, 7 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "THICKNESS" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "THICKNESS" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "THICKNESS" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "THICKNESS" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "THICKNESS" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- attrib6 =
- 6.1416 ;
-
- attrib_name6 =
- "THICKNESS" ;
-
- connect6 =
- 17, 18, 19, 20, 27, 28, 30, 29 ;
-
- attrib7 =
- 6.1416 ;
-
- attrib_name7 =
- "THICKNESS" ;
-
- connect7 =
- 31, 32, 33 ;
-
- eb_prop2 = 10, 20, 30, 40, 50, 60, 70 ;
-
- eb_prop3 = _, _, _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- nsattrb1 =
- 0,
- 1,
- 1,
- 0,
- 1 ;
-
- nsattrib_name1 =
- "Nodeset_attribute" ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4, 6, 6, 6, 6 ;
-
- side_ss4 = 1, 2, 3, 4, 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 ;
-
- side_ss5 = 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-}
diff --git a/cbind/test/testcpd.c b/cbind/test/testcpd.c
deleted file mode 100644
index 754083c..0000000
--- a/cbind/test/testcpd.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testcpd - copy file test.exo created by testwtd
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-*
-* exit conditions -
-*
-* revision history -
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-
-int main (int argc, char **argv)
-{
- int exoid, exoid1, error, idum;
- int CPU_word_size,IO_word_size;
-
- float version;
-
- char *cdum = 0;
-
-/* open EXODUS II files */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use size in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- printf (" CPU word size %1d\n",CPU_word_size);
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
- CPU_word_size = 8; /* this shouldn't matter during
- copying but it tests out the
- conversion routines */
- IO_word_size = 8; /* store doubles */
-
- exoid1 = ex_create ("testcpd.exo", /* filename */
- EX_CLOBBER, /* OK to overwrite */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
-
- printf ("\nafter ex_create, exoid = %3d\n",exoid);
- if (exoid1 < 0) exit(1);
-
- printf (" CPU word size %1d\n",CPU_word_size);
- printf (" I/O word size %1d\n",IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
- error = ex_copy (exoid, exoid1);
- printf ("\nafter ex_copy, error = %3d\n", error);
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
-
- error = ex_close (exoid1);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testd.dmp b/cbind/test/testd.dmp
deleted file mode 100644
index 893292f..0000000
--- a/cbind/test/testd.dmp
+++ /dev/null
@@ -1,557 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
-variables:
- double time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- double coordx(num_nodes) ;
- double coordy(num_nodes) ;
- double coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- double attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- double attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- double attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- double attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- double attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- double dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- double dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- double dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- double dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- double vals_glo_var(time_step, num_glo_var) ;
- double vals_nod_var1(time_step, num_nodes) ;
- double vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- double vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- double vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- double vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- double vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- double vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- double vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- double vals_elem_var1eb3(time_step, num_el_in_blk3) ;
- double vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- double vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- double vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- double vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- double vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- double vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- double vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- double vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
-
-// global attributes:
- :floating_point_word_size = 8 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 10, 20, 30, 40, 50 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "TESTWTD",
- "testwtd",
- "07/07/93",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5, 1.52,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5, 2.56,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5, 2.52,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5, 3.56,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 ;
-
- name_nod_var =
- "nod_var0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb3 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1 ;
-}
diff --git a/cbind/test/testrd-long-name.c b/cbind/test/testrd-long-name.c
deleted file mode 100644
index 208eb03..0000000
--- a/cbind/test/testrd-long-name.c
+++ /dev/null
@@ -1,1210 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testrd - read exodus file test.exo created by testwt
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "netcdf.h"
-#include "exodusII.h"
-/* #include "drmd.h" */
-
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk, num_node_sets;
- int num_side_sets, error;
- int i, j, k, node_ctr;
- int *elem_map, *connect, *node_list, *node_ctr_list, *elem_list, *side_list;
- int *ids;
- int *num_nodes_per_set = NULL;
- int *num_elem_per_set = NULL;
- int *num_df_per_set = NULL;
- int *node_ind = NULL;
- int *elem_ind = NULL;
- int *df_ind = NULL;
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int num_nset_vars, num_sset_vars;
- int *truth_tab;
- int num_time_steps;
- int *num_elem_in_block = NULL;
- int *num_nodes_per_elem = NULL;
- int *num_attr = NULL;
- int num_nodes_in_set, num_elem_in_set;
- int num_sides_in_set, num_df_in_set;
- int list_len, elem_list_len, node_list_len, df_list_len;
- int node_num, time_step, var_index, beg_time, end_time, elem_num;
- int CPU_word_size,IO_word_size;
- int num_props, prop_value, *prop_values;
- int idum;
- int max_name_length;
-
- float time_value, *time_values, *var_values;
- float *x, *y, *z;
- float *attrib, *dist_fact;
- float version, fdum;
-
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *attrib_names[10];
- char title[MAX_LINE_LENGTH+1], elem_type[MAX_STR_LENGTH+1];
- char title_chk[MAX_LINE_LENGTH+1];
- char *cdum = 0;
- char *prop_names[3];
- char *name = NULL;
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use what is stored in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
- /* open EXODUS II files */
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
-
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- /* printf (" CPU word size %1d\n",CPU_word_size); */
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
- ex_inquire(exoid,EX_INQ_LIB_VERS, &idum, &version, cdum);
- printf ("EXODUSII Library API; version %4.2f (%d)\n", version, idum);
-
- /* Query size of names used in this file */
- {
- int max_all_name_length = ex_inquire_int(exoid, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH);
- int max_use_name_length = ex_inquire_int(exoid, EX_INQ_DB_MAX_USED_NAME_LENGTH);
- printf ("This file can use at most %d-character names\n", max_all_name_length);
- printf ("The maximum name length used is %d-character names\n", max_use_name_length);
-
- max_name_length = max_use_name_length;
- ex_set_max_name_length(exoid, max_name_length);
- }
-
- name = (char *) calloc(max_name_length+1, sizeof(char));
-
- /* read database parameters */
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- printf ("after ex_get_init, error = %3d\n", error);
-
- printf ("database parameters:\n");
- printf ("title = '%s'\n",title);
- printf ("num_dim = %3d\n",num_dim);
- printf ("num_nodes = %3d\n",num_nodes);
- printf ("num_elem = %3d\n",num_elem);
- printf ("num_elem_blk = %3d\n",num_elem_blk);
- printf ("num_node_sets = %3d\n",num_node_sets);
- printf ("num_side_sets = %3d\n",num_side_sets);
-
- /* Check that ex_inquire gives same title */
- error = ex_inquire (exoid, EX_INQ_TITLE, &idum, &fdum, title_chk);
- printf ("after ex_inquire, error = %3d\n", error);
- if (strcmp(title, title_chk) != 0) {
- printf ("error in ex_inquire for EX_INQ_TITLE\n");
- }
-
- /* read nodal coordinates values and names from database */
-
- x = (float *) calloc(num_nodes, sizeof(float));
- y = (float *) calloc(num_nodes, sizeof(float));
- if (num_dim >= 3)
- z = (float *) calloc(num_nodes, sizeof(float));
- else
- z = 0;
-
- error = ex_get_coord (exoid, x, y, z);
- printf ("\nafter ex_get_coord, error = %3d\n", error);
-
- printf ("x coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", x[i]);
- }
-
- printf ("y coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", y[i]);
- }
-
- if (num_dim >= 3)
- {
- printf ("z coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", z[i]);
- }
- }
-
- /*
- error = ex_get_1_coord (exoid, 2, x, y, z);
- printf ("\nafter ex_get_1_coord, error = %3d\n", error);
-
- printf ("x coord of node 2 = \n");
- printf ("%f \n", x[0]);
-
- printf ("y coord of node 2 = \n");
- printf ("%f \n", y[0]);
- */
- free (x);
- free (y);
- if (num_dim >= 3)
- free (z);
-
-
- for (i=0; i<num_dim; i++)
- {
- coord_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_coord_names (exoid, coord_names);
- printf ("\nafter ex_get_coord_names, error = %3d\n", error);
- printf ("x coord name = '%s'\n", coord_names[0]);
- printf ("y coord name = '%s'\n", coord_names[1]);
- if (num_dim >2)
- printf ("z coord name = '%s'\n", coord_names[2]);
-
- for (i=0; i<num_dim; i++)
- free(coord_names[i]);
-
- {
- int num_attrs = 0;
- error = ex_get_attr_param(exoid, EX_NODAL, 0, &num_attrs);
- printf (" after ex_get_attr_param, error = %d\n", error);
- printf ("num nodal attributes = %d\n", num_attrs);
- if (num_attrs > 0) {
- for (j=0; j<num_attrs; j++) {
- attrib_names[j] = (char *)calloc ((max_name_length+1), sizeof(char));
- }
- error = ex_get_attr_names (exoid, EX_NODAL, 0, attrib_names);
- printf (" after ex_get_attr_names, error = %d\n", error);
-
- if (error == 0) {
- attrib = (float *) calloc(num_nodes,sizeof(float));
- for (j=0; j<num_attrs; j++) {
- printf ("nodal attribute %d = '%s'\n", j, attrib_names[j]);
- error = ex_get_one_attr(exoid, EX_NODAL, 0, j+1, attrib);
- printf (" after ex_get_one_attr, error = %d\n", error);
- for (i=0; i < num_nodes; i++) {
- printf ("%5.1f\n", attrib[i]);
- }
- free(attrib_names[j]);
- }
- free(attrib);
- }
- }
- }
-
- /* read element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- error = ex_get_map (exoid, elem_map);
- printf ("\nafter ex_get_map, error = %3d\n", error);
-
- for (i=0; i<num_elem; i++)
- {
- printf ("elem_map(%d) = %d \n", i, elem_map[i]);
- }
-
- free (elem_map);
-
- /* read element block parameters */
-
- if (num_elem_blk > 0) {
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- num_elem_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_nodes_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_attr = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++) {
- block_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- ex_get_name(exoid, EX_ELEM_BLOCK, ids[i], name);
- if (strcmp(name, block_names[i]) != 0) {
- printf ("error in ex_get_name for block id %d\n", ids[i]);
- }
- error = ex_get_elem_block (exoid, ids[i], elem_type,
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]), &(num_attr[i]));
- printf ("\nafter ex_get_elem_block, error = %d\n", error);
-
- printf ("element block id = %2d\n",ids[i]);
- printf ("element type = '%s'\n", elem_type);
- printf ("num_elem_in_block = %2d\n",num_elem_in_block[i]);
- printf ("num_nodes_per_elem = %2d\n",num_nodes_per_elem[i]);
- printf ("num_attr = %2d\n",num_attr[i]);
- printf ("name = '%s'\n",block_names[i]);
- free(block_names[i]);
- }
-
- /* read element block properties */
- error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each element block\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_ELEM_BLOCK,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=1; i<num_props; i++) /* Prop 1 is id; skip that here */
- {
- for (j=0; j<num_elem_blk; j++)
- {
- error = ex_get_prop(exoid, EX_ELEM_BLOCK, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("element block %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- }
-
- /* read element connectivity */
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- connect = (int *) calloc((num_nodes_per_elem[i] * num_elem_in_block[i]),
- sizeof(int));
-
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
-
- printf ("connect array for elem block %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%3d\n", connect[j]);
- }
- /*
- error = ex_get_1_elem_conn (exoid, 1, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- printf ("node list for first element of element block %d \n ", ids[i]);
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%d \n", connect[j]);
- }
- */
- free (connect);
- }
- }
-
- /* read element block attributes */
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- for (j=0; j<num_attr[i]; j++)
- attrib_names[j] = (char *) calloc ((max_name_length+1), sizeof(char));
-
- attrib = (float *) calloc(num_attr[i]*num_elem_in_block[i],sizeof(float));
- error = ex_get_elem_attr (exoid, ids[i], attrib);
- printf ("\n after ex_get_elem_attr, error = %d\n", error);
-
- if (error == 0) {
- error = ex_get_elem_attr_names (exoid, ids[i], attrib_names);
- printf (" after ex_get_elem_attr_names, error = %d\n", error);
-
- if (error == 0) {
- printf ("element block %d attribute '%s' = %6.4f\n", ids[i], attrib_names[0], *attrib);
- }
- }
- free (attrib);
- for (j=0; j<num_attr[i]; j++)
- free (attrib_names[j]);
- }
- }
-
- if (num_elem_blk > 0) {
- free (ids);
- free (num_nodes_per_elem);
- free (num_attr);
- }
-
- /* read individual node sets */
- if (num_node_sets > 0) {
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\nafter ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++) {
- nset_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_NODE_SET, nset_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- ex_get_name(exoid, EX_NODE_SET, ids[i], name);
- if (strcmp(name, nset_names[i]) != 0) {
- printf ("error in ex_get_name for nodeset id %d\n", ids[i]);
- }
-
- error = ex_get_node_set_param (exoid, ids[i],
- &num_nodes_in_set, &num_df_in_set);
- printf ("\nafter ex_get_node_set_param, error = %3d\n", error);
-
- printf ("\nnode set %2d parameters: \n", ids[i]);
- printf ("num_nodes = %2d\n", num_nodes_in_set);
- printf ("name = '%s'\n", nset_names[i]);
- free(nset_names[i]);
- node_list = (int *) calloc(num_nodes_in_set, sizeof(int));
- dist_fact = (float *) calloc(num_nodes_in_set, sizeof(float));
-
- error = ex_get_node_set (exoid, ids[i], node_list);
- printf ("\nafter ex_get_node_set, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_node_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_node_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("\nnode list for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%3d\n", node_list[j]);
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%5.2f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for node set %2d\n", ids[i]);
-
- free (node_list);
- free (dist_fact);
-
- {
- int num_attrs = 0;
- error = ex_get_attr_param(exoid, EX_NODE_SET, ids[i], &num_attrs);
- printf (" after ex_get_attr_param, error = %d\n", error);
- printf ("num nodeset attributes for nodeset %d = %d\n", ids[i], num_attrs);
- if (num_attrs > 0) {
- for (j=0; j<num_attrs; j++) {
- attrib_names[j] = (char *)calloc ((max_name_length+1), sizeof(char));
- }
- error = ex_get_attr_names (exoid, EX_NODE_SET, ids[i], attrib_names);
- printf (" after ex_get_attr_names, error = %d\n", error);
-
- if (error == 0) {
- attrib = (float *) calloc(num_nodes_in_set,sizeof(float));
- for (j=0; j<num_attrs; j++) {
- printf ("nodeset attribute %d = '%s'\n", j, attrib_names[j]);
- error = ex_get_one_attr(exoid, EX_NODE_SET, ids[i], j+1, attrib);
- printf (" after ex_get_one_attr, error = %d\n", error);
- for (k=0; k < num_nodes_in_set; k++) {
- printf ("%5.1f\n", attrib[k]);
- }
- free(attrib_names[j]);
- }
- free(attrib);
- }
- }
- }
- }
- free(ids);
-
- /* read node set properties */
- error = ex_inquire (exoid, EX_INQ_NS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each node set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
- prop_values = (int *) calloc (num_node_sets, sizeof(int));
-
- error = ex_get_prop_names(exoid,EX_NODE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- error = ex_get_prop_array(exoid, EX_NODE_SET, prop_names[i],
- prop_values);
- if (error == 0)
- for (j=0; j<num_node_sets; j++)
- printf ("node set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_values[j]);
- else
- printf ("after ex_get_prop_array, error = %d\n", error);
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free(prop_values);
-
- /* read concatenated node sets; this produces the same information as
- * the above code which reads individual node sets
- */
-
- error = ex_inquire (exoid, EX_INQ_NODE_SETS, &num_node_sets, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n",error);
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
- num_nodes_per_set = (int *) calloc(num_node_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_node_sets, sizeof(int));
- node_ind = (int *) calloc(num_node_sets, sizeof(int));
- df_ind = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_NODE_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_NODE_LEN = %d, error = %3d\n",
- list_len, error);
- node_list = (int *) calloc(list_len, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_DF_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_DF_LEN = %d, error = %3d\n",
- list_len, error);
- dist_fact = (float *) calloc(list_len, sizeof(float));
-
- error = ex_get_concat_node_sets (exoid,ids,num_nodes_per_set,num_df_per_set,
- node_ind, df_ind, node_list, dist_fact);
- printf ("\nafter ex_get_concat_node_sets, error = %3d\n", error);
-
- printf ("\nconcatenated node set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_nodes_per_set = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", num_nodes_per_set[i]);
-
- printf ("node_ind = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", node_ind[i]);
-
- printf ("node_list = \n");
- for (i=0; i<list_len; i++) printf ("%3d\n", node_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (df_ind);
- free (node_ind);
- free (num_df_per_set);
- free (node_list);
- free (dist_fact);
- }
-
- /* read individual side sets */
-
- if (num_side_sets > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\nafter ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++) {
- sset_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_SIDE_SET, sset_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- ex_get_name(exoid, EX_SIDE_SET, ids[i], name);
- if (strcmp(name, sset_names[i]) != 0) {
- printf ("error in ex_get_name for sideset id %d\n", ids[i]);
- }
-
- error = ex_get_side_set_param (exoid, ids[i], &num_sides_in_set,
- &num_df_in_set);
- printf ("\nafter ex_get_side_set_param, error = %3d\n", error);
-
- printf ("side set %2d parameters:\n",ids[i]);
- printf ("name = '%s'\n", sset_names[i]);
- printf ("num_sides = %3d\n",num_sides_in_set);
- printf ("num_dist_factors = %3d\n", num_df_in_set);
- free(sset_names[i]);
-
-
- /* Note: The # of elements is same as # of sides! */
- num_elem_in_set = num_sides_in_set;
- elem_list = (int *) calloc(num_elem_in_set, sizeof(int));
- side_list = (int *) calloc(num_sides_in_set, sizeof(int));
- node_ctr_list = (int *) calloc(num_elem_in_set, sizeof(int));
- node_list = (int *) calloc(num_elem_in_set*21, sizeof(int));
- dist_fact = (float *) calloc(num_df_in_set, sizeof(float));
-
- error = ex_get_side_set (exoid, ids[i], elem_list, side_list);
- printf ("\nafter ex_get_side_set, error = %3d\n", error);
-
- error = ex_get_side_set_node_list (exoid, ids[i], node_ctr_list,
- node_list);
- printf ("\nafter ex_get_side_set_node_list, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_side_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_side_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("element list for side set %2d\n", ids[i]);
- for (j=0; j<num_elem_in_set; j++)
- {
- printf ("%3d\n", elem_list[j]);
- }
-
- printf ("side list for side set %2d\n", ids[i]);
- for (j=0; j<num_sides_in_set; j++)
- {
- printf ("%3d\n", side_list[j]);
- }
-
- node_ctr = 0;
- printf ("node list for side set %2d\n", ids[i]);
- for (k=0; k<num_elem_in_set; k++)
- {
- for (j=0; j<node_ctr_list[k]; j++)
- {
- printf ("%3d\n", node_list[node_ctr+j]);
- }
- node_ctr += node_ctr_list[k];
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for side set %2d\n", ids[i]);
-
- for (j=0; j<num_df_in_set; j++)
- {
- printf ("%5.3f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for side set %2d\n", ids[i]);
-
- free (elem_list);
- free (side_list);
- free (node_ctr_list);
- free (node_list);
- free (dist_fact);
-
- }
-
- /* read side set properties */
- error = ex_inquire (exoid, EX_INQ_SS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each side set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_SIDE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- error = ex_get_prop(exoid, EX_SIDE_SET, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("side set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free (ids);
-
- error = ex_inquire (exoid, EX_INQ_SIDE_SETS, &num_side_sets, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SIDE_SETS = %d, error = %d\n",
- num_side_sets, error);
-
- if (num_side_sets > 0)
- {
- error = ex_inquire(exoid, EX_INQ_SS_ELEM_LEN, &elem_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_ELEM_LEN = %d, error = %d\n",
- elem_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_NODE_LEN, &node_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_NODE_LEN = %d, error = %d\n",
- node_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_DF_LEN, &df_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_DF_LEN = %d, error = %d\n",
- df_list_len, error);
- }
-
- /* read concatenated side sets; this produces the same information as
- * the above code which reads individual side sets
- */
-
- /* concatenated side set read */
-
- if (num_side_sets > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
- num_elem_per_set = (int *) calloc(num_side_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_side_sets, sizeof(int));
- elem_ind = (int *) calloc(num_side_sets, sizeof(int));
- df_ind = (int *) calloc(num_side_sets, sizeof(int));
- elem_list = (int *) calloc(elem_list_len, sizeof(int));
- side_list = (int *) calloc(elem_list_len, sizeof(int));
- dist_fact = (float *) calloc(df_list_len, sizeof(float));
-
- error = ex_get_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("\nafter ex_get_concat_side_sets, error = %3d\n", error);
-
- printf ("concatenated side set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_elem_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_elem_per_set[i]);
-
- printf ("num_dist_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_df_per_set[i]);
-
- printf ("elem_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", elem_ind[i]);
-
- printf ("dist_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", df_ind[i]);
-
- printf ("elem_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", elem_list[i]);
-
- printf ("side_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", side_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<df_list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_df_per_set);
- free (df_ind);
- free (elem_ind);
- free (elem_list);
- free (side_list);
- free (dist_fact);
- }
- }
- /* end of concatenated side set read */
-
- /* read QA records */
-
- ex_inquire (exoid, EX_INQ_QA, &num_qa_rec, &fdum, cdum);
-
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- qa_record[i][j] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
- }
-
- error = ex_get_qa (exoid, qa_record);
- printf ("\nafter ex_get_qa, error = %3d\n", error);
-
- printf ("QA records = \n");
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- printf (" '%s'\n", qa_record[i][j]);
- free(qa_record[i][j]);
- }
- }
-
- /* read information records */
-
- error = ex_inquire (exoid, EX_INQ_INFO, &num_info, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_info (exoid, info);
- printf ("\nafter ex_get_info, error = %3d\n", error);
-
- printf ("info records = \n");
- for (i=0; i<num_info; i++)
- {
- printf (" '%s'\n", info[i]);
- free(info[i]);
- }
-
- /* read global variables parameters and names */
-
- error = ex_get_var_param (exoid, "g", &num_glo_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_glo_vars; i++)
- {
- var_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d global variables; their names are :\n",
- num_glo_vars);
- for (i=0; i<num_glo_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read nodal variables parameters and names */
- num_nod_vars = 0;
- if (num_nodes > 0) {
- error = ex_get_var_param (exoid, "n", &num_nod_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_nod_vars; i++)
- {
- var_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodal variables; their names are :\n", num_nod_vars);
- for (i=0; i<num_nod_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
- }
-
- /* read element variables parameters and names */
-
- num_ele_vars = 0;
- if (num_elem > 0) {
- error = ex_get_var_param (exoid, "e", &num_ele_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_ele_vars; i++)
- {
- var_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d element variables; their names are :\n",
- num_ele_vars);
- for (i=0; i<num_ele_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read element variable truth table */
-
- if (num_ele_vars > 0) {
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- error = ex_get_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("\nafter ex_get_elem_var_tab, error = %3d\n", error);
-
- printf ("This is the element variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_elem_blk*num_ele_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
-
- /* read nodeset variables parameters and names */
-
- num_nset_vars = 0;
- if (num_node_sets > 0) {
- error = ex_get_var_param (exoid, "m", &num_nset_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- if (num_nset_vars > 0) {
- for (i=0; i<num_nset_vars; i++)
- {
- var_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "m", num_nset_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodeset variables; their names are :\n",
- num_nset_vars);
- for (i=0; i<num_nset_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read nodeset variable truth table */
-
- if (num_nset_vars > 0) {
- truth_tab = (int *) calloc ((num_node_sets*num_nset_vars), sizeof(int));
-
- error = ex_get_nset_var_tab (exoid, num_node_sets, num_nset_vars, truth_tab);
- printf ("\nafter ex_get_nset_var_tab, error = %3d\n", error);
-
- printf ("This is the nodeset variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_node_sets*num_nset_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
- }
-
- /* read sideset variables parameters and names */
-
- num_sset_vars = 0;
- if (num_side_sets > 0) {
- error = ex_get_var_param (exoid, "s", &num_sset_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- if (num_sset_vars > 0) {
- for (i=0; i<num_sset_vars; i++)
- {
- var_names[i] = (char *) calloc ((max_name_length+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "s", num_sset_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d sideset variables; their names are :\n",
- num_sset_vars);
- for (i=0; i<num_sset_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read sideset variable truth table */
-
- if (num_sset_vars > 0) {
- truth_tab = (int *) calloc ((num_side_sets*num_sset_vars), sizeof(int));
-
- error = ex_get_sset_var_tab (exoid, num_side_sets, num_sset_vars, truth_tab);
- printf ("\nafter ex_get_sset_var_tab, error = %3d\n", error);
-
- printf ("This is the sideset variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_side_sets*num_sset_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
- }
-
- /* determine how many time steps are stored */
-
- error = ex_inquire (exoid, EX_INQ_TIME, &num_time_steps, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
- printf ("There are %2d time steps in the database.\n", num_time_steps);
-
- /* read time value at one time step */
-
- time_step = 3;
- error = ex_get_time (exoid, time_step, &time_value);
- printf ("\nafter ex_get_time, error = %3d\n", error);
-
- printf ("time value at time step %2d = %5.3f\n", time_step, time_value);
-
- /* read time values at all time steps */
-
- time_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_all_times (exoid, time_values);
- printf ("\nafter ex_get_all_times, error = %3d\n", error);
-
- printf ("time values at all time steps are:\n");
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", time_values[i]);
-
- free (time_values);
-
- /* read all global variables at one time step */
-
- var_values = (float *) calloc (num_glo_vars, sizeof(float));
-
- error = ex_get_glob_vars (exoid, time_step, num_glo_vars, var_values);
- printf ("\nafter ex_get_glob_vars, error = %3d\n", error);
-
- printf ("global variable values at time step %2d\n", time_step);
- for (i=0; i<num_glo_vars; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a single global variable through time */
-
- var_index = 1;
- beg_time = 1;
- end_time = -1;
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_glob_var_time (exoid, var_index, beg_time, end_time,
- var_values);
- printf ("\nafter ex_get_glob_var_time, error = %3d\n", error);
-
- printf ("global variable %2d values through time:\n", var_index);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a nodal variable at one time step */
-
- if (num_nodes > 0) {
- var_values = (float *) calloc (num_nodes, sizeof(float));
-
- error = ex_get_nodal_var (exoid, time_step, var_index, num_nodes,
- var_values);
- printf ("\nafter ex_get_nodal_var, error = %3d\n", error);
-
- printf ("nodal variable %2d values at time step %2d\n", var_index,
- time_step);
- for (i=0; i<num_nodes; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a nodal variable through time */
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- node_num = 1;
- error = ex_get_nodal_var_time (exoid, var_index, node_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_nodal_var_time, error = %3d\n", error);
-
- printf ("nodal variable %2d values for node %2d through time:\n", var_index,
- node_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
- }
- /* read an element variable at one time step */
-
- if (num_elem_blk > 0) {
- ids = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\n after ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- var_values = (float *) calloc (num_elem_in_block[i], sizeof(float));
-
- error = ex_get_elem_var (exoid, time_step, var_index, ids[i],
- num_elem_in_block[i], var_values);
- printf ("\nafter ex_get_elem_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("element variable %2d values of element block %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_in_block[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- }
- free (num_elem_in_block);
- free(ids);
- }
- /* read an element variable through time */
-
- if (num_ele_vars > 0) {
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- var_index = 2;
- elem_num = 2;
- error = ex_get_elem_var_time (exoid, var_index, elem_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_elem_var_time, error = %3d\n", error);
-
- printf ("element variable %2d values for element %2d through time:\n",
- var_index, elem_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
- }
-
- /* read a sideset variable at one time step */
-
- if (num_sset_vars > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\n after ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- var_values = (float *) calloc (num_elem_per_set[i], sizeof(float));
-
- error = ex_get_sset_var (exoid, time_step, var_index, ids[i],
- num_elem_per_set[i], var_values);
- printf ("\nafter ex_get_sset_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("sideset variable %2d values of sideset %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_per_set[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free (num_elem_per_set);
- free(ids);
- }
-
- /* read a nodeset variable at one time step */
-
- if (num_nset_vars > 0) {
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\n after ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- var_values = (float *) calloc (num_nodes_per_set[i], sizeof(float));
-
- error = ex_get_nset_var (exoid, time_step, var_index, ids[i],
- num_nodes_per_set[i], var_values);
- printf ("\nafter ex_get_nset_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("nodeset variable %2d values of nodeset %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_nodes_per_set[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free(ids);
- }
- if (num_node_sets > 0)
- free (num_nodes_per_set);
-
- free (name);
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testrd-long-name.dmp b/cbind/test/testrd-long-name.dmp
deleted file mode 100644
index 6187d2a..0000000
--- a/cbind/test/testrd-long-name.dmp
+++ /dev/null
@@ -1,1139 +0,0 @@
-
-after ex_open
- I/O word size 4
-This file can use at most 127-character names
-The maximum name length used is 64-character names
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 3
-num_nodes = 33
-num_elem = 7
-num_elem_blk = 7
-num_node_sets = 2
-num_side_sets = 5
-after ex_inquire, error = 0
-
-after ex_get_coord, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
- 2.7
- 3.3
- 1.7
- 2.3
- 0.0
- 0.0
- 10.0
-
-after ex_get_coord_names, error = 0
-x coord name = 'X coordinate name that is padded to be longer than 32 characters'
-y coord name = 'Y coordinate name that is padded to be longer than 32 characters'
-z coord name = 'Z coordinate name that is padded to be longer than 32 characters'
- after ex_get_attr_param, error = 0
-num nodal attributes = 2
- after ex_get_attr_names, error = 0
-nodal attribute 0 = 'Node_attr_1'
- after ex_get_one_attr, error = 0
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-nodal attribute 1 = 'Node_attr_2'
- after ex_get_one_attr, error = 0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-
-after ex_get_map, error = 0
-elem_map(0) = 1
-elem_map(1) = 2
-elem_map(2) = 3
-elem_map(3) = 4
-elem_map(4) = 5
-elem_map(5) = 6
-elem_map(6) = 7
-
-after ex_get_elem_blk_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_elem_block, error = 0
-element block id = 10
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-name = 'Very long name for block_1 that exceeds 32 characters'
-
-after ex_get_elem_block, error = 0
-element block id = 11
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-name = 'Very long name for block_2 that exceeds 32 characters'
-
-after ex_get_elem_block, error = 0
-element block id = 12
-element type = 'hex'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-name = 'Very long name for block_3 that exceeds 32 characters'
-
-after ex_get_elem_block, error = 0
-element block id = 13
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-name = 'Very long name for block_4 that exceeds 32 characters'
-
-after ex_get_elem_block, error = 0
-element block id = 14
-element type = 'wedge'
-num_elem_in_block = 1
-num_nodes_per_elem = 6
-num_attr = 1
-name = 'Very long name for block_5 that exceeds 32 characters'
-
-after ex_get_elem_block, error = 0
-element block id = 15
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-name = 'Very long name for block_6 that exceeds 32 characters'
-
-after ex_get_elem_block, error = 0
-element block id = 16
-element type = 'tri'
-num_elem_in_block = 1
-num_nodes_per_elem = 3
-num_attr = 1
-name = 'Very long name for block_7 that exceeds 32 characters'
-
-after ex_inquire, error = 0
-
-There are 3 properties for each element block
-after ex_get_prop_names, error = 0
-element block 1, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 10
-element block 2, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 20
-element block 3, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 30
-element block 4, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 40
-element block 5, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 50
-element block 6, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 60
-element block 7, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 70
-element block 1, property( 3): 'DENSITY'= 0
-element block 2, property( 3): 'DENSITY'= 0
-element block 3, property( 3): 'DENSITY'= 0
-element block 4, property( 3): 'DENSITY'= 0
-element block 5, property( 3): 'DENSITY'= 0
-element block 6, property( 3): 'DENSITY'= 0
-element block 7, property( 3): 'DENSITY'= 0
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 11
- 5
- 6
- 7
- 8
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 12
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 13
- 17
- 18
- 19
- 20
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 14
- 21
- 22
- 23
- 24
- 25
- 26
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 15
- 17
- 18
- 19
- 20
- 27
- 28
- 30
- 29
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 16
- 31
- 32
- 33
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 10 attribute 'The name for the attribute representing the shell thickness' = 3.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 11 attribute 'The name for the attribute representing the shell thickness' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 12 attribute 'The name for the attribute representing the shell thickness' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 13 attribute 'The name for the attribute representing the shell thickness' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 14 attribute 'The name for the attribute representing the shell thickness' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 15 attribute 'The name for the attribute representing the shell thickness' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 16 attribute 'The name for the attribute representing the shell thickness' = 6.1416
-
-after ex_get_node_set_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_node_set_param, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-name = 'nset_1'
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 20
- 10
- 11
- 12
- 13
- 14
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 20 = 1
- after ex_get_attr_names, error = 0
-nodeset attribute 0 = 'Nodeset_attribute'
- after ex_get_one_attr, error = 0
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
-
-after ex_get_node_set_param, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-name = 'nset_2'
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 21
- 20
- 21
- 22
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 21 = 0
-
-after ex_inquire, error = 0
-
-There are 3 properties for each node set
-after ex_get_prop_names, error = 0
-node set 1, property( 1): 'ID'= 20
-node set 2, property( 1): 'ID'= 21
-node set 1, property( 2): 'FACE'= 4
-node set 2, property( 2): 'FACE'= 5
-node set 1, property( 3): 'VELOCITY'= 1000
-node set 2, property( 3): 'VELOCITY'= 2000
-
-after ex_inquire, error = 0
-
-after ex_inquire: EX_INQ_NS_NODE_LEN = 8, error = 0
-
-after ex_inquire: EX_INQ_NS_DF_LEN = 8, error = 0
-
-after ex_get_concat_node_sets, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 0
- 5
-node_list =
- 10
- 11
- 12
- 13
- 14
- 20
- 21
- 22
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after ex_get_side_set_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_side_set_param, error = 0
-side set 30 parameters:
-name = 'sset_1'
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 30
- 2
- 2
-side list for side set 30
- 4
- 2
-node list for side set 30
- 8
- 5
- 6
- 7
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after ex_get_side_set_param, error = 0
-side set 31 parameters:
-name = 'sset_2'
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 31
- 1
- 2
-side list for side set 31
- 2
- 3
-node list for side set 31
- 2
- 3
- 7
- 8
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_side_set_param, error = 0
-side set 32 parameters:
-name = 'sset_3'
-num_sides = 7
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 32
- 3
- 3
- 3
- 3
- 3
- 3
- 3
-side list for side set 32
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-node list for side set 32
- 9
- 12
- 11
- 10
- 11
- 12
- 16
- 15
- 11
- 12
- 16
- 15
- 10
- 11
- 15
- 14
- 9
- 13
- 16
- 12
- 9
- 10
- 14
- 13
- 13
- 14
- 15
- 16
-no dist factors for side set 32
-
-after ex_get_side_set_param, error = 0
-side set 33 parameters:
-name = 'sset_4'
-num_sides = 8
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 33
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
-side list for side set 33
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
-node list for side set 33
- 17
- 18
- 20
- 18
- 19
- 20
- 17
- 20
- 19
- 17
- 19
- 18
- 17
- 18
- 20
- 27
- 18
- 19
- 20
- 28
- 17
- 20
- 19
- 29
- 17
- 19
- 18
- 30
-no dist factors for side set 33
-
-after ex_get_side_set_param, error = 0
-side set 34 parameters:
-name = 'sset_5'
-num_sides = 10
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 34
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side list for side set 34
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-node list for side set 34
- 21
- 22
- 25
- 24
- 22
- 23
- 26
- 25
- 21
- 24
- 26
- 23
- 21
- 23
- 22
- 24
- 25
- 26
- 31
- 32
- 33
- 33
- 32
- 31
- 31
- 32
- 32
- 33
- 33
- 31
-no dist factors for side set 34
-
-after ex_inquire, error = 0
-
-There are 2 properties for each side set
-after ex_get_prop_names, error = 0
-side set 1, property( 1): 'ID'= 30
-side set 2, property( 1): 'ID'= 31
-side set 3, property( 1): 'ID'= 32
-side set 4, property( 1): 'ID'= 33
-side set 5, property( 1): 'ID'= 34
-side set 1, property( 2): 'COLOR'= 100
-side set 2, property( 2): 'COLOR'= 101
-side set 3, property( 2): 'COLOR'= 0
-side set 4, property( 2): 'COLOR'= 0
-side set 5, property( 2): 'COLOR'= 0
-
-after ex_inquire: EX_INQ_SIDE_SETS = 5, error = 0
-
-after ex_inquire: EX_INQ_SS_ELEM_LEN = 29, error = 0
-
-after ex_inquire: EX_INQ_SS_NODE_LEN = 94, error = 0
-
-after ex_inquire: EX_INQ_SS_DF_LEN = 8, error = 0
-
-after ex_get_concat_side_sets, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
-num_elem_per_set =
- 2
- 2
- 7
- 8
- 10
-num_dist_per_set =
- 4
- 4
- 0
- 0
- 0
-elem_ind =
- 0
- 2
- 4
- 11
- 19
-dist_ind =
- 0
- 4
- 8
- 8
- 8
-elem_list =
- 2
- 2
- 1
- 2
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWT'
- 'testwt'
- '07/07/93'
- '15:41:33'
- ''
- ''
- ''
- ''
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- ''
- ''
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 1 global variables; their names are :
- 'glo_vars'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 2 nodal variables; their names are :
- 'node_variable_a_somewhat_long_name_0'
- 'node_variable_a_much_longer_name_that_is_not_too_long_name'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 element variables; their names are :
- 'the_stress_on_the_elements_in_this_block_that_are_active_now'
- 'ele_var1'
- 'ele_var2'
-
-after ex_get_elem_var_tab, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 nodeset variables; their names are :
- 'ns_var0'
- 'ns_var1'
- 'ns_var2'
-
-after ex_get_nset_var_tab, error = 0
-This is the nodeset variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 sideset variables; their names are :
- 'ss_var0'
- 'ss_var1'
- 'ss_var2'
-
-after ex_get_sset_var_tab, error = 0
-This is the sideset variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_inquire, error = 0
-There are 10 time steps in the database.
-
-after ex_get_time, error = 0
-time value at time step 3 = 0.030
-
-after ex_get_all_times, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after ex_get_glob_vars, error = 0
-global variable values at time step 3
-0.060
-
-after ex_get_glob_var_time, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after ex_get_nodal_var, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-1.810
-1.840
-1.870
-1.900
-1.930
-1.960
-1.990
-
-after ex_get_nodal_var_time, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
- after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 10 at time step 3
-4.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 11 at time step 3
-5.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 12 at time step 3
-6.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 13 at time step 3
-7.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 14 at time step 3
-8.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 15 at time step 3
-9.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 16 at time step 3
-10.030
-
-after ex_get_elem_var_time, error = 0
-element variable 2 values for element 2 through time:
-6.010
-6.020
-6.030
-6.040
-6.050
-6.060
-6.070
-6.080
-6.090
-6.100
-
- after ex_get_side_set_ids, error = 0
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 30 at time step 3
-7.030
-7.060
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 31 at time step 3
-8.030
-8.060
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 32 at time step 3
-9.030
-9.060
-9.090
-9.120
-9.150
-9.180
-9.210
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 33 at time step 3
-10.030
-10.060
-10.090
-10.120
-10.150
-10.180
-10.210
-10.240
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 34 at time step 3
-11.030
-11.060
-11.090
-11.120
-11.150
-11.180
-11.210
-11.240
-11.270
-11.300
-
- after ex_get_node_set_ids, error = 0
-
-after ex_get_nset_var, error = 0
-nodeset variable 2 values of nodeset 20 at time step 3
-9.030
-9.060
-9.090
-9.120
-9.150
-
-after ex_get_nset_var, error = 0
-nodeset variable 2 values of nodeset 21 at time step 3
-10.030
-10.060
-10.090
-
-after ex_close, error = 0
diff --git a/cbind/test/testrd-nfaced.c b/cbind/test/testrd-nfaced.c
deleted file mode 100644
index b81ac21..0000000
--- a/cbind/test/testrd-nfaced.c
+++ /dev/null
@@ -1,354 +0,0 @@
-/*
- * Copyright (c) 2010 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testrd - read exodus file test-nsided.exo created by testwt-nsided
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "netcdf.h"
-#include <assert.h>
-#include <inttypes.h>
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem_blk;
- int *num_elem_in_block, *num_face_in_block, *num_nodes_per_elem, *num_edges_per_elem, *num_faces_per_elem, *num_attr;
- int error, nnodes;
- int i, j, k;
- int *connect, *fconnect;
- int *ids, *nnpe, *nnpf;
- int num_qa_rec, num_info;
- int CPU_word_size,IO_word_size;
- int idum;
-
- float *x, *y, *z;
- float version, fdum;
-
- char *coord_names[3], *qa_record[2][4], *info[3];
- char *block_names[10];
- char *elem_type[10];
- char name[MAX_STR_LENGTH+1];
- char *cdum = 0;
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use what is stored in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
- /* open EXODUS II files */
- exoid = ex_open ("test-nfaced.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- printf (" I/O word size %1d\n",IO_word_size);
-
- ex_inquire(exoid,EX_INQ_LIB_VERS, &idum, &version, cdum);
- printf ("EXODUSII Library API; version %4.2f (%d)\n", version, idum);
-
- /* read database parameters */
- {
- ex_init_params par;
- error = ex_get_init_ext (exoid, &par);
-
- printf ("after ex_get_init, error = %3d\n", error);
-
- printf ("database parameters:\n");
- printf ("title = '%s'\n",par.title);
- printf ("num_dim = %"PRId64"\n",par.num_dim);
- printf ("num_nodes = %"PRId64"\n",par.num_nodes);
- printf ("num_edge = %"PRId64"\n",par.num_edge);
- printf ("num_face = %"PRId64"\n",par.num_face);
- printf ("num_elem = %"PRId64"\n",par.num_elem);
- printf ("num_elem_blk = %"PRId64"\n",par.num_elem_blk);
- printf ("num_node_sets = %"PRId64"\n",par.num_node_sets);
- printf ("num_side_sets = %"PRId64"\n",par.num_side_sets);
-
- num_dim = par.num_dim;
- num_nodes = par.num_nodes;
- num_elem_blk = par.num_elem_blk;
- }
-
- assert(num_dim == 3);
-
- /* read nodal coordinates values and names from database */
-
- x = (float *) calloc(num_nodes, sizeof(float));
- y = (float *) calloc(num_nodes, sizeof(float));
- z = (float *) calloc(num_nodes, sizeof(float));
-
- error = ex_get_coord (exoid, x, y, z);
- printf ("\nafter ex_get_coord, error = %3d\n", error);
-
- printf ("x, y, z coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\t%5.1f\t%5.1f\n", x[i], y[i], z[i]);
- }
-
- free (x);
- free (y);
- free (z);
-
- for (i=0; i<num_dim; i++) {
- coord_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_coord_names (exoid, coord_names);
- printf ("\nafter ex_get_coord_names, error = %3d\n", error);
-
- printf ("x coord name = '%s'\n", coord_names[0]);
- printf ("y coord name = '%s'\n", coord_names[1]);
- printf ("z coord name = '%s'\n", coord_names[2]);
-
- for (i=0; i<num_dim; i++)
- free(coord_names[i]);
-
- /* read element block parameters */
- if (num_elem_blk > 0) {
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- num_elem_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_face_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_nodes_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_edges_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_faces_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_attr = (int *) calloc(num_elem_blk, sizeof(int));
-
- for (i=0; i<num_elem_blk; i++) {
- elem_type[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- block_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- error = ex_get_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++) {
- ex_get_name(exoid, EX_ELEM_BLOCK, ids[i], name);
- if (strcmp(name, block_names[i]) != 0) {
- printf ("error in ex_get_name for block id %d\n", ids[i]);
- }
- error = ex_get_block (exoid, EX_ELEM_BLOCK, ids[i], elem_type[i],
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]),
- &(num_edges_per_elem[i]),
- &(num_faces_per_elem[i]),
- &(num_attr[i]));
- printf ("\nafter ex_get_elem_block, error = %d\n", error);
-
- printf ("element block id = %2d\n",ids[i]);
- printf ("element block type = '%s'\n", elem_type[i]);
- printf ("num_elem_in_block = %2d\n",num_elem_in_block[i]);
- printf ("num_total_nodes_per_block = %2d\n",num_nodes_per_elem[i]);
- printf ("num_total_edges_per_block = %2d\n",num_edges_per_elem[i]);
- printf ("num_total_faces_per_block = %2d\n",num_faces_per_elem[i]);
- printf ("num_attr = %2d\n",num_attr[i]);
- printf ("name = '%s'\n",block_names[i]);
- }
-
- }
-
- /* read connectivity */
- for (i=0; i<num_elem_blk; i++) {
- if (num_elem_in_block[i] > 0) {
- if (strcmp(elem_type[i], "NFACED") == 0 || strcmp(elem_type[i], "nfaced") == 0) {
- int nfaces = 0;
- connect = (int *) calloc((num_faces_per_elem[i]), sizeof(int));
-
- nnpe = (int *) calloc(num_elem_in_block[i], sizeof(int));
- error = ex_get_entity_count_per_polyhedra(exoid, EX_ELEM_BLOCK, ids[i], nnpe);
- printf ("\nafter ex_get_entity_count_per_polyhedra, error = %d\n", error);
-
- for (j=0; j < num_elem_in_block[i]; j++) {
- nfaces += nnpe[j];
- }
- assert(nfaces == num_faces_per_elem[i]);
-
- error = ex_get_conn (exoid, EX_ELEM_BLOCK, ids[i], NULL, NULL, connect);
- printf ("\nafter ex_get_conn, error = %d\n", error);
-
- printf ("face connectivity array for elem block %2d\n", ids[i]);
- nfaces = 0;
- for (j=0; j < num_elem_in_block[i]; j++) {
- printf("Element %d, %d faces:\t", j+1, nnpe[j]);
- for (k=0; k < nnpe[j]; k++) {
- printf("%3d ", connect[nfaces+k]);
- }
- printf("\n");
- nfaces += nnpe[j];
- }
-
- /* Now get the faces and their connectivity... */
- /*
- * Convention is that the faces for an nfaced block are in a
- * face block which has the same id as the element block...
- * (Or, at least let's try that for awhile and see if it works...)
- */
-
- /* NOTE: We are overwriting the element block data here... */
- error = ex_get_block (exoid, EX_FACE_BLOCK, ids[i], elem_type[i],
- &(num_face_in_block[i]),
- &(num_nodes_per_elem[i]),
- NULL, NULL,
- &(num_attr[i]));
-
- printf ("\nafter ex_get_block (EX_FACE_BLOCK), error = %d\n", error);
-
- error = ex_get_names(exoid, EX_FACE_BLOCK, block_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- printf ("\tface block id = %2d\n",ids[i]);
- printf ("\tface block type = '%s'\n", elem_type[i]);
- printf ("\tnum_face_in_block = %2d\n",num_face_in_block[i]);
- printf ("\tnum_total_nodes_per_block = %2d\n",num_nodes_per_elem[i]);
- printf ("\tnum_attr = %2d\n",num_attr[i]);
- printf ("\tname = '%s'\n",block_names[i]);
-
- fconnect = (int *) calloc((num_nodes_per_elem[i]), sizeof(int));
- nnpf = (int *) calloc(num_face_in_block[i], sizeof(int));
- error = ex_get_entity_count_per_polyhedra(exoid, EX_FACE_BLOCK, ids[i], nnpf);
- printf ("\nafter ex_get_entity_count_per_polyhedra, error = %d\n", error);
-
- nnodes = 0;
- for (j=0; j < num_face_in_block[i]; j++) {
- nnodes += nnpf[j];
- }
- assert(nnodes == num_nodes_per_elem[i]);
-
- error = ex_get_conn (exoid, EX_FACE_BLOCK, ids[i], fconnect, NULL, NULL);
- printf ("\nafter ex_get_conn, error = %d\n", error);
-
- printf ("node connectivity array for face block %2d\n", ids[i]);
- nnodes = 0;
- for (j=0; j < num_face_in_block[i]; j++) {
- printf("Face %d, %d nodes:\t", j+1, nnpf[j]);
- for (k=0; k < nnpf[j]; k++) {
- printf("%3d ", fconnect[nnodes+k]);
- }
- printf("\n");
- nnodes += nnpf[j];
- }
- free(fconnect);
- free(nnpe);
- free(nnpf);
- } else {
- connect = (int *) calloc((num_nodes_per_elem[i] * num_elem_in_block[i]),
- sizeof(int));
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- printf ("connect array for elem block %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_per_elem[i]; j++) {
- printf ("%3d\n", connect[j]);
- }
- }
- free (connect);
- }
- }
-
- for (i=0; i<num_elem_blk; i++) {
- free(elem_type[i]);
- free(block_names[i]);
- }
- if (num_elem_blk > 0) {
- free (ids);
- free (num_nodes_per_elem);
- free (num_edges_per_elem);
- free (num_faces_per_elem);
- free (num_attr);
- }
-
- /* read QA records */
- ex_inquire (exoid, EX_INQ_QA, &num_qa_rec, &fdum, cdum);
-
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- qa_record[i][j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- }
-
- error = ex_get_qa (exoid, qa_record);
- printf ("\nafter ex_get_qa, error = %3d\n", error);
-
- printf ("QA records = \n");
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- printf (" '%s'\n", qa_record[i][j]);
- free(qa_record[i][j]);
- }
- }
-
- /* read information records */
-
- error = ex_inquire (exoid, EX_INQ_INFO, &num_info, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_info (exoid, info);
- printf ("\nafter ex_get_info, error = %3d\n", error);
-
- printf ("info records = \n");
- for (i=0; i<num_info; i++)
- {
- printf (" '%s'\n", info[i]);
- free(info[i]);
- }
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testrd-nfaced.dmp b/cbind/test/testrd-nfaced.dmp
deleted file mode 100644
index 933936b..0000000
--- a/cbind/test/testrd-nfaced.dmp
+++ /dev/null
@@ -1,109 +0,0 @@
-
-after ex_open
- I/O word size 4
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 3
-num_nodes = 14
-num_edge = 0
-num_face = 15
-num_elem = 3
-num_elem_blk = 1
-num_node_sets = 0
-num_side_sets = 0
-
-after ex_get_coord, error = 0
-x, y, z coords =
- 0.0 0.0 0.0
- 2.0 0.0 0.0
- 0.0 2.0 0.0
- 2.0 2.0 0.0
- 0.0 0.0 2.0
- 2.0 0.0 2.0
- 0.0 2.0 2.0
- 2.0 2.0 2.0
- 0.0 3.5 1.0
- 2.0 3.5 1.0
- 0.0 3.0 1.5
- 2.0 3.0 1.5
- 0.0 3.0 0.5
- 2.0 3.0 0.5
-
-after ex_get_coord_names, error = 0
-x coord name = 'x'
-y coord name = 'y'
-z coord name = 'z'
-
-after ex_get_elem_blk_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_elem_block, error = 0
-element block id = 10
-element block type = 'nfaced'
-num_elem_in_block = 3
-num_total_nodes_per_block = 0
-num_total_edges_per_block = 0
-num_total_faces_per_block = 17
-num_attr = 0
-name = 'nfaced_1'
-
-after ex_get_entity_count_per_polyhedra, error = 0
-
-after ex_get_conn, error = 0
-face connectivity array for elem block 10
-Element 1, 5 faces: 1 2 3 4 5
-Element 2, 5 faces: 4 6 7 8 9
-Element 3, 7 faces: 8 10 11 12 13 14 15
-
-after ex_get_block (EX_FACE_BLOCK), error = 0
-
-after ex_get_names, error = 0
- face block id = 10
- face block type = 'nsided'
- num_face_in_block = 15
- num_total_nodes_per_block = 58
- num_attr = 0
- name = 'face_block_1'
-
-after ex_get_entity_count_per_polyhedra, error = 0
-
-after ex_get_conn, error = 0
-node connectivity array for face block 10
-Face 1, 3 nodes: 5 6 8
-Face 2, 3 nodes: 2 1 4
-Face 3, 4 nodes: 6 2 4 8
-Face 4, 4 nodes: 8 4 1 5
-Face 5, 4 nodes: 1 2 6 5
-Face 6, 3 nodes: 5 8 7
-Face 7, 3 nodes: 1 3 4
-Face 8, 4 nodes: 7 8 4 3
-Face 9, 4 nodes: 7 3 1 5
-Face 10, 5 nodes: 8 4 14 10 12
-Face 11, 5 nodes: 7 11 9 13 3
-Face 12, 4 nodes: 7 8 12 11
-Face 13, 4 nodes: 11 12 10 9
-Face 14, 4 nodes: 9 10 14 13
-Face 15, 4 nodes: 13 14 4 3
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWT-NFACED'
- 'testwt-nfaced'
- '2010/02/15'
- '06:35:15'
- ''
- ''
- ''
- ''
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- ''
- ''
-
-after ex_close, error = 0
diff --git a/cbind/test/testrd-nm32.dmp b/cbind/test/testrd-nm32.dmp
deleted file mode 100644
index 356c32d..0000000
--- a/cbind/test/testrd-nm32.dmp
+++ /dev/null
@@ -1,1137 +0,0 @@
-
-after ex_open
- I/O word size 4
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 3
-num_nodes = 33
-num_elem = 7
-num_elem_blk = 7
-num_node_sets = 2
-num_side_sets = 5
- after ex_inquire, error = 0
-
-after ex_get_coord, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
- 2.7
- 3.3
- 1.7
- 2.3
- 0.0
- 0.0
- 10.0
-
-after ex_get_coord_names, error = 0
-x coord name = 'X coordinate name that is padded'
-y coord name = 'Y coordinate name that is padded'
-z coord name = 'Z coordinate name that is padded'
- after ex_get_attr_param, error = 0
-num nodal attributes = 2
- after ex_get_attr_names, error = 0
-nodal attribute 0 = 'Node_attr_1'
- after ex_get_one_attr, error = 0
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-nodal attribute 1 = 'Node_attr_2'
- after ex_get_one_attr, error = 0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-
-after ex_get_map, error = 0
-elem_map(0) = 1
-elem_map(1) = 2
-elem_map(2) = 3
-elem_map(3) = 4
-elem_map(4) = 5
-elem_map(5) = 6
-elem_map(6) = 7
-
-after ex_get_elem_blk_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_elem_block, error = 0
-element block id = 10
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-name = 'Very long name for block_1 that'
-
-after ex_get_elem_block, error = 0
-element block id = 11
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-name = 'Very long name for block_2 that'
-
-after ex_get_elem_block, error = 0
-element block id = 12
-element type = 'hex'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-name = 'Very long name for block_3 that'
-
-after ex_get_elem_block, error = 0
-element block id = 13
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-name = 'Very long name for block_4 that'
-
-after ex_get_elem_block, error = 0
-element block id = 14
-element type = 'wedge'
-num_elem_in_block = 1
-num_nodes_per_elem = 6
-num_attr = 1
-name = 'Very long name for block_5 that'
-
-after ex_get_elem_block, error = 0
-element block id = 15
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-name = 'Very long name for block_6 that'
-
-after ex_get_elem_block, error = 0
-element block id = 16
-element type = 'tri'
-num_elem_in_block = 1
-num_nodes_per_elem = 3
-num_attr = 1
-name = 'Very long name for block_7 that'
-
-after ex_inquire, error = 0
-
-There are 3 properties for each element block
-after ex_get_prop_names, error = 0
-element block 1, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 10
-element block 2, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 20
-element block 3, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 30
-element block 4, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 40
-element block 5, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 50
-element block 6, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 60
-element block 7, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 70
-element block 1, property( 3): 'DENSITY'= 0
-element block 2, property( 3): 'DENSITY'= 0
-element block 3, property( 3): 'DENSITY'= 0
-element block 4, property( 3): 'DENSITY'= 0
-element block 5, property( 3): 'DENSITY'= 0
-element block 6, property( 3): 'DENSITY'= 0
-element block 7, property( 3): 'DENSITY'= 0
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 11
- 5
- 6
- 7
- 8
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 12
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 13
- 17
- 18
- 19
- 20
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 14
- 21
- 22
- 23
- 24
- 25
- 26
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 15
- 17
- 18
- 19
- 20
- 27
- 28
- 30
- 29
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 16
- 31
- 32
- 33
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 10 attribute 'The name for the attribute repre' = 3.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 11 attribute 'The name for the attribute repre' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 12 attribute 'The name for the attribute repre' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 13 attribute 'The name for the attribute repre' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 14 attribute 'The name for the attribute repre' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 15 attribute 'The name for the attribute repre' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 16 attribute 'The name for the attribute repre' = 6.1416
-
-after ex_get_node_set_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_node_set_param, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-name = 'nset_1'
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 20
- 10
- 11
- 12
- 13
- 14
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 20 = 1
- after ex_get_attr_names, error = 0
-nodeset attribute 0 = 'Nodeset_attribute'
- after ex_get_one_attr, error = 0
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
-
-after ex_get_node_set_param, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-name = 'nset_2'
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 21
- 20
- 21
- 22
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 21 = 0
-
-after ex_inquire, error = 0
-
-There are 3 properties for each node set
-after ex_get_prop_names, error = 0
-node set 1, property( 1): 'ID'= 20
-node set 2, property( 1): 'ID'= 21
-node set 1, property( 2): 'FACE'= 4
-node set 2, property( 2): 'FACE'= 5
-node set 1, property( 3): 'VELOCITY'= 1000
-node set 2, property( 3): 'VELOCITY'= 2000
-
-after ex_inquire, error = 0
-
-after ex_inquire: EX_INQ_NS_NODE_LEN = 8, error = 0
-
-after ex_inquire: EX_INQ_NS_DF_LEN = 8, error = 0
-
-after ex_get_concat_node_sets, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 0
- 5
-node_list =
- 10
- 11
- 12
- 13
- 14
- 20
- 21
- 22
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after ex_get_side_set_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_side_set_param, error = 0
-side set 30 parameters:
-name = 'sset_1'
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 30
- 2
- 2
-side list for side set 30
- 4
- 2
-node list for side set 30
- 8
- 5
- 6
- 7
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after ex_get_side_set_param, error = 0
-side set 31 parameters:
-name = 'sset_2'
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 31
- 1
- 2
-side list for side set 31
- 2
- 3
-node list for side set 31
- 2
- 3
- 7
- 8
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_side_set_param, error = 0
-side set 32 parameters:
-name = 'sset_3'
-num_sides = 7
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 32
- 3
- 3
- 3
- 3
- 3
- 3
- 3
-side list for side set 32
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-node list for side set 32
- 9
- 12
- 11
- 10
- 11
- 12
- 16
- 15
- 11
- 12
- 16
- 15
- 10
- 11
- 15
- 14
- 9
- 13
- 16
- 12
- 9
- 10
- 14
- 13
- 13
- 14
- 15
- 16
-no dist factors for side set 32
-
-after ex_get_side_set_param, error = 0
-side set 33 parameters:
-name = 'sset_4'
-num_sides = 8
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 33
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
-side list for side set 33
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
-node list for side set 33
- 17
- 18
- 20
- 18
- 19
- 20
- 17
- 20
- 19
- 17
- 19
- 18
- 17
- 18
- 20
- 27
- 18
- 19
- 20
- 28
- 17
- 20
- 19
- 29
- 17
- 19
- 18
- 30
-no dist factors for side set 33
-
-after ex_get_side_set_param, error = 0
-side set 34 parameters:
-name = 'sset_5'
-num_sides = 10
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 34
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side list for side set 34
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-node list for side set 34
- 21
- 22
- 25
- 24
- 22
- 23
- 26
- 25
- 21
- 24
- 26
- 23
- 21
- 23
- 22
- 24
- 25
- 26
- 31
- 32
- 33
- 33
- 32
- 31
- 31
- 32
- 32
- 33
- 33
- 31
-no dist factors for side set 34
-
-after ex_inquire, error = 0
-
-There are 2 properties for each side set
-after ex_get_prop_names, error = 0
-side set 1, property( 1): 'ID'= 30
-side set 2, property( 1): 'ID'= 31
-side set 3, property( 1): 'ID'= 32
-side set 4, property( 1): 'ID'= 33
-side set 5, property( 1): 'ID'= 34
-side set 1, property( 2): 'COLOR'= 100
-side set 2, property( 2): 'COLOR'= 101
-side set 3, property( 2): 'COLOR'= 0
-side set 4, property( 2): 'COLOR'= 0
-side set 5, property( 2): 'COLOR'= 0
-
-after ex_inquire: EX_INQ_SIDE_SETS = 5, error = 0
-
-after ex_inquire: EX_INQ_SS_ELEM_LEN = 29, error = 0
-
-after ex_inquire: EX_INQ_SS_NODE_LEN = 94, error = 0
-
-after ex_inquire: EX_INQ_SS_DF_LEN = 8, error = 0
-
-after ex_get_concat_side_sets, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
-num_elem_per_set =
- 2
- 2
- 7
- 8
- 10
-num_dist_per_set =
- 4
- 4
- 0
- 0
- 0
-elem_ind =
- 0
- 2
- 4
- 11
- 19
-dist_ind =
- 0
- 4
- 8
- 8
- 8
-elem_list =
- 2
- 2
- 1
- 2
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWT'
- 'testwt'
- '07/07/93'
- '15:41:33'
- ''
- ''
- ''
- ''
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- ''
- ''
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 1 global variables; their names are :
- 'glo_vars'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 2 nodal variables; their names are :
- 'node_variable_a_somewhat_long_na'
- 'node_variable_a_much_longer_name'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 element variables; their names are :
- 'the_stress_on_the_elements_in_th'
- 'ele_var1'
- 'ele_var2'
-
-after ex_get_elem_var_tab, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 nodeset variables; their names are :
- 'ns_var0'
- 'ns_var1'
- 'ns_var2'
-
-after ex_get_nset_var_tab, error = 0
-This is the nodeset variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 sideset variables; their names are :
- 'ss_var0'
- 'ss_var1'
- 'ss_var2'
-
-after ex_get_sset_var_tab, error = 0
-This is the sideset variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_inquire, error = 0
-There are 10 time steps in the database.
-
-after ex_get_time, error = 0
-time value at time step 3 = 0.030
-
-after ex_get_all_times, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after ex_get_glob_vars, error = 0
-global variable values at time step 3
-0.060
-
-after ex_get_glob_var_time, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after ex_get_nodal_var, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-1.810
-1.840
-1.870
-1.900
-1.930
-1.960
-1.990
-
-after ex_get_nodal_var_time, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
- after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 10 at time step 3
-4.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 11 at time step 3
-5.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 12 at time step 3
-6.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 13 at time step 3
-7.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 14 at time step 3
-8.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 15 at time step 3
-9.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 16 at time step 3
-10.030
-
-after ex_get_elem_var_time, error = 0
-element variable 2 values for element 2 through time:
-6.010
-6.020
-6.030
-6.040
-6.050
-6.060
-6.070
-6.080
-6.090
-6.100
-
- after ex_get_side_set_ids, error = 0
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 30 at time step 3
-7.030
-7.060
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 31 at time step 3
-8.030
-8.060
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 32 at time step 3
-9.030
-9.060
-9.090
-9.120
-9.150
-9.180
-9.210
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 33 at time step 3
-10.030
-10.060
-10.090
-10.120
-10.150
-10.180
-10.210
-10.240
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 34 at time step 3
-11.030
-11.060
-11.090
-11.120
-11.150
-11.180
-11.210
-11.240
-11.270
-11.300
-
- after ex_get_node_set_ids, error = 0
-
-after ex_get_nset_var, error = 0
-nodeset variable 2 values of nodeset 20 at time step 3
-9.030
-9.060
-9.090
-9.120
-9.150
-
-after ex_get_nset_var, error = 0
-nodeset variable 2 values of nodeset 21 at time step 3
-10.030
-10.060
-10.090
-
-after ex_close, error = 0
diff --git a/cbind/test/testrd-nsided.c b/cbind/test/testrd-nsided.c
deleted file mode 100644
index 820f62c..0000000
--- a/cbind/test/testrd-nsided.c
+++ /dev/null
@@ -1,1153 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testrd - read exodus file test-nsided.exo created by testwt-nsided
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "netcdf.h"
-#include <assert.h>
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk, num_node_sets;
- int num_side_sets, error, nnodes;
- int i, j, k;
- int *elem_map = NULL;
- int *connect = NULL;
- int *node_list = NULL;
- int *node_ctr_list = NULL;
- int *elem_list = NULL;
- int *side_list = NULL;
- int *ids = NULL;
- int *nnpe = NULL;
- int *num_nodes_per_set = NULL;
- int *num_elem_per_set = NULL;
- int *num_df_per_set = NULL;
- int *node_ind = NULL;
- int *elem_ind = NULL;
- int *df_ind = NULL;
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int num_nset_vars, num_sset_vars;
- int *truth_tab = NULL;
- int num_time_steps;
- int *num_elem_in_block = NULL;
- int *num_nodes_per_elem = NULL;
- int *num_attr = NULL;
- int num_nodes_in_set, num_elem_in_set;
- int num_sides_in_set, num_df_in_set;
- int list_len, elem_list_len, df_list_len;
- int node_num, time_step, var_index, beg_time, end_time, elem_num;
- int CPU_word_size,IO_word_size;
- int num_props, prop_value, *prop_values;
- int idum;
-
- float time_value, *time_values, *var_values;
- float *x, *y, *z;
- float *attrib, *dist_fact;
- float version, fdum;
-
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *attrib_names[10];
- char *elem_type[10];
- char name[MAX_STR_LENGTH+1];
- char title[MAX_LINE_LENGTH+1];
- char *cdum = 0;
- char *prop_names[3];
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use what is stored in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
- /* open EXODUS II files */
- exoid = ex_open ("test-nsided.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- printf (" I/O word size %1d\n",IO_word_size);
-
- ex_inquire(exoid,EX_INQ_LIB_VERS, &idum, &version, cdum);
- printf ("EXODUSII Library API; version %4.2f (%d)\n", version, idum);
-
- /* read database parameters */
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- printf ("after ex_get_init, error = %3d\n", error);
-
- printf ("database parameters:\n");
- printf ("title = '%s'\n",title);
- printf ("num_dim = %3d\n",num_dim);
- printf ("num_nodes = %3d\n",num_nodes);
- printf ("num_elem = %3d\n",num_elem);
- printf ("num_elem_blk = %3d\n",num_elem_blk);
- printf ("num_node_sets = %3d\n",num_node_sets);
- printf ("num_side_sets = %3d\n",num_side_sets);
-
- /* read nodal coordinates values and names from database */
-
- x = (float *) calloc(num_nodes, sizeof(float));
- y = (float *) calloc(num_nodes, sizeof(float));
- if (num_dim >= 3)
- z = (float *) calloc(num_nodes, sizeof(float));
- else
- z = 0;
-
- error = ex_get_coord (exoid, x, y, z);
- printf ("\nafter ex_get_coord, error = %3d\n", error);
-
- printf ("x coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", x[i]);
- }
-
- printf ("y coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", y[i]);
- }
-
- if (num_dim >= 3)
- {
- printf ("z coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", z[i]);
- }
- }
-
- free (x);
- free (y);
- if (num_dim >= 3)
- free (z);
-
-
- for (i=0; i<num_dim; i++)
- {
- coord_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_coord_names (exoid, coord_names);
- printf ("\nafter ex_get_coord_names, error = %3d\n", error);
-
- printf ("x coord name = '%s'\n", coord_names[0]);
- printf ("y coord name = '%s'\n", coord_names[1]);
-
- for (i=0; i<num_dim; i++)
- free(coord_names[i]);
-
- {
- int num_attrs = 0;
- error = ex_get_attr_param(exoid, EX_NODAL, 0, &num_attrs);
- printf (" after ex_get_attr_param, error = %d\n", error);
- printf ("num nodal attributes = %d\n", num_attrs);
- if (num_attrs > 0) {
- for (j=0; j<num_attrs; j++) {
- attrib_names[j] = (char *)calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- error = ex_get_attr_names (exoid, EX_NODAL, 0, attrib_names);
- printf (" after ex_get_attr_names, error = %d\n", error);
-
- if (error == 0) {
- attrib = (float *) calloc(num_nodes,sizeof(float));
- for (j=0; j<num_attrs; j++) {
- printf ("nodal attribute %d = '%s'\n", j, attrib_names[j]);
- error = ex_get_one_attr(exoid, EX_NODAL, 0, j+1, attrib);
- printf (" after ex_get_one_attr, error = %d\n", error);
- for (i=0; i < num_nodes; i++) {
- printf ("%5.1f\n", attrib[i]);
- }
- free(attrib_names[j]);
- }
- free(attrib);
- }
- }
- }
-
- /* read element order map */
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- error = ex_get_map (exoid, elem_map);
- printf ("\nafter ex_get_map, error = %3d\n", error);
-
- for (i=0; i<num_elem; i++) {
- printf ("elem_map(%d) = %d \n", i, elem_map[i]);
- }
-
- free (elem_map);
-
- /* read element block parameters */
- if (num_elem_blk > 0) {
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- num_elem_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_nodes_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_attr = (int *) calloc(num_elem_blk, sizeof(int));
-
- for (i=0; i<num_elem_blk; i++) {
- elem_type[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++) {
- block_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++) {
- ex_get_name(exoid, EX_ELEM_BLOCK, ids[i], name);
- if (strcmp(name, block_names[i]) != 0) {
- printf ("error in ex_get_name for block id %d\n", ids[i]);
- }
- error = ex_get_elem_block (exoid, ids[i], elem_type[i],
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]), &(num_attr[i]));
- printf ("\nafter ex_get_elem_block, error = %d\n", error);
-
- printf ("element block id = %2d\n",ids[i]);
- printf ("element type = '%s'\n", elem_type[i]);
- printf ("num_elem_in_block = %2d\n",num_elem_in_block[i]);
- printf ("num_total_nodes_per_block = %2d\n",num_nodes_per_elem[i]);
- printf ("num_attr = %2d\n",num_attr[i]);
- printf ("name = '%s'\n",block_names[i]);
- free(block_names[i]);
- }
-
- /* read element block properties */
- error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each element block\n", num_props);
-
- for (i=0; i<num_props; i++) {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_ELEM_BLOCK,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=1; i<num_props; i++) {/* Prop 1 is id; skip that here */
- for (j=0; j<num_elem_blk; j++) {
- error = ex_get_prop(exoid, EX_ELEM_BLOCK, ids[j], prop_names[i],
- &prop_value);
- printf (" after ex_get_prop, error = %d\n", error);
- if (error == 0)
- printf ("element block %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- }
-
- /* read element connectivity */
- for (i=0; i<num_elem_blk; i++) {
- if (num_elem_in_block[i] > 0) {
- if (strcmp(elem_type[i], "NSIDED") == 0 || strcmp(elem_type[i], "nsided") == 0) {
- connect = (int *) calloc((num_nodes_per_elem[i]), sizeof(int));
-
- nnpe = (int *) calloc(num_elem_in_block[i], sizeof(int));
- error = ex_get_entity_count_per_polyhedra(exoid, EX_ELEM_BLOCK, ids[i], nnpe);
- printf ("\nafter ex_get_entity_count_per_polyhedra, error = %d\n", error);
-
- nnodes = 0;
- for (j=0; j < num_elem_in_block[i]; j++) {
- nnodes += nnpe[j];
- }
- assert(nnodes == num_nodes_per_elem[i]);
-
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- printf ("connect array for elem block %2d\n", ids[i]);
- nnodes = 0;
- for (j=0; j < num_elem_in_block[i]; j++) {
- printf("Element %d, %d nodes:\t", j+1, nnpe[j]);
- for (k=0; k < nnpe[j]; k++) {
- printf("%3d ", connect[nnodes+k]);
- }
- printf("\n");
- nnodes += nnpe[j];
- }
- free(nnpe);
- } else {
- connect = (int *) calloc((num_nodes_per_elem[i] * num_elem_in_block[i]),
- sizeof(int));
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- printf ("connect array for elem block %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_per_elem[i]; j++) {
- printf ("%3d\n", connect[j]);
- }
- }
- free (connect);
- }
- }
-
- /* read element block attributes */
- for (i=0; i<num_elem_blk; i++) {
- if (num_attr[i] > 0) {
- for (j=0; j<num_attr[i]; j++)
- attrib_names[j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
-
- attrib = (float *) calloc(num_attr[i]*num_elem_in_block[i],sizeof(float));
- error = ex_get_elem_attr (exoid, ids[i], attrib);
- printf ("\n after ex_get_elem_attr, error = %d\n", error);
-
- if (error == 0) {
- error = ex_get_elem_attr_names (exoid, ids[i], attrib_names);
- printf (" after ex_get_elem_attr_names, error = %d\n", error);
-
- if (error == 0) {
- printf ("element block %d attribute '%s' = %6.4f\n", ids[i], attrib_names[0], *attrib);
- }
- }
- free (attrib);
- for (j=0; j<num_attr[i]; j++)
- free (attrib_names[j]);
- }
- }
-
- if (num_elem_blk > 0) {
- free (ids);
- free (num_nodes_per_elem);
- free (num_attr);
- }
-
- /* read individual node sets */
- if (num_node_sets > 0) {
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\nafter ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++) {
- nset_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_NODE_SET, nset_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- ex_get_name(exoid, EX_NODE_SET, ids[i], name);
- if (strcmp(name, nset_names[i]) != 0) {
- printf ("error in ex_get_name for nodeset id %d\n", ids[i]);
- }
-
- error = ex_get_node_set_param (exoid, ids[i],
- &num_nodes_in_set, &num_df_in_set);
- printf ("\nafter ex_get_node_set_param, error = %3d\n", error);
-
- printf ("\nnode set %2d parameters: \n", ids[i]);
- printf ("num_nodes = %2d\n", num_nodes_in_set);
- printf ("name = '%s'\n", nset_names[i]);
- free(nset_names[i]);
- node_list = (int *) calloc(num_nodes_in_set, sizeof(int));
- dist_fact = (float *) calloc(num_nodes_in_set, sizeof(float));
-
- error = ex_get_node_set (exoid, ids[i], node_list);
- printf ("\nafter ex_get_node_set, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_node_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_node_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("\nnode list for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%3d\n", node_list[j]);
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%5.2f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for node set %2d\n", ids[i]);
-
- free (node_list);
- free (dist_fact);
-
- {
- int num_attrs = 0;
- error = ex_get_attr_param(exoid, EX_NODE_SET, ids[i], &num_attrs);
- printf (" after ex_get_attr_param, error = %d\n", error);
- printf ("num nodeset attributes for nodeset %d = %d\n", ids[i], num_attrs);
- if (num_attrs > 0) {
- for (j=0; j<num_attrs; j++) {
- attrib_names[j] = (char *)calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- error = ex_get_attr_names (exoid, EX_NODE_SET, ids[i], attrib_names);
- printf (" after ex_get_attr_names, error = %d\n", error);
-
- if (error == 0) {
- attrib = (float *) calloc(num_nodes_in_set,sizeof(float));
- for (j=0; j<num_attrs; j++) {
- printf ("nodeset attribute %d = '%s'\n", j, attrib_names[j]);
- error = ex_get_one_attr(exoid, EX_NODE_SET, ids[i], j+1, attrib);
- printf (" after ex_get_one_attr, error = %d\n", error);
- for (k=0; k < num_nodes_in_set; k++) {
- printf ("%5.1f\n", attrib[k]);
- }
- free(attrib_names[j]);
- }
- free(attrib);
- }
- }
- }
- }
- free(ids);
-
- /* read node set properties */
- error = ex_inquire (exoid, EX_INQ_NS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each node set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- prop_values = (int *) calloc (num_node_sets, sizeof(int));
-
- error = ex_get_prop_names(exoid,EX_NODE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- error = ex_get_prop_array(exoid, EX_NODE_SET, prop_names[i],
- prop_values);
- if (error == 0)
- for (j=0; j<num_node_sets; j++)
- printf ("node set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_values[j]);
- else
- printf ("after ex_get_prop_array, error = %d\n", error);
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free(prop_values);
-
- /* read concatenated node sets; this produces the same information as
- * the above code which reads individual node sets
- */
-
- error = ex_inquire (exoid, EX_INQ_NODE_SETS, &num_node_sets, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n",error);
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
- num_nodes_per_set = (int *) calloc(num_node_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_node_sets, sizeof(int));
- node_ind = (int *) calloc(num_node_sets, sizeof(int));
- df_ind = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_NODE_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_NODE_LEN = %d, error = %3d\n",
- list_len, error);
- node_list = (int *) calloc(list_len, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_DF_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_DF_LEN = %d, error = %3d\n",
- list_len, error);
- dist_fact = (float *) calloc(list_len, sizeof(float));
-
- error = ex_get_concat_node_sets (exoid,ids,num_nodes_per_set,num_df_per_set,
- node_ind, df_ind, node_list, dist_fact);
- printf ("\nafter ex_get_concat_node_sets, error = %3d\n", error);
-
- printf ("\nconcatenated node set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_nodes_per_set = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", num_nodes_per_set[i]);
-
- printf ("node_ind = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", node_ind[i]);
-
- printf ("node_list = \n");
- for (i=0; i<list_len; i++) printf ("%3d\n", node_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (df_ind);
- free (node_ind);
- free (num_df_per_set);
- free (node_list);
- free (dist_fact);
- }
-
- /* read individual side sets */
-
- if (num_side_sets > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\nafter ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++) {
- sset_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_SIDE_SET, sset_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- ex_get_name(exoid, EX_SIDE_SET, ids[i], name);
- if (strcmp(name, sset_names[i]) != 0) {
- printf ("error in ex_get_name for sideset id %d\n", ids[i]);
- }
-
- error = ex_get_side_set_param (exoid, ids[i], &num_sides_in_set,
- &num_df_in_set);
- printf ("\nafter ex_get_side_set_param, error = %3d\n", error);
-
- printf ("side set %2d parameters:\n",ids[i]);
- printf ("name = '%s'\n", sset_names[i]);
- printf ("num_sides = %3d\n",num_sides_in_set);
- printf ("num_dist_factors = %3d\n", num_df_in_set);
- free(sset_names[i]);
-
-
- /* Note: The # of elements is same as # of sides! */
- num_elem_in_set = num_sides_in_set;
- elem_list = (int *) calloc(num_elem_in_set, sizeof(int));
- side_list = (int *) calloc(num_sides_in_set, sizeof(int));
- node_ctr_list = (int *) calloc(num_elem_in_set, sizeof(int));
- node_list = (int *) calloc(num_elem_in_set*21, sizeof(int));
- dist_fact = (float *) calloc(num_df_in_set, sizeof(float));
-
- error = ex_get_side_set (exoid, ids[i], elem_list, side_list);
- printf ("\nafter ex_get_side_set, error = %3d\n", error);
-
- if (num_df_in_set > 0) {
- error = ex_get_side_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_side_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("element list for side set %2d\n", ids[i]);
- for (j=0; j<num_elem_in_set; j++)
- {
- printf ("%3d\n", elem_list[j]);
- }
-
- printf ("side list for side set %2d\n", ids[i]);
- for (j=0; j<num_sides_in_set; j++)
- {
- printf ("%3d\n", side_list[j]);
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for side set %2d\n", ids[i]);
-
- for (j=0; j<num_df_in_set; j++)
- {
- printf ("%5.3f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for side set %2d\n", ids[i]);
-
- free (elem_list);
- free (side_list);
- free (node_ctr_list);
- free (node_list);
- free (dist_fact);
-
- }
-
- /* read side set properties */
- error = ex_inquire (exoid, EX_INQ_SS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each side set\n", num_props);
-
- for (i=0; i<num_props; i++) {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_SIDE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++) {
- for (j=0; j<num_side_sets; j++)
- {
- error = ex_get_prop(exoid, EX_SIDE_SET, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("side set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free (ids);
-
- error = ex_inquire (exoid, EX_INQ_SIDE_SETS, &num_side_sets, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SIDE_SETS = %d, error = %d\n",
- num_side_sets, error);
-
- if (num_side_sets > 0) {
- error = ex_inquire(exoid, EX_INQ_SS_ELEM_LEN, &elem_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_ELEM_LEN = %d, error = %d\n",
- elem_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_DF_LEN, &df_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_DF_LEN = %d, error = %d\n",
- df_list_len, error);
- }
-
- /* read concatenated side sets; this produces the same information as
- * the above code which reads individual side sets
- */
-
- /* concatenated side set read */
-
- if (num_side_sets > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
- num_elem_per_set = (int *) calloc(num_side_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_side_sets, sizeof(int));
- elem_ind = (int *) calloc(num_side_sets, sizeof(int));
- df_ind = (int *) calloc(num_side_sets, sizeof(int));
- elem_list = (int *) calloc(elem_list_len, sizeof(int));
- side_list = (int *) calloc(elem_list_len, sizeof(int));
- dist_fact = (float *) calloc(df_list_len, sizeof(float));
-
- error = ex_get_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("\nafter ex_get_concat_side_sets, error = %3d\n", error);
-
- printf ("concatenated side set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_elem_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_elem_per_set[i]);
-
- printf ("num_dist_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_df_per_set[i]);
-
- printf ("elem_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", elem_ind[i]);
-
- printf ("dist_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", df_ind[i]);
-
- printf ("elem_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", elem_list[i]);
-
- printf ("side_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", side_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<df_list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_df_per_set);
- free (df_ind);
- free (elem_ind);
- free (elem_list);
- free (side_list);
- free (dist_fact);
- }
- }
- /* end of concatenated side set read */
-
- /* read QA records */
-
- ex_inquire (exoid, EX_INQ_QA, &num_qa_rec, &fdum, cdum);
-
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- qa_record[i][j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- }
-
- error = ex_get_qa (exoid, qa_record);
- printf ("\nafter ex_get_qa, error = %3d\n", error);
-
- printf ("QA records = \n");
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- printf (" '%s'\n", qa_record[i][j]);
- free(qa_record[i][j]);
- }
- }
-
- /* read information records */
-
- error = ex_inquire (exoid, EX_INQ_INFO, &num_info, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_info (exoid, info);
- printf ("\nafter ex_get_info, error = %3d\n", error);
-
- printf ("info records = \n");
- for (i=0; i<num_info; i++)
- {
- printf (" '%s'\n", info[i]);
- free(info[i]);
- }
-
- /* read global variables parameters and names */
-
- error = ex_get_var_param (exoid, "g", &num_glo_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_glo_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d global variables; their names are :\n",
- num_glo_vars);
- for (i=0; i<num_glo_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read nodal variables parameters and names */
- num_nod_vars = 0;
- if (num_nodes > 0) {
- error = ex_get_var_param (exoid, "n", &num_nod_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_nod_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodal variables; their names are :\n", num_nod_vars);
- for (i=0; i<num_nod_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
- }
-
- /* read element variables parameters and names */
-
- num_ele_vars = 0;
- if (num_elem > 0) {
- error = ex_get_var_param (exoid, "e", &num_ele_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_ele_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d element variables; their names are :\n",
- num_ele_vars);
- for (i=0; i<num_ele_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read element variable truth table */
-
- if (num_ele_vars > 0) {
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- error = ex_get_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("\nafter ex_get_elem_var_tab, error = %3d\n", error);
-
- printf ("This is the element variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_elem_blk*num_ele_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
-
- /* read nodeset variables parameters and names */
-
- num_nset_vars = 0;
- if (num_node_sets > 0) {
- error = ex_get_var_param (exoid, "m", &num_nset_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- if (num_nset_vars > 0) {
- for (i=0; i<num_nset_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "m", num_nset_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodeset variables; their names are :\n",
- num_nset_vars);
- for (i=0; i<num_nset_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read nodeset variable truth table */
-
- if (num_nset_vars > 0) {
- truth_tab = (int *) calloc ((num_node_sets*num_nset_vars), sizeof(int));
-
- error = ex_get_nset_var_tab (exoid, num_node_sets, num_nset_vars, truth_tab);
- printf ("\nafter ex_get_nset_var_tab, error = %3d\n", error);
-
- printf ("This is the nodeset variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_node_sets*num_nset_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
- }
-
- /* read sideset variables parameters and names */
-
- num_sset_vars = 0;
- if (num_side_sets > 0) {
- error = ex_get_var_param (exoid, "s", &num_sset_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- if (num_sset_vars > 0) {
- for (i=0; i<num_sset_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "s", num_sset_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d sideset variables; their names are :\n",
- num_sset_vars);
- for (i=0; i<num_sset_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read sideset variable truth table */
-
- if (num_sset_vars > 0) {
- truth_tab = (int *) calloc ((num_side_sets*num_sset_vars), sizeof(int));
-
- error = ex_get_sset_var_tab (exoid, num_side_sets, num_sset_vars, truth_tab);
- printf ("\nafter ex_get_sset_var_tab, error = %3d\n", error);
-
- printf ("This is the sideset variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_side_sets*num_sset_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
- }
-
- /* determine how many time steps are stored */
-
- error = ex_inquire (exoid, EX_INQ_TIME, &num_time_steps, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
- printf ("There are %2d time steps in the database.\n", num_time_steps);
-
- /* read time value at one time step */
-
- time_step = 3;
- error = ex_get_time (exoid, time_step, &time_value);
- printf ("\nafter ex_get_time, error = %3d\n", error);
-
- printf ("time value at time step %2d = %5.3f\n", time_step, time_value);
-
- /* read time values at all time steps */
-
- time_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_all_times (exoid, time_values);
- printf ("\nafter ex_get_all_times, error = %3d\n", error);
-
- printf ("time values at all time steps are:\n");
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", time_values[i]);
-
- free (time_values);
-
- /* read all global variables at one time step */
-
- var_values = (float *) calloc (num_glo_vars, sizeof(float));
-
- error = ex_get_glob_vars (exoid, time_step, num_glo_vars, var_values);
- printf ("\nafter ex_get_glob_vars, error = %3d\n", error);
-
- printf ("global variable values at time step %2d\n", time_step);
- for (i=0; i<num_glo_vars; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a single global variable through time */
-
- var_index = 1;
- beg_time = 1;
- end_time = -1;
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_glob_var_time (exoid, var_index, beg_time, end_time,
- var_values);
- printf ("\nafter ex_get_glob_var_time, error = %3d\n", error);
-
- printf ("global variable %2d values through time:\n", var_index);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a nodal variable at one time step */
-
- if (num_nodes > 0) {
- var_values = (float *) calloc (num_nodes, sizeof(float));
-
- error = ex_get_nodal_var (exoid, time_step, var_index, num_nodes,
- var_values);
- printf ("\nafter ex_get_nodal_var, error = %3d\n", error);
-
- printf ("nodal variable %2d values at time step %2d\n", var_index,
- time_step);
- for (i=0; i<num_nodes; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a nodal variable through time */
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- node_num = 1;
- error = ex_get_nodal_var_time (exoid, var_index, node_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_nodal_var_time, error = %3d\n", error);
-
- printf ("nodal variable %2d values for node %2d through time:\n", var_index,
- node_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
- }
- /* read an element variable at one time step */
-
- if (num_elem_blk > 0) {
- ids = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\n after ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- var_values = (float *) calloc (num_elem_in_block[i], sizeof(float));
-
- error = ex_get_elem_var (exoid, time_step, var_index, ids[i],
- num_elem_in_block[i], var_values);
- printf ("\nafter ex_get_elem_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("element variable %2d values of element block %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_in_block[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- }
- free (num_elem_in_block);
- free(ids);
- }
- /* read an element variable through time */
-
- if (num_ele_vars > 0) {
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- var_index = 2;
- elem_num = 2;
- error = ex_get_elem_var_time (exoid, var_index, elem_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_elem_var_time, error = %3d\n", error);
-
- printf ("element variable %2d values for element %2d through time:\n",
- var_index, elem_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
- }
-
- /* read a sideset variable at one time step */
-
- if (num_sset_vars > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\n after ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- var_values = (float *) calloc (num_elem_per_set[i], sizeof(float));
-
- error = ex_get_sset_var (exoid, time_step, var_index, ids[i],
- num_elem_per_set[i], var_values);
- printf ("\nafter ex_get_sset_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("sideset variable %2d values of sideset %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_per_set[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free (num_elem_per_set);
- free(ids);
- }
-
- /* read a nodeset variable at one time step */
-
- if (num_nset_vars > 0) {
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\n after ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- var_values = (float *) calloc (num_nodes_per_set[i], sizeof(float));
-
- error = ex_get_nset_var (exoid, time_step, var_index, ids[i],
- num_nodes_per_set[i], var_values);
- printf ("\nafter ex_get_nset_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("nodeset variable %2d values of nodeset %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_nodes_per_set[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free(ids);
- }
- if (num_node_sets > 0)
- free (num_nodes_per_set);
-
- for (i=0; i<num_elem_blk; i++) {
- free(elem_type[i]);
- }
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testrd-nsided.dmp b/cbind/test/testrd-nsided.dmp
deleted file mode 100644
index 61a2004..0000000
--- a/cbind/test/testrd-nsided.dmp
+++ /dev/null
@@ -1,852 +0,0 @@
-
-after ex_open
- I/O word size 4
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 3
-num_nodes = 33
-num_elem = 7
-num_elem_blk = 1
-num_node_sets = 2
-num_side_sets = 5
-
-after ex_get_coord, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
- 2.7
- 3.3
- 1.7
- 2.3
- 0.0
- 0.0
- 10.0
-
-after ex_get_coord_names, error = 0
-x coord name = 'xcoor'
-y coord name = 'ycoor'
- after ex_get_attr_param, error = 0
-num nodal attributes = 2
- after ex_get_attr_names, error = 0
-nodal attribute 0 = 'Node_attr_1'
- after ex_get_one_attr, error = 0
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-nodal attribute 1 = 'Node_attr_2'
- after ex_get_one_attr, error = 0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-
-after ex_get_map, error = 0
-elem_map(0) = 1
-elem_map(1) = 2
-elem_map(2) = 3
-elem_map(3) = 4
-elem_map(4) = 5
-elem_map(5) = 6
-elem_map(6) = 7
-
-after ex_get_elem_blk_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_elem_block, error = 0
-element block id = 10
-element type = 'nsided'
-num_elem_in_block = 7
-num_total_nodes_per_block = 37
-num_attr = 0
-name = 'nsided_1'
-
-after ex_inquire, error = 0
-
-There are 1 properties for each element block
-after ex_get_prop_names, error = 0
-
-after ex_get_entity_count_per_polyhedra, error = 0
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 10
-Element 1, 4 nodes: 1 2 3 4
-Element 2, 4 nodes: 5 6 7 8
-Element 3, 8 nodes: 9 10 11 12 13 14 15 16
-Element 4, 4 nodes: 17 18 19 20
-Element 5, 6 nodes: 21 22 23 24 25 26
-Element 6, 8 nodes: 17 18 19 20 27 28 30 29
-Element 7, 3 nodes: 31 32 33
-
-after ex_get_node_set_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_node_set_param, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-name = 'nset_1'
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 20
- 10
- 11
- 12
- 13
- 14
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 20 = 1
- after ex_get_attr_names, error = 0
-nodeset attribute 0 = 'Nodeset_attribute'
- after ex_get_one_attr, error = 0
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
-
-after ex_get_node_set_param, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-name = 'nset_2'
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 21
- 20
- 21
- 22
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 21 = 0
-
-after ex_inquire, error = 0
-
-There are 3 properties for each node set
-after ex_get_prop_names, error = 0
-node set 1, property( 1): 'ID'= 20
-node set 2, property( 1): 'ID'= 21
-node set 1, property( 2): 'FACE'= 4
-node set 2, property( 2): 'FACE'= 5
-node set 1, property( 3): 'VELOCITY'= 1000
-node set 2, property( 3): 'VELOCITY'= 2000
-
-after ex_inquire, error = 0
-
-after ex_inquire: EX_INQ_NS_NODE_LEN = 8, error = 0
-
-after ex_inquire: EX_INQ_NS_DF_LEN = 8, error = 0
-
-after ex_get_concat_node_sets, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 0
- 5
-node_list =
- 10
- 11
- 12
- 13
- 14
- 20
- 21
- 22
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after ex_get_side_set_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_side_set_param, error = 0
-side set 30 parameters:
-name = 'sset_1'
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 30
- 2
- 2
-side list for side set 30
- 4
- 2
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after ex_get_side_set_param, error = 0
-side set 31 parameters:
-name = 'sset_2'
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 31
- 1
- 2
-side list for side set 31
- 2
- 3
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_side_set_param, error = 0
-side set 32 parameters:
-name = 'sset_3'
-num_sides = 7
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-element list for side set 32
- 3
- 3
- 3
- 3
- 3
- 3
- 3
-side list for side set 32
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-no dist factors for side set 32
-
-after ex_get_side_set_param, error = 0
-side set 33 parameters:
-name = 'sset_4'
-num_sides = 8
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-element list for side set 33
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
-side list for side set 33
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
-no dist factors for side set 33
-
-after ex_get_side_set_param, error = 0
-side set 34 parameters:
-name = 'sset_5'
-num_sides = 10
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-element list for side set 34
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side list for side set 34
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-no dist factors for side set 34
-
-after ex_inquire, error = 0
-
-There are 2 properties for each side set
-after ex_get_prop_names, error = 0
-side set 1, property( 1): 'ID'= 30
-side set 2, property( 1): 'ID'= 31
-side set 3, property( 1): 'ID'= 32
-side set 4, property( 1): 'ID'= 33
-side set 5, property( 1): 'ID'= 34
-side set 1, property( 2): 'COLOR'= 100
-side set 2, property( 2): 'COLOR'= 101
-side set 3, property( 2): 'COLOR'= 0
-side set 4, property( 2): 'COLOR'= 0
-side set 5, property( 2): 'COLOR'= 0
-
-after ex_inquire: EX_INQ_SIDE_SETS = 5, error = 0
-
-after ex_inquire: EX_INQ_SS_ELEM_LEN = 29, error = 0
-
-after ex_inquire: EX_INQ_SS_DF_LEN = 8, error = 0
-
-after ex_get_concat_side_sets, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
-num_elem_per_set =
- 2
- 2
- 7
- 8
- 10
-num_dist_per_set =
- 4
- 4
- 0
- 0
- 0
-elem_ind =
- 0
- 2
- 4
- 11
- 19
-dist_ind =
- 0
- 4
- 8
- 8
- 8
-elem_list =
- 2
- 2
- 1
- 2
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWT'
- 'testwt'
- '07/07/93'
- '15:41:33'
- ''
- ''
- ''
- ''
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- ''
- ''
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 1 global variables; their names are :
- 'glo_vars'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 2 nodal variables; their names are :
- 'node_variable_a_very_long_name_0'
- 'nod_var1'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 element variables; their names are :
- 'ele_var0'
- 'ele_var1'
- 'ele_var2'
-
-after ex_get_elem_var_tab, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 nodeset variables; their names are :
- 'ns_var0'
- 'ns_var1'
- 'ns_var2'
-
-after ex_get_nset_var_tab, error = 0
-This is the nodeset variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 sideset variables; their names are :
- 'ss_var0'
- 'ss_var1'
- 'ss_var2'
-
-after ex_get_sset_var_tab, error = 0
-This is the sideset variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_inquire, error = 0
-There are 10 time steps in the database.
-
-after ex_get_time, error = 0
-time value at time step 3 = 0.030
-
-after ex_get_all_times, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after ex_get_glob_vars, error = 0
-global variable values at time step 3
-0.060
-
-after ex_get_glob_var_time, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after ex_get_nodal_var, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-1.810
-1.840
-1.870
-1.900
-1.930
-1.960
-1.990
-
-after ex_get_nodal_var_time, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
- after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 10 at time step 3
-4.030
-4.060
-4.090
-4.120
-4.150
-4.180
-4.210
-
-after ex_get_elem_var_time, error = 0
-element variable 2 values for element 2 through time:
-5.020
-5.040
-5.060
-5.080
-5.100
-5.120
-5.140
-5.160
-5.180
-5.200
-
- after ex_get_side_set_ids, error = 0
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 30 at time step 3
-7.030
-7.060
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 31 at time step 3
-8.030
-8.060
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 32 at time step 3
-9.030
-9.060
-9.090
-9.120
-9.150
-9.180
-9.210
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 33 at time step 3
-10.030
-10.060
-10.090
-10.120
-10.150
-10.180
-10.210
-10.240
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 34 at time step 3
-11.030
-11.060
-11.090
-11.120
-11.150
-11.180
-11.210
-11.240
-11.270
-11.300
-
- after ex_get_node_set_ids, error = 0
-
-after ex_get_nset_var, error = 0
-nodeset variable 2 values of nodeset 20 at time step 3
-9.030
-9.060
-9.090
-9.120
-9.150
-
-after ex_get_nset_var, error = 0
-nodeset variable 2 values of nodeset 21 at time step 3
-10.030
-10.060
-10.090
-
-after ex_close, error = 0
diff --git a/cbind/test/testrd.c b/cbind/test/testrd.c
deleted file mode 100644
index 70be670..0000000
--- a/cbind/test/testrd.c
+++ /dev/null
@@ -1,1203 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testrd - read exodus file test.exo created by testwt
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "netcdf.h"
-#include "exodusII.h"
-/* #include "drmd.h" */
-
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk, num_node_sets;
- int num_side_sets, error;
- int i, j, k, node_ctr;
- int *elem_map, *connect, *node_list, *node_ctr_list, *elem_list, *side_list;
- int *ids;
- int *num_nodes_per_set = NULL;
- int *num_elem_per_set = NULL;
- int *num_df_per_set = NULL;
- int *node_ind = NULL;
- int *elem_ind = NULL;
- int *df_ind = NULL;
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int num_nset_vars, num_sset_vars;
- int *truth_tab;
- int num_time_steps;
- int *num_elem_in_block = NULL;
- int *num_nodes_per_elem = NULL;
- int *num_attr = NULL;
- int num_nodes_in_set, num_elem_in_set;
- int num_sides_in_set, num_df_in_set;
- int list_len, elem_list_len, node_list_len, df_list_len;
- int node_num, time_step, var_index, beg_time, end_time, elem_num;
- int CPU_word_size,IO_word_size;
- int num_props, prop_value, *prop_values;
- int idum;
-
- float time_value, *time_values, *var_values;
- float *x, *y, *z;
- float *attrib, *dist_fact;
- float version, fdum;
-
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *attrib_names[10];
- char name[MAX_STR_LENGTH+1];
- char title[MAX_LINE_LENGTH+1], elem_type[MAX_STR_LENGTH+1];
- char title_chk[MAX_LINE_LENGTH+1];
- char *cdum = 0;
- char *prop_names[3];
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use what is stored in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
- /* open EXODUS II files */
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- /* printf (" CPU word size %1d\n",CPU_word_size); */
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
- ex_inquire(exoid,EX_INQ_LIB_VERS, &idum, &version, cdum);
- printf ("EXODUSII Library API; version %4.2f (%d)\n", version, idum);
-
- /* ncopts = NC_VERBOSE; */
-
- /* read database parameters */
-
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- printf ("after ex_get_init, error = %3d\n", error);
-
- printf ("database parameters:\n");
- printf ("title = '%s'\n",title);
- printf ("num_dim = %3d\n",num_dim);
- printf ("num_nodes = %3d\n",num_nodes);
- printf ("num_elem = %3d\n",num_elem);
- printf ("num_elem_blk = %3d\n",num_elem_blk);
- printf ("num_node_sets = %3d\n",num_node_sets);
- printf ("num_side_sets = %3d\n",num_side_sets);
-
- /* Check that ex_inquire gives same title */
- error = ex_inquire (exoid, EX_INQ_TITLE, &idum, &fdum, title_chk);
- printf (" after ex_inquire, error = %d\n", error);
- if (strcmp(title, title_chk) != 0) {
- printf ("error in ex_inquire for EX_INQ_TITLE\n");
- }
-
- /* read nodal coordinates values and names from database */
-
- x = (float *) calloc(num_nodes, sizeof(float));
- if (num_dim >= 2)
- y = (float *) calloc(num_nodes, sizeof(float));
- else
- y = 0;
-
- if (num_dim >= 3)
- z = (float *) calloc(num_nodes, sizeof(float));
- else
- z = 0;
-
- error = ex_get_coord (exoid, x, y, z);
- printf ("\nafter ex_get_coord, error = %3d\n", error);
-
- printf ("x coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", x[i]);
- }
-
- if (num_dim >= 2) {
- printf ("y coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", y[i]);
- }
- }
- if (num_dim >= 3)
- {
- printf ("z coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", z[i]);
- }
- }
-
- /*
- error = ex_get_1_coord (exoid, 2, x, y, z);
- printf ("\nafter ex_get_1_coord, error = %3d\n", error);
-
- printf ("x coord of node 2 = \n");
- printf ("%f \n", x[0]);
-
- printf ("y coord of node 2 = \n");
- printf ("%f \n", y[0]);
- */
- free (x);
- if (num_dim >= 2)
- free (y);
- if (num_dim >= 3)
- free (z);
-
-
- for (i=0; i<num_dim; i++)
- {
- coord_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_coord_names (exoid, coord_names);
- printf ("\nafter ex_get_coord_names, error = %3d\n", error);
- printf ("x coord name = '%s'\n", coord_names[0]);
- if (num_dim >1)
- printf ("y coord name = '%s'\n", coord_names[1]);
- if (num_dim >2)
- printf ("z coord name = '%s'\n", coord_names[2]);
-
- for (i=0; i<num_dim; i++)
- free(coord_names[i]);
-
- {
- int num_attrs = 0;
- error = ex_get_attr_param(exoid, EX_NODAL, 0, &num_attrs);
- printf (" after ex_get_attr_param, error = %d\n", error);
- printf ("num nodal attributes = %d\n", num_attrs);
- if (num_attrs > 0) {
- for (j=0; j<num_attrs; j++) {
- attrib_names[j] = (char *)calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- error = ex_get_attr_names (exoid, EX_NODAL, 0, attrib_names);
- printf (" after ex_get_attr_names, error = %d\n", error);
-
- if (error == 0) {
- attrib = (float *) calloc(num_nodes,sizeof(float));
- for (j=0; j<num_attrs; j++) {
- printf ("nodal attribute %d = '%s'\n", j, attrib_names[j]);
- error = ex_get_one_attr(exoid, EX_NODAL, 0, j+1, attrib);
- printf (" after ex_get_one_attr, error = %d\n", error);
- for (i=0; i < num_nodes; i++) {
- printf ("%5.1f\n", attrib[i]);
- }
- free(attrib_names[j]);
- }
- free(attrib);
- }
- }
- }
-
- /* read element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- error = ex_get_map (exoid, elem_map);
- printf ("\nafter ex_get_map, error = %3d\n", error);
-
- for (i=0; i<num_elem; i++)
- {
- printf ("elem_map(%d) = %d \n", i, elem_map[i]);
- }
-
- free (elem_map);
-
- /* read element block parameters */
-
- if (num_elem_blk > 0) {
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- num_elem_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_nodes_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_attr = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++) {
- block_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- ex_get_name(exoid, EX_ELEM_BLOCK, ids[i], name);
- if (strcmp(name, block_names[i]) != 0) {
- printf ("error in ex_get_name for block id %d\n", ids[i]);
- }
- error = ex_get_elem_block (exoid, ids[i], elem_type,
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]), &(num_attr[i]));
- printf ("\nafter ex_get_elem_block, error = %d\n", error);
-
- printf ("element block id = %2d\n",ids[i]);
- printf ("element type = '%s'\n", elem_type);
- printf ("num_elem_in_block = %2d\n",num_elem_in_block[i]);
- printf ("num_nodes_per_elem = %2d\n",num_nodes_per_elem[i]);
- printf ("num_attr = %2d\n",num_attr[i]);
- printf ("name = '%s'\n",block_names[i]);
- free(block_names[i]);
- }
-
- /* read element block properties */
- error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each element block\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_ELEM_BLOCK,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=1; i<num_props; i++) /* Prop 1 is id; skip that here */
- {
- for (j=0; j<num_elem_blk; j++)
- {
- error = ex_get_prop(exoid, EX_ELEM_BLOCK, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("element block %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- }
-
- /* read element connectivity */
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- connect = (int *) calloc((num_nodes_per_elem[i] * num_elem_in_block[i]),
- sizeof(int));
-
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
-
- printf ("connect array for elem block %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%3d\n", connect[j]);
- }
- /*
- error = ex_get_1_elem_conn (exoid, 1, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- printf ("node list for first element of element block %d \n ", ids[i]);
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%d \n", connect[j]);
- }
- */
- free (connect);
- }
- }
-
- /* read element block attributes */
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- for (j=0; j<num_attr[i]; j++)
- attrib_names[j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
-
- attrib = (float *) calloc(num_attr[i]*num_elem_in_block[i],sizeof(float));
- error = ex_get_elem_attr (exoid, ids[i], attrib);
- printf ("\n after ex_get_elem_attr, error = %d\n", error);
-
- if (error == 0) {
- error = ex_get_elem_attr_names (exoid, ids[i], attrib_names);
- printf (" after ex_get_elem_attr_names, error = %d\n", error);
-
- if (error == 0) {
- printf ("element block %d attribute '%s' = %6.4f\n", ids[i], attrib_names[0], *attrib);
- }
- }
- free (attrib);
- for (j=0; j<num_attr[i]; j++)
- free (attrib_names[j]);
- }
- }
-
- if (num_elem_blk > 0) {
- free (ids);
- free (num_nodes_per_elem);
- free (num_attr);
- }
-
- /* read individual node sets */
- if (num_node_sets > 0) {
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\nafter ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++) {
- nset_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_NODE_SET, nset_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- ex_get_name(exoid, EX_NODE_SET, ids[i], name);
- if (strcmp(name, nset_names[i]) != 0) {
- printf ("error in ex_get_name for nodeset id %d\n", ids[i]);
- }
-
- error = ex_get_node_set_param (exoid, ids[i],
- &num_nodes_in_set, &num_df_in_set);
- printf ("\nafter ex_get_node_set_param, error = %3d\n", error);
-
- printf ("\nnode set %2d parameters: \n", ids[i]);
- printf ("num_nodes = %2d\n", num_nodes_in_set);
- printf ("name = '%s'\n", nset_names[i]);
- free(nset_names[i]);
- node_list = (int *) calloc(num_nodes_in_set, sizeof(int));
- dist_fact = (float *) calloc(num_nodes_in_set, sizeof(float));
-
- error = ex_get_node_set (exoid, ids[i], node_list);
- printf ("\nafter ex_get_node_set, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_node_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_node_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("\nnode list for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%3d\n", node_list[j]);
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%5.2f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for node set %2d\n", ids[i]);
-
- free (node_list);
- free (dist_fact);
-
- {
- int num_attrs = 0;
- error = ex_get_attr_param(exoid, EX_NODE_SET, ids[i], &num_attrs);
- printf (" after ex_get_attr_param, error = %d\n", error);
- printf ("num nodeset attributes for nodeset %d = %d\n", ids[i], num_attrs);
- if (num_attrs > 0) {
- for (j=0; j<num_attrs; j++) {
- attrib_names[j] = (char *)calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- error = ex_get_attr_names (exoid, EX_NODE_SET, ids[i], attrib_names);
- printf (" after ex_get_attr_names, error = %d\n", error);
-
- if (error == 0) {
- attrib = (float *) calloc(num_nodes_in_set,sizeof(float));
- for (j=0; j<num_attrs; j++) {
- printf ("nodeset attribute %d = '%s'\n", j, attrib_names[j]);
- error = ex_get_one_attr(exoid, EX_NODE_SET, ids[i], j+1, attrib);
- printf (" after ex_get_one_attr, error = %d\n", error);
- for (k=0; k < num_nodes_in_set; k++) {
- printf ("%5.1f\n", attrib[k]);
- }
- free(attrib_names[j]);
- }
- free(attrib);
- }
- }
- }
- }
- free(ids);
-
- /* read node set properties */
- error = ex_inquire (exoid, EX_INQ_NS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each node set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- prop_values = (int *) calloc (num_node_sets, sizeof(int));
-
- error = ex_get_prop_names(exoid,EX_NODE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- error = ex_get_prop_array(exoid, EX_NODE_SET, prop_names[i],
- prop_values);
- if (error == 0)
- for (j=0; j<num_node_sets; j++)
- printf ("node set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_values[j]);
- else
- printf ("after ex_get_prop_array, error = %d\n", error);
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free(prop_values);
-
- /* read concatenated node sets; this produces the same information as
- * the above code which reads individual node sets
- */
-
- error = ex_inquire (exoid, EX_INQ_NODE_SETS, &num_node_sets, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n",error);
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
- num_nodes_per_set = (int *) calloc(num_node_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_node_sets, sizeof(int));
- node_ind = (int *) calloc(num_node_sets, sizeof(int));
- df_ind = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_NODE_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_NODE_LEN = %d, error = %3d\n",
- list_len, error);
- node_list = (int *) calloc(list_len, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_DF_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_DF_LEN = %d, error = %3d\n",
- list_len, error);
- dist_fact = (float *) calloc(list_len, sizeof(float));
-
- error = ex_get_concat_node_sets (exoid,ids,num_nodes_per_set,num_df_per_set,
- node_ind, df_ind, node_list, dist_fact);
- printf ("\nafter ex_get_concat_node_sets, error = %3d\n", error);
-
- printf ("\nconcatenated node set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_nodes_per_set = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", num_nodes_per_set[i]);
-
- printf ("node_ind = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", node_ind[i]);
-
- printf ("node_list = \n");
- for (i=0; i<list_len; i++) printf ("%3d\n", node_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (df_ind);
- free (node_ind);
- free (num_df_per_set);
- free (node_list);
- free (dist_fact);
- }
-
- /* read individual side sets */
-
- if (num_side_sets > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\nafter ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++) {
- sset_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_SIDE_SET, sset_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- ex_get_name(exoid, EX_SIDE_SET, ids[i], name);
- if (strcmp(name, sset_names[i]) != 0) {
- printf ("error in ex_get_name for sideset id %d\n", ids[i]);
- }
-
- error = ex_get_side_set_param (exoid, ids[i], &num_sides_in_set,
- &num_df_in_set);
- printf ("\nafter ex_get_side_set_param, error = %3d\n", error);
-
- printf ("side set %2d parameters:\n",ids[i]);
- printf ("name = '%s'\n", sset_names[i]);
- printf ("num_sides = %3d\n",num_sides_in_set);
- printf ("num_dist_factors = %3d\n", num_df_in_set);
- free(sset_names[i]);
-
-
- /* Note: The # of elements is same as # of sides! */
- num_elem_in_set = num_sides_in_set;
- elem_list = (int *) calloc(num_elem_in_set, sizeof(int));
- side_list = (int *) calloc(num_sides_in_set, sizeof(int));
- node_ctr_list = (int *) calloc(num_elem_in_set, sizeof(int));
- node_list = (int *) calloc(num_elem_in_set*21, sizeof(int));
- dist_fact = (float *) calloc(num_df_in_set, sizeof(float));
-
- error = ex_get_side_set (exoid, ids[i], elem_list, side_list);
- printf ("\nafter ex_get_side_set, error = %3d\n", error);
-
- error = ex_get_side_set_node_list (exoid, ids[i], node_ctr_list,
- node_list);
- printf ("\nafter ex_get_side_set_node_list, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_side_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_side_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("element list for side set %2d\n", ids[i]);
- for (j=0; j<num_elem_in_set; j++)
- {
- printf ("%3d\n", elem_list[j]);
- }
-
- printf ("side list for side set %2d\n", ids[i]);
- for (j=0; j<num_sides_in_set; j++)
- {
- printf ("%3d\n", side_list[j]);
- }
-
- node_ctr = 0;
- printf ("node list for side set %2d\n", ids[i]);
- for (k=0; k<num_elem_in_set; k++)
- {
- for (j=0; j<node_ctr_list[k]; j++)
- {
- printf ("%3d\n", node_list[node_ctr+j]);
- }
- node_ctr += node_ctr_list[k];
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for side set %2d\n", ids[i]);
-
- for (j=0; j<num_df_in_set; j++)
- {
- printf ("%5.3f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for side set %2d\n", ids[i]);
-
- free (elem_list);
- free (side_list);
- free (node_ctr_list);
- free (node_list);
- free (dist_fact);
-
- }
-
- /* read side set properties */
- error = ex_inquire (exoid, EX_INQ_SS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each side set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_SIDE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- error = ex_get_prop(exoid, EX_SIDE_SET, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("side set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free (ids);
-
- error = ex_inquire (exoid, EX_INQ_SIDE_SETS, &num_side_sets, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SIDE_SETS = %d, error = %d\n",
- num_side_sets, error);
-
- if (num_side_sets > 0)
- {
- error = ex_inquire(exoid, EX_INQ_SS_ELEM_LEN, &elem_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_ELEM_LEN = %d, error = %d\n",
- elem_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_NODE_LEN, &node_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_NODE_LEN = %d, error = %d\n",
- node_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_DF_LEN, &df_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_DF_LEN = %d, error = %d\n",
- df_list_len, error);
- }
-
- /* read concatenated side sets; this produces the same information as
- * the above code which reads individual side sets
- */
-
- /* concatenated side set read */
-
- if (num_side_sets > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
- num_elem_per_set = (int *) calloc(num_side_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_side_sets, sizeof(int));
- elem_ind = (int *) calloc(num_side_sets, sizeof(int));
- df_ind = (int *) calloc(num_side_sets, sizeof(int));
- elem_list = (int *) calloc(elem_list_len, sizeof(int));
- side_list = (int *) calloc(elem_list_len, sizeof(int));
- dist_fact = (float *) calloc(df_list_len, sizeof(float));
-
- error = ex_get_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("\nafter ex_get_concat_side_sets, error = %3d\n", error);
-
- printf ("concatenated side set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_elem_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_elem_per_set[i]);
-
- printf ("num_dist_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_df_per_set[i]);
-
- printf ("elem_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", elem_ind[i]);
-
- printf ("dist_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", df_ind[i]);
-
- printf ("elem_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", elem_list[i]);
-
- printf ("side_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", side_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<df_list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_df_per_set);
- free (df_ind);
- free (elem_ind);
- free (elem_list);
- free (side_list);
- free (dist_fact);
- }
- }
- /* end of concatenated side set read */
-
- /* read QA records */
-
- ex_inquire (exoid, EX_INQ_QA, &num_qa_rec, &fdum, cdum);
-
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- qa_record[i][j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- }
-
- error = ex_get_qa (exoid, qa_record);
- printf ("\nafter ex_get_qa, error = %3d\n", error);
-
- printf ("QA records = \n");
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- printf (" '%s'\n", qa_record[i][j]);
- free(qa_record[i][j]);
- }
- }
-
- /* read information records */
-
- error = ex_inquire (exoid, EX_INQ_INFO, &num_info, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_info (exoid, info);
- printf ("\nafter ex_get_info, error = %3d\n", error);
-
- printf ("info records = \n");
- for (i=0; i<num_info; i++)
- {
- printf (" '%s'\n", info[i]);
- free(info[i]);
- }
-
- /* read global variables parameters and names */
-
- error = ex_get_var_param (exoid, "g", &num_glo_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_glo_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d global variables; their names are :\n",
- num_glo_vars);
- for (i=0; i<num_glo_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read nodal variables parameters and names */
- num_nod_vars = 0;
- if (num_nodes > 0) {
- error = ex_get_var_param (exoid, "n", &num_nod_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_nod_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodal variables; their names are :\n", num_nod_vars);
- for (i=0; i<num_nod_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
- }
-
- /* read element variables parameters and names */
-
- num_ele_vars = 0;
- if (num_elem > 0) {
- error = ex_get_var_param (exoid, "e", &num_ele_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_ele_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d element variables; their names are :\n",
- num_ele_vars);
- for (i=0; i<num_ele_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read element variable truth table */
-
- if (num_ele_vars > 0) {
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- error = ex_get_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("\nafter ex_get_elem_var_tab, error = %3d\n", error);
-
- printf ("This is the element variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_elem_blk*num_ele_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
-
- /* read nodeset variables parameters and names */
-
- num_nset_vars = 0;
- if (num_node_sets > 0) {
- error = ex_get_var_param (exoid, "m", &num_nset_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- if (num_nset_vars > 0) {
- for (i=0; i<num_nset_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "m", num_nset_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodeset variables; their names are :\n",
- num_nset_vars);
- for (i=0; i<num_nset_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read nodeset variable truth table */
-
- if (num_nset_vars > 0) {
- truth_tab = (int *) calloc ((num_node_sets*num_nset_vars), sizeof(int));
-
- error = ex_get_nset_var_tab (exoid, num_node_sets, num_nset_vars, truth_tab);
- printf ("\nafter ex_get_nset_var_tab, error = %3d\n", error);
-
- printf ("This is the nodeset variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_node_sets*num_nset_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
- }
-
- /* read sideset variables parameters and names */
-
- num_sset_vars = 0;
- if (num_side_sets > 0) {
- error = ex_get_var_param (exoid, "s", &num_sset_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- if (num_sset_vars > 0) {
- for (i=0; i<num_sset_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "s", num_sset_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d sideset variables; their names are :\n",
- num_sset_vars);
- for (i=0; i<num_sset_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read sideset variable truth table */
-
- if (num_sset_vars > 0) {
- truth_tab = (int *) calloc ((num_side_sets*num_sset_vars), sizeof(int));
-
- error = ex_get_sset_var_tab (exoid, num_side_sets, num_sset_vars, truth_tab);
- printf ("\nafter ex_get_sset_var_tab, error = %3d\n", error);
-
- printf ("This is the sideset variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_side_sets*num_sset_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
- }
-
- /* determine how many time steps are stored */
-
- error = ex_inquire (exoid, EX_INQ_TIME, &num_time_steps, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
- printf ("There are %2d time steps in the database.\n", num_time_steps);
-
- /* read time value at one time step */
-
- time_step = 3;
- error = ex_get_time (exoid, time_step, &time_value);
- printf ("\nafter ex_get_time, error = %3d\n", error);
-
- printf ("time value at time step %2d = %5.3f\n", time_step, time_value);
-
- /* read time values at all time steps */
-
- time_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_all_times (exoid, time_values);
- printf ("\nafter ex_get_all_times, error = %3d\n", error);
-
- printf ("time values at all time steps are:\n");
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", time_values[i]);
-
- free (time_values);
-
- /* read all global variables at one time step */
-
- var_values = (float *) calloc (num_glo_vars, sizeof(float));
-
- error = ex_get_glob_vars (exoid, time_step, num_glo_vars, var_values);
- printf ("\nafter ex_get_glob_vars, error = %3d\n", error);
-
- printf ("global variable values at time step %2d\n", time_step);
- for (i=0; i<num_glo_vars; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a single global variable through time */
-
- var_index = 1;
- beg_time = 1;
- end_time = -1;
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_glob_var_time (exoid, var_index, beg_time, end_time,
- var_values);
- printf ("\nafter ex_get_glob_var_time, error = %3d\n", error);
-
- printf ("global variable %2d values through time:\n", var_index);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a nodal variable at one time step */
-
- if (num_nodes > 0) {
- var_values = (float *) calloc (num_nodes, sizeof(float));
-
- error = ex_get_nodal_var (exoid, time_step, var_index, num_nodes,
- var_values);
- printf ("\nafter ex_get_nodal_var, error = %3d\n", error);
-
- printf ("nodal variable %2d values at time step %2d\n", var_index,
- time_step);
- for (i=0; i<num_nodes; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a nodal variable through time */
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- node_num = 1;
- error = ex_get_nodal_var_time (exoid, var_index, node_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_nodal_var_time, error = %3d\n", error);
-
- printf ("nodal variable %2d values for node %2d through time:\n", var_index,
- node_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
- }
- /* read an element variable at one time step */
-
- if (num_elem_blk > 0) {
- ids = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\n after ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- var_values = (float *) calloc (num_elem_in_block[i], sizeof(float));
-
- error = ex_get_elem_var (exoid, time_step, var_index, ids[i],
- num_elem_in_block[i], var_values);
- printf ("\nafter ex_get_elem_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("element variable %2d values of element block %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_in_block[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- }
- free (num_elem_in_block);
- free(ids);
- }
- /* read an element variable through time */
-
- if (num_ele_vars > 0) {
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- var_index = 2;
- elem_num = 2;
- error = ex_get_elem_var_time (exoid, var_index, elem_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_elem_var_time, error = %3d\n", error);
-
- printf ("element variable %2d values for element %2d through time:\n",
- var_index, elem_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
- }
-
- /* read a sideset variable at one time step */
-
- if (num_sset_vars > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\n after ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- var_values = (float *) calloc (num_elem_per_set[i], sizeof(float));
-
- error = ex_get_sset_var (exoid, time_step, var_index, ids[i],
- num_elem_per_set[i], var_values);
- printf ("\nafter ex_get_sset_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("sideset variable %2d values of sideset %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_per_set[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free (num_elem_per_set);
- free(ids);
- }
-
- /* read a nodeset variable at one time step */
-
- if (num_nset_vars > 0) {
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\n after ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- var_values = (float *) calloc (num_nodes_per_set[i], sizeof(float));
-
- error = ex_get_nset_var (exoid, time_step, var_index, ids[i],
- num_nodes_per_set[i], var_values);
- printf ("\nafter ex_get_nset_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("nodeset variable %2d values of nodeset %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_nodes_per_set[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free(ids);
- }
- if (num_node_sets > 0)
- free (num_nodes_per_set);
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testrd.dmp b/cbind/test/testrd.dmp
deleted file mode 100644
index 5f3b0b4..0000000
--- a/cbind/test/testrd.dmp
+++ /dev/null
@@ -1,1137 +0,0 @@
-
-after ex_open
- I/O word size 4
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 3
-num_nodes = 33
-num_elem = 7
-num_elem_blk = 7
-num_node_sets = 2
-num_side_sets = 5
- after ex_inquire, error = 0
-
-after ex_get_coord, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
- 2.7
- 3.3
- 1.7
- 2.3
- 0.0
- 0.0
- 10.0
-
-after ex_get_coord_names, error = 0
-x coord name = 'xcoor'
-y coord name = 'ycoor'
-z coord name = 'zcoor'
- after ex_get_attr_param, error = 0
-num nodal attributes = 2
- after ex_get_attr_names, error = 0
-nodal attribute 0 = 'Node_attr_1'
- after ex_get_one_attr, error = 0
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-nodal attribute 1 = 'Node_attr_2'
- after ex_get_one_attr, error = 0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-
-after ex_get_map, error = 0
-elem_map(0) = 1
-elem_map(1) = 2
-elem_map(2) = 3
-elem_map(3) = 4
-elem_map(4) = 5
-elem_map(5) = 6
-elem_map(6) = 7
-
-after ex_get_elem_blk_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_elem_block, error = 0
-element block id = 10
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-name = 'block_1'
-
-after ex_get_elem_block, error = 0
-element block id = 11
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-name = 'block_2'
-
-after ex_get_elem_block, error = 0
-element block id = 12
-element type = 'hex'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-name = 'block_3'
-
-after ex_get_elem_block, error = 0
-element block id = 13
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-name = 'block_4'
-
-after ex_get_elem_block, error = 0
-element block id = 14
-element type = 'wedge'
-num_elem_in_block = 1
-num_nodes_per_elem = 6
-num_attr = 1
-name = 'block_5'
-
-after ex_get_elem_block, error = 0
-element block id = 15
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-name = 'block_6'
-
-after ex_get_elem_block, error = 0
-element block id = 16
-element type = 'tri'
-num_elem_in_block = 1
-num_nodes_per_elem = 3
-num_attr = 1
-name = 'block_7'
-
-after ex_inquire, error = 0
-
-There are 3 properties for each element block
-after ex_get_prop_names, error = 0
-element block 1, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 10
-element block 2, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 20
-element block 3, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 30
-element block 4, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 40
-element block 5, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 50
-element block 6, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 60
-element block 7, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 70
-element block 1, property( 3): 'DENSITY'= 0
-element block 2, property( 3): 'DENSITY'= 0
-element block 3, property( 3): 'DENSITY'= 0
-element block 4, property( 3): 'DENSITY'= 0
-element block 5, property( 3): 'DENSITY'= 0
-element block 6, property( 3): 'DENSITY'= 0
-element block 7, property( 3): 'DENSITY'= 0
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 11
- 5
- 6
- 7
- 8
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 12
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 13
- 17
- 18
- 19
- 20
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 14
- 21
- 22
- 23
- 24
- 25
- 26
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 15
- 17
- 18
- 19
- 20
- 27
- 28
- 30
- 29
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 16
- 31
- 32
- 33
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 10 attribute 'THICKNESS' = 3.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 11 attribute 'THICKNESS' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 12 attribute 'THICKNESS' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 13 attribute 'THICKNESS' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 14 attribute 'THICKNESS' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 15 attribute 'THICKNESS' = 6.1416
-
- after ex_get_elem_attr, error = 0
- after ex_get_elem_attr_names, error = 0
-element block 16 attribute 'THICKNESS' = 6.1416
-
-after ex_get_node_set_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_node_set_param, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-name = 'nset_1'
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 20
- 10
- 11
- 12
- 13
- 14
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 20 = 1
- after ex_get_attr_names, error = 0
-nodeset attribute 0 = 'Nodeset_attribute'
- after ex_get_one_attr, error = 0
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
-
-after ex_get_node_set_param, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-name = 'nset_2'
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 21
- 20
- 21
- 22
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 21 = 0
-
-after ex_inquire, error = 0
-
-There are 3 properties for each node set
-after ex_get_prop_names, error = 0
-node set 1, property( 1): 'ID'= 20
-node set 2, property( 1): 'ID'= 21
-node set 1, property( 2): 'FACE'= 4
-node set 2, property( 2): 'FACE'= 5
-node set 1, property( 3): 'VELOCITY'= 1000
-node set 2, property( 3): 'VELOCITY'= 2000
-
-after ex_inquire, error = 0
-
-after ex_inquire: EX_INQ_NS_NODE_LEN = 8, error = 0
-
-after ex_inquire: EX_INQ_NS_DF_LEN = 8, error = 0
-
-after ex_get_concat_node_sets, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 0
- 5
-node_list =
- 10
- 11
- 12
- 13
- 14
- 20
- 21
- 22
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after ex_get_side_set_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_side_set_param, error = 0
-side set 30 parameters:
-name = 'sset_1'
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 30
- 2
- 2
-side list for side set 30
- 4
- 2
-node list for side set 30
- 8
- 5
- 6
- 7
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after ex_get_side_set_param, error = 0
-side set 31 parameters:
-name = 'sset_2'
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 31
- 1
- 2
-side list for side set 31
- 2
- 3
-node list for side set 31
- 2
- 3
- 7
- 8
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_side_set_param, error = 0
-side set 32 parameters:
-name = 'sset_3'
-num_sides = 7
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 32
- 3
- 3
- 3
- 3
- 3
- 3
- 3
-side list for side set 32
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-node list for side set 32
- 9
- 12
- 11
- 10
- 11
- 12
- 16
- 15
- 11
- 12
- 16
- 15
- 10
- 11
- 15
- 14
- 9
- 13
- 16
- 12
- 9
- 10
- 14
- 13
- 13
- 14
- 15
- 16
-no dist factors for side set 32
-
-after ex_get_side_set_param, error = 0
-side set 33 parameters:
-name = 'sset_4'
-num_sides = 8
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 33
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
-side list for side set 33
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
-node list for side set 33
- 17
- 18
- 20
- 18
- 19
- 20
- 17
- 20
- 19
- 17
- 19
- 18
- 17
- 18
- 20
- 27
- 18
- 19
- 20
- 28
- 17
- 20
- 19
- 29
- 17
- 19
- 18
- 30
-no dist factors for side set 33
-
-after ex_get_side_set_param, error = 0
-side set 34 parameters:
-name = 'sset_5'
-num_sides = 10
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 34
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side list for side set 34
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-node list for side set 34
- 21
- 22
- 25
- 24
- 22
- 23
- 26
- 25
- 21
- 24
- 26
- 23
- 21
- 23
- 22
- 24
- 25
- 26
- 31
- 32
- 33
- 33
- 32
- 31
- 31
- 32
- 32
- 33
- 33
- 31
-no dist factors for side set 34
-
-after ex_inquire, error = 0
-
-There are 2 properties for each side set
-after ex_get_prop_names, error = 0
-side set 1, property( 1): 'ID'= 30
-side set 2, property( 1): 'ID'= 31
-side set 3, property( 1): 'ID'= 32
-side set 4, property( 1): 'ID'= 33
-side set 5, property( 1): 'ID'= 34
-side set 1, property( 2): 'COLOR'= 100
-side set 2, property( 2): 'COLOR'= 101
-side set 3, property( 2): 'COLOR'= 0
-side set 4, property( 2): 'COLOR'= 0
-side set 5, property( 2): 'COLOR'= 0
-
-after ex_inquire: EX_INQ_SIDE_SETS = 5, error = 0
-
-after ex_inquire: EX_INQ_SS_ELEM_LEN = 29, error = 0
-
-after ex_inquire: EX_INQ_SS_NODE_LEN = 94, error = 0
-
-after ex_inquire: EX_INQ_SS_DF_LEN = 8, error = 0
-
-after ex_get_concat_side_sets, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
-num_elem_per_set =
- 2
- 2
- 7
- 8
- 10
-num_dist_per_set =
- 4
- 4
- 0
- 0
- 0
-elem_ind =
- 0
- 2
- 4
- 11
- 19
-dist_ind =
- 0
- 4
- 8
- 8
- 8
-elem_list =
- 2
- 2
- 1
- 2
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWT'
- 'testwt'
- '07/07/93'
- '15:41:33'
- ''
- ''
- ''
- ''
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- ''
- ''
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 1 global variables; their names are :
- 'glo_vars'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 2 nodal variables; their names are :
- 'node_variable_a_very_long_name_0'
- 'nod_var1'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 element variables; their names are :
- 'this_variable_name_is_short'
- 'this_variable_name_is_just_right'
- 'this_variable_name_is_tooooo_lon'
-
-after ex_get_elem_var_tab, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 nodeset variables; their names are :
- 'ns_var0'
- 'ns_var1'
- 'ns_var2'
-
-after ex_get_nset_var_tab, error = 0
-This is the nodeset variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 sideset variables; their names are :
- 'ss_var0'
- 'ss_var1'
- 'ss_var2'
-
-after ex_get_sset_var_tab, error = 0
-This is the sideset variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_inquire, error = 0
-There are 10 time steps in the database.
-
-after ex_get_time, error = 0
-time value at time step 3 = 0.030
-
-after ex_get_all_times, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after ex_get_glob_vars, error = 0
-global variable values at time step 3
-0.060
-
-after ex_get_glob_var_time, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after ex_get_nodal_var, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-1.810
-1.840
-1.870
-1.900
-1.930
-1.960
-1.990
-
-after ex_get_nodal_var_time, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
- after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 10 at time step 3
-4.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 11 at time step 3
-5.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 12 at time step 3
-6.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 13 at time step 3
-7.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 14 at time step 3
-8.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 15 at time step 3
-9.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 16 at time step 3
-10.030
-
-after ex_get_elem_var_time, error = 0
-element variable 2 values for element 2 through time:
-6.010
-6.020
-6.030
-6.040
-6.050
-6.060
-6.070
-6.080
-6.090
-6.100
-
- after ex_get_side_set_ids, error = 0
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 30 at time step 3
-7.030
-7.060
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 31 at time step 3
-8.030
-8.060
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 32 at time step 3
-9.030
-9.060
-9.090
-9.120
-9.150
-9.180
-9.210
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 33 at time step 3
-10.030
-10.060
-10.090
-10.120
-10.150
-10.180
-10.210
-10.240
-
-after ex_get_sset_var, error = 0
-sideset variable 2 values of sideset 34 at time step 3
-11.030
-11.060
-11.090
-11.120
-11.150
-11.180
-11.210
-11.240
-11.270
-11.300
-
- after ex_get_node_set_ids, error = 0
-
-after ex_get_nset_var, error = 0
-nodeset variable 2 values of nodeset 20 at time step 3
-9.030
-9.060
-9.090
-9.120
-9.150
-
-after ex_get_nset_var, error = 0
-nodeset variable 2 values of nodeset 21 at time step 3
-10.030
-10.060
-10.090
-
-after ex_close, error = 0
diff --git a/cbind/test/testrd1.c b/cbind/test/testrd1.c
deleted file mode 100644
index cdaeef0..0000000
--- a/cbind/test/testrd1.c
+++ /dev/null
@@ -1,1047 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testrd1 - read exodus file test.exo created by testwt1
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk, num_node_sets;
- int num_side_sets, num_node_maps, num_elem_maps, error;
- int i, j, k, node_ctr;
- int *elem_map, *connect, *node_list, *node_ctr_list, *elem_list, *side_list;
- int *ids, *node_map;
- int *num_nodes_per_set, *num_elem_per_set;
- int *num_df_per_set;
- int *node_ind, *elem_ind, *df_ind, num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int *truth_tab;
- int num_time_steps;
- int *num_elem_in_block, *num_nodes_per_elem, *num_attr;
- int num_nodes_in_set, num_elem_in_set;
- int num_sides_in_set, num_df_in_set;
- int list_len = 0;
- int elem_list_len = 0;
- int node_list_len = 0;
- int df_list_len = 0;
- int node_num, time_step, var_index, beg_time, end_time, elem_num;
- int CPU_word_size,IO_word_size;
- int num_props, prop_value, *prop_values;
- int idum;
-
- float time_value, *time_values, *var_values;
- float *x, *y, *z;
- float *attrib, *dist_fact;
- float version, fdum;
-
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[10];
- char title[MAX_LINE_LENGTH+1], elem_type[MAX_STR_LENGTH+1];
- char *cdum = 0;
- char *prop_names[3];
- char *map_names[3];
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use what is stored in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
- /* Test the NOCLOBBER option to ex_create. Should fail to create file */
- exoid = ex_create("test.exo",
- EX_NOCLOBBER,
- &CPU_word_size,
- &IO_word_size);
- printf ("\nafter ex_create (NO_CLOBBER), error = %3d\n", exoid);
-
- /* open EXODUS II files */
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
-/* printf (" CPU word size %1d\n",CPU_word_size); */
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
-
-/* ncopts = NC_VERBOSE; */
-/* ex_opts (EX_VERBOSE); */
-
-/* read database parameters */
-
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- printf ("after ex_get_init, error = %3d\n", error);
-
- printf ("database parameters:\n");
- printf ("title = '%s'\n",title);
- printf ("num_dim = %3d\n",num_dim);
- printf ("num_nodes = %3d\n",num_nodes);
- printf ("num_elem = %3d\n",num_elem);
- printf ("num_elem_blk = %3d\n",num_elem_blk);
- printf ("num_node_sets = %3d\n",num_node_sets);
- printf ("num_side_sets = %3d\n",num_side_sets);
-
-/* read nodal coordinates values and names from database */
-
- x = (float *) calloc(num_nodes, sizeof(float));
- y = (float *) calloc(num_nodes, sizeof(float));
- if (num_dim >= 3)
- z = (float *) calloc(num_nodes, sizeof(float));
- else
- z = 0;
-
- error = ex_get_coord (exoid, x, y, z);
- printf ("\nafter ex_get_coord, error = %3d\n", error);
-
- printf ("x coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", x[i]);
- }
-
- printf ("y coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", y[i]);
- }
-
- if (num_dim >= 3)
- {
- printf ("z coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", z[i]);
- }
- }
-
-/*
- error = ex_get_1_coord (exoid, 2, x, y, z);
- printf ("\nafter ex_get_1_coord, error = %3d\n", error);
-
- printf ("x coord of node 2 = \n");
- printf ("%f \n", x[0]);
-
- printf ("y coord of node 2 = \n");
- printf ("%f \n", y[0]);
-*/
- free (x);
- free (y);
- if (num_dim >= 3)
- free (z);
-
-
- for (i=0; i<num_dim; i++)
- {
- coord_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_coord_names (exoid, coord_names);
- printf ("\nafter ex_get_coord_names, error = %3d\n", error);
-
- printf ("x coord name = '%s'\n", coord_names[0]);
- printf ("y coord name = '%s'\n", coord_names[1]);
-
- for (i=0; i<num_dim; i++)
- free(coord_names[i]);
-
-/* read map parameters */
-
- error = ex_get_map_param (exoid, &num_node_maps, &num_elem_maps);
- printf ("\nafter ex_get_map_param, error = %3d\n", error);
-
-/* read element maps */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- ids = (int *) calloc(num_elem_maps, sizeof(int));
-
- error = ex_get_prop_array (exoid, EX_ELEM_MAP, "ID", ids);
- printf ("\nafter ex_get_prop_array, error = %3d\n", error);
-
- for (j=0; j<num_elem_maps; j++) {
- error = ex_get_elem_map (exoid, ids[j], elem_map);
- printf ("\nafter ex_get_elem_map, error = %3d\n", error);
-
- printf ("element map id = %2d\n",ids[j]);
- if (!error) {
- for (i=0; i<num_elem; i++) {
- int value;
- printf ("elem_map(%d) = %d \n", i, elem_map[i]);
- /* Read element map 1 element at a time... */
- error = ex_get_partial_elem_map(exoid, ids[j], i+1, 1, &value);
- if (error != 0 || value != elem_map[i])
- printf ("invalid value in ex_get_partial_elem_map, map %d, element %d\n", j, i);
- }
- }
- }
-
- free (elem_map);
-
-/* read element map properties */
-
- error = ex_inquire (exoid, EX_INQ_EM_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each element map\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_ELEM_MAP,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_elem_maps; j++)
- {
- error = ex_get_prop(exoid, EX_ELEM_MAP, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("element map %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
-
-
-/* read element map names */
-
- for (i=0; i<num_elem_maps; i++) {
- map_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid,EX_ELEM_MAP,map_names);
- printf ("after ex_get_names, error = %d\n", error);
-
- for (j=0; j<num_elem_maps; j++) {
- printf ("element map %2d, id = %d, name: '%s'\n",
- j+1, ids[j], map_names[j]);
- free(map_names[j]);
- }
- free(ids);
-
-/* read node maps */
-
- node_map = (int *) calloc(num_nodes, sizeof(int));
-
- ids = (int *) calloc(num_node_maps, sizeof(int));
-
- error = ex_get_prop_array (exoid, EX_NODE_MAP, "ID", ids);
- printf ("\nafter ex_get_prop_array, error = %3d\n", error);
-
- for (j=0; j<num_node_maps; j++) {
- error = ex_get_node_map (exoid, ids[j], node_map);
- printf ("\nafter ex_get_node_map, error = %3d\n", error);
-
- printf ("node map id = %2d\n",ids[j]);
- if (!error)
- for (i=0; i<num_nodes; i++)
- printf ("node_map(%d) = %d \n", i, node_map[i]);
-
- }
-
- free (node_map);
-
-/* read node map properties */
-
- error = ex_inquire (exoid, EX_INQ_NM_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each node map\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_NODE_MAP,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_node_maps; j++)
- {
- error = ex_get_prop(exoid, EX_NODE_MAP, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("node map %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
-
-/* read node map names */
-
- for (i=0; i<num_node_maps; i++) {
- map_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
-
- for (j=0; j<num_node_maps; j++) {
- error = ex_get_name(exoid,EX_NODE_MAP,ids[j], map_names[j]);
- printf ("after ex_get_name, error = %d\n", error);
- printf ("node map %2d, id = %d, name: '%s'\n",
- j+1, ids[j], map_names[j]);
- free(map_names[j]);
- }
- free(ids);
-
-/* read element block parameters */
-
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- num_elem_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_nodes_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_attr = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- error = ex_get_elem_block (exoid, ids[i], elem_type,
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]), &(num_attr[i]));
- printf ("\nafter ex_get_elem_block, error = %d\n", error);
-
- printf ("element block id = %2d\n",ids[i]);
- printf ("element type = '%s'\n", elem_type);
- printf ("num_elem_in_block = %2d\n",num_elem_in_block[i]);
- printf ("num_nodes_per_elem = %2d\n",num_nodes_per_elem[i]);
- printf ("num_attr = %2d\n",num_attr[i]);
- }
-
- /* read element block properties */
- error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each element block\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_ELEM_BLOCK,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- error = ex_get_prop(exoid, EX_ELEM_BLOCK, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("element block %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
-
-/* read element connectivity */
-
- for (i=0; i<num_elem_blk; i++)
- {
- connect = (int *) calloc((num_nodes_per_elem[i] * num_elem_in_block[i]),
- sizeof(int));
-
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
-
- printf ("connect array for elem block %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%3d\n", connect[j]);
- }
-/*
- error = ex_get_1_elem_conn (exoid, 1, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- printf ("node list for first element of element block %d \n ", ids[i]);
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%d \n", connect[j]);
- }
-*/
- free (connect);
-
- }
-
-/* read element block attributes */
-
- for (i=0; i<num_elem_blk; i++)
- {
- attrib = (float *) calloc(num_attr[i]*num_elem_in_block[i],sizeof(float));
- error = ex_get_elem_attr (exoid, ids[i], attrib);
- printf ("\nafter ex_get_elem_attr, error = %d\n", error);
-
- if (error == 0)
- printf ("element block %d attributes:\n", ids[i]);
- for (j=0; j<num_attr[i]*num_elem_in_block[i]; j++)
- printf ("%6.4f\n", attrib[j]);
- free (attrib);
- }
-
- free (ids);
- free (num_nodes_per_elem);
- free (num_attr);
-
-/* read individual node sets */
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\nafter ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- error = ex_get_node_set_param (exoid, ids[i],
- &num_nodes_in_set, &num_df_in_set);
- printf ("\nafter ex_get_node_set_param, error = %3d\n", error);
-
- printf ("\nnode set %2d parameters: \n", ids[i]);
- printf ("num_nodes = %2d\n", num_nodes_in_set);
-
- node_list = (int *) calloc(num_nodes_in_set, sizeof(int));
- dist_fact = (float *) calloc(num_nodes_in_set, sizeof(float));
-
- error = ex_get_node_set (exoid, ids[i], node_list);
- printf ("\nafter ex_get_node_set, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_node_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_node_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("\nnode list for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%3d\n", node_list[j]);
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%5.2f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for node set %2d\n", ids[i]);
-
- free (node_list);
- free (dist_fact);
- }
- free(ids);
-
- /* read node set properties */
- error = ex_inquire (exoid, EX_INQ_NS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each node set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- prop_values = (int *) calloc (num_node_sets, sizeof(int));
-
- error = ex_get_prop_names(exoid,EX_NODE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- error = ex_get_prop_array(exoid, EX_NODE_SET, prop_names[i],
- prop_values);
- if (error == 0)
- for (j=0; j<num_node_sets; j++)
- printf ("node set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_values[j]);
- else
- printf ("after ex_get_prop_array, error = %d\n", error);
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free(prop_values);
-
-
-/* read concatenated node sets; this produces the same information as
- * the above code which reads individual node sets
- */
-
- error = ex_inquire (exoid, EX_INQ_NODE_SETS, &num_node_sets, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n",error);
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
- num_nodes_per_set = (int *) calloc(num_node_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_node_sets, sizeof(int));
- node_ind = (int *) calloc(num_node_sets, sizeof(int));
- df_ind = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_NODE_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_NODE_LEN = %d, error = %3d\n",
- list_len, error);
- node_list = (int *) calloc(list_len, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_DF_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_DF_LEN = %d, error = %3d\n",
- list_len, error);
- dist_fact = (float *) calloc(list_len, sizeof(float));
-
- error = ex_get_concat_node_sets (exoid,ids,num_nodes_per_set,num_df_per_set,
- node_ind, df_ind, node_list, dist_fact);
- printf ("\nafter ex_get_concat_node_sets, error = %3d\n", error);
-
- printf ("\nconcatenated node set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_nodes_per_set = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", num_nodes_per_set[i]);
-
- printf ("node_ind = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", node_ind[i]);
-
- printf ("node_list = \n");
- for (i=0; i<list_len; i++) printf ("%3d\n", node_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_nodes_per_set);
- free (df_ind);
- free (node_ind);
- free (num_df_per_set);
- free (node_list);
- free (dist_fact);
-
-
-/* read individual side sets */
-
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\nafter ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- error = ex_get_side_set_param (exoid, ids[i], &num_sides_in_set,
- &num_df_in_set);
- printf ("\nafter ex_get_side_set_param, error = %3d\n", error);
-
- printf ("side set %2d parameters:\n",ids[i]);
- printf ("num_sides = %3d\n",num_sides_in_set);
- printf ("num_dist_factors = %3d\n", num_df_in_set);
-
-
- /* Note: The # of elements is same as # of sides! */
- num_elem_in_set = num_sides_in_set;
- elem_list = (int *) calloc(num_elem_in_set, sizeof(int));
- side_list = (int *) calloc(num_sides_in_set, sizeof(int));
- node_ctr_list = (int *) calloc(num_elem_in_set, sizeof(int));
- node_list = (int *) calloc(num_elem_in_set*21, sizeof(int));
- dist_fact = (float *) calloc(num_df_in_set, sizeof(float));
-
- error = ex_get_side_set (exoid, ids[i], elem_list, side_list);
- printf ("\nafter ex_get_side_set, error = %3d\n", error);
-
- error = ex_get_side_set_node_list (exoid, ids[i], node_ctr_list,
- node_list);
- printf ("\nafter ex_get_side_set_node_list, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_side_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_side_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("element list for side set %2d\n", ids[i]);
- for (j=0; j<num_elem_in_set; j++)
- {
- printf ("%3d\n", elem_list[j]);
- }
-
- printf ("side list for side set %2d\n", ids[i]);
- for (j=0; j<num_sides_in_set; j++)
- {
- printf ("%3d\n", side_list[j]);
- }
-
- node_ctr = 0;
- printf ("node list for side set %2d\n", ids[i]);
- for (k=0; k<num_elem_in_set; k++)
- {
- for (j=0; j<node_ctr_list[k]; j++)
- {
- printf ("%3d\n", node_list[node_ctr+j]);
- }
- node_ctr += node_ctr_list[k];
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for side set %2d\n", ids[i]);
-
- for (j=0; j<num_df_in_set; j++)
- {
- printf ("%5.3f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for side set %2d\n", ids[i]);
-
- free (elem_list);
- free (side_list);
- free (dist_fact);
- free (node_ctr_list);
- free (node_list);
-
- }
-
- /* read side set properties */
- error = ex_inquire (exoid, EX_INQ_SS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each side set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_SIDE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- error = ex_get_prop(exoid, EX_SIDE_SET, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("side set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free (ids);
-
- error = ex_inquire (exoid, EX_INQ_SIDE_SETS, &num_side_sets, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SIDE_SETS = %d, error = %d\n",
- num_side_sets, error);
-
- if (num_side_sets > 0)
- {
- error = ex_inquire(exoid, EX_INQ_SS_ELEM_LEN, &elem_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_ELEM_LEN = %d, error = %d\n",
- elem_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_NODE_LEN, &node_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_NODE_LEN = %d, error = %d\n",
- node_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_DF_LEN, &df_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_DF_LEN = %d, error = %d\n",
- df_list_len, error);
- }
-
-/* read concatenated side sets; this produces the same information as
- * the above code which reads individual side sets
- */
-
-/* concatenated side set read */
-
- ids = (int *) calloc(num_side_sets, sizeof(int));
- num_elem_per_set = (int *) calloc(num_side_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_side_sets, sizeof(int));
- elem_ind = (int *) calloc(num_side_sets, sizeof(int));
- df_ind = (int *) calloc(num_side_sets, sizeof(int));
- elem_list = (int *) calloc(elem_list_len, sizeof(int));
- side_list = (int *) calloc(elem_list_len, sizeof(int));
- dist_fact = (float *) calloc(df_list_len, sizeof(float));
-
- error = ex_get_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("\nafter ex_get_concat_side_sets, error = %3d\n", error);
-
- printf ("concatenated side set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_elem_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_elem_per_set[i]);
-
- printf ("num_dist_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_df_per_set[i]);
-
- printf ("elem_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", elem_ind[i]);
-
- printf ("dist_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", df_ind[i]);
-
- printf ("elem_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", elem_list[i]);
-
- printf ("side_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", side_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<df_list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_elem_per_set);
- free (num_df_per_set);
- free (df_ind);
- free (elem_ind);
- free (elem_list);
- free (side_list);
- free (dist_fact);
-
-/* end of concatenated side set read */
-
-/* read QA records */
-
- ex_inquire (exoid, EX_INQ_QA, &num_qa_rec, &fdum, cdum);
-
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- qa_record[i][j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- }
-
- error = ex_get_qa (exoid, qa_record);
- printf ("\nafter ex_get_qa, error = %3d\n", error);
-
- printf ("QA records = \n");
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- printf (" '%s'\n", qa_record[i][j]);
- free(qa_record[i][j]);
- }
- }
-
-
-/* read information records */
-
- error = ex_inquire (exoid, EX_INQ_INFO, &num_info, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_info (exoid, info);
- printf ("\nafter ex_get_info, error = %3d\n", error);
-
- printf ("info records = \n");
- for (i=0; i<num_info; i++)
- {
- printf (" '%s'\n", info[i]);
- free(info[i]);
- }
-
-/* read global variables parameters and names */
-
- error = ex_get_var_param (exoid, "g", &num_glo_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_glo_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_name(exoid, "g", 1, var_names[0]);
- printf ("\nafter ex_get_var_name, error = %3d\n", error);
-
- printf ("There are %2d global variables; their names are :\n", num_glo_vars);
- for (i=0; i<num_glo_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
-/* read nodal variables parameters and names */
-
- error = ex_get_var_param (exoid, "n", &num_nod_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_nod_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodal variables; their names are :\n", num_nod_vars);
- for (i=0; i<num_nod_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
-
-/* read element variables parameters and names */
-
- error = ex_get_var_param (exoid, "e", &num_ele_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_ele_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d element variables; their names are :\n",
- num_ele_vars);
- for (i=0; i<num_ele_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
-
-/* read element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- error = ex_get_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("\nafter ex_get_elem_var_tab, error = %3d\n", error);
-
- printf ("This is the element variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_elem_blk*num_ele_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
-
-/* determine how many time steps are stored */
-
- error = ex_inquire (exoid, EX_INQ_TIME, &num_time_steps, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
- printf ("There are %2d time steps in the database.\n", num_time_steps);
-
-/* read time value at one time step */
-
- time_step = 3;
- error = ex_get_time (exoid, time_step, &time_value);
- printf ("\nafter ex_get_time, error = %3d\n", error);
-
- printf ("time value at time step %2d = %5.3f\n", time_step, time_value);
-
-/* read time values at all time steps */
-
- time_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_all_times (exoid, time_values);
- printf ("\nafter ex_get_all_times, error = %3d\n", error);
-
- printf ("time values at all time steps are:\n");
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", time_values[i]);
-
- free (time_values);
-
-/* read all global variables at one time step */
-
- var_values = (float *) calloc (num_glo_vars, sizeof(float));
-
- error = ex_get_glob_vars (exoid, time_step, num_glo_vars, var_values);
- printf ("\nafter ex_get_glob_vars, error = %3d\n", error);
-
- printf ("global variable values at time step %2d\n", time_step);
- for (i=0; i<num_glo_vars; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read a single global variable through time */
-
- var_index = 1;
- beg_time = 1;
- end_time = -1;
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_glob_var_time (exoid, var_index, beg_time, end_time,
- var_values);
- printf ("\nafter ex_get_glob_var_time, error = %3d\n", error);
-
- printf ("global variable %2d values through time:\n", var_index);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read a nodal variable at one time step */
-
- var_values = (float *) calloc (num_nodes, sizeof(float));
-
- error = ex_get_nodal_var (exoid, time_step, var_index, num_nodes,
- var_values);
- printf ("\nafter ex_get_nodal_var, error = %3d\n", error);
-
- printf ("nodal variable %2d values at time step %2d\n", var_index,
- time_step);
- for (i=0; i<num_nodes; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read a nodal variable through time */
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- node_num = 1;
- error = ex_get_nodal_var_time (exoid, var_index, node_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_nodal_var_time, error = %3d\n", error);
-
- printf ("nodal variable %2d values for node %2d through time:\n", var_index,
- node_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read an element variable at one time step */
-
- ids = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\n after ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- var_values = (float *) calloc (num_elem_in_block[i], sizeof(float));
-
- error = ex_get_elem_var (exoid, time_step, var_index, ids[i],
- num_elem_in_block[i], var_values);
- printf ("\nafter ex_get_elem_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("element variable %2d values of element block %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_in_block[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free (num_elem_in_block);
- free(ids);
-
-/* read an element variable through time */
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- var_index = 2;
- elem_num = 2;
- error = ex_get_elem_var_time (exoid, var_index, elem_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_elem_var_time, error = %3d\n", error);
-
- printf ("element variable %2d values for element %2d through time:\n",
- var_index, elem_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testrd1.dmp b/cbind/test/testrd1.dmp
deleted file mode 100644
index cd74b16..0000000
--- a/cbind/test/testrd1.dmp
+++ /dev/null
@@ -1,902 +0,0 @@
-
-after ex_create (NO_CLOBBER), error = -1
-
-after ex_open
- I/O word size 4
-after ex_get_init, error = 0
-database parameters:
-title = 'This is testwt1'
-num_dim = 3
-num_nodes = 28
-num_elem = 8
-num_elem_blk = 7
-num_node_sets = 2
-num_side_sets = 5
-
-after ex_get_coord, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
-100.0
- 50.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
-100.0
- 50.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 0.0
- 20.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
-
-after ex_get_coord_names, error = 0
-x coord name = 'xcoor'
-y coord name = 'ycoor'
-
-after ex_get_map_param, error = 0
-
-after ex_get_prop_array, error = 0
-
-after ex_get_elem_map, error = 0
-element map id = 111
-elem_map(0) = 1
-elem_map(1) = 2
-elem_map(2) = 3
-elem_map(3) = 4
-elem_map(4) = 5
-elem_map(5) = 6
-elem_map(6) = 7
-elem_map(7) = 8
-
-after ex_get_elem_map, error = 0
-element map id = 222
-elem_map(0) = 2
-elem_map(1) = 4
-elem_map(2) = 6
-elem_map(3) = 8
-elem_map(4) = 10
-elem_map(5) = 12
-elem_map(6) = 14
-elem_map(7) = 16
-
-after ex_inquire, error = 0
-
-There are 3 properties for each element map
-after ex_get_prop_names, error = 0
-element map 1, property( 1): 'ID'= 111
-element map 2, property( 1): 'ID'= 222
-element map 1, property( 2): 'ORDER'= 1
-element map 2, property( 2): 'ORDER'= 0
-element map 1, property( 3): 'NUMBER'= 0
-element map 2, property( 3): 'NUMBER'= 1
-after ex_get_names, error = 0
-element map 1, id = 111, name: 'Element_Map_111'
-element map 2, id = 222, name: 'Element_Map_222'
-
-after ex_get_prop_array, error = 0
-
-after ex_get_node_map, error = 0
-node map id = 333
-node_map(0) = 3
-node_map(1) = 6
-node_map(2) = 9
-node_map(3) = 12
-node_map(4) = 15
-node_map(5) = 18
-node_map(6) = 21
-node_map(7) = 24
-node_map(8) = 27
-node_map(9) = 30
-node_map(10) = 33
-node_map(11) = 36
-node_map(12) = 39
-node_map(13) = 42
-node_map(14) = 45
-node_map(15) = 48
-node_map(16) = 51
-node_map(17) = 54
-node_map(18) = 57
-node_map(19) = 60
-node_map(20) = 63
-node_map(21) = 66
-node_map(22) = 69
-node_map(23) = 72
-node_map(24) = 75
-node_map(25) = 78
-node_map(26) = 81
-node_map(27) = 84
-
-after ex_inquire, error = 0
-
-There are 2 properties for each node map
-after ex_get_prop_names, error = 0
-node map 1, property( 1): 'ID'= 333
-node map 1, property( 2): 'NUMBER'= 1
-after ex_get_name, error = 0
-node map 1, id = 333, name: 'Node_Map_111'
-
-after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_block, error = 0
-element block id = 10
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 3
-
-after ex_get_elem_block, error = 0
-element block id = 11
-element type = 'quad'
-num_elem_in_block = 2
-num_nodes_per_elem = 4
-num_attr = 3
-
-after ex_get_elem_block, error = 0
-element block id = 12
-element type = 'hex'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 3
-
-after ex_get_elem_block, error = 0
-element block id = 13
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 3
-
-after ex_get_elem_block, error = 0
-element block id = 14
-element type = 'circle'
-num_elem_in_block = 1
-num_nodes_per_elem = 1
-num_attr = 3
-
-after ex_get_elem_block, error = 0
-element block id = 15
-element type = 'sphere'
-num_elem_in_block = 1
-num_nodes_per_elem = 1
-num_attr = 3
-
-after ex_get_elem_block, error = 0
-element block id = 16
-element type = 'wedge'
-num_elem_in_block = 1
-num_nodes_per_elem = 6
-num_attr = 3
-
-after ex_inquire, error = 0
-
-There are 3 properties for each element block
-after ex_get_prop_names, error = 0
-element block 1, property( 1): 'ID'= 10
-element block 2, property( 1): 'ID'= 11
-element block 3, property( 1): 'ID'= 12
-element block 4, property( 1): 'ID'= 13
-element block 5, property( 1): 'ID'= 14
-element block 6, property( 1): 'ID'= 15
-element block 7, property( 1): 'ID'= 16
-element block 1, property( 2): 'MATL'= 10
-element block 2, property( 2): 'MATL'= 20
-element block 3, property( 2): 'MATL'= 30
-element block 4, property( 2): 'MATL'= 40
-element block 5, property( 2): 'MATL'= 50
-element block 6, property( 2): 'MATL'= 60
-element block 7, property( 2): 'MATL'= 70
-element block 1, property( 3): 'DENSITY'= 0
-element block 2, property( 3): 'DENSITY'= 0
-element block 3, property( 3): 'DENSITY'= 0
-element block 4, property( 3): 'DENSITY'= 0
-element block 5, property( 3): 'DENSITY'= 0
-element block 6, property( 3): 'DENSITY'= 0
-element block 7, property( 3): 'DENSITY'= 0
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 11
- 1
- 2
- 3
- 4
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 12
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 13
- 17
- 18
- 19
- 20
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 14
- 21
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 15
- 22
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 16
- 23
- 24
- 25
- 26
- 27
- 28
-
-after ex_get_elem_attr, error = 0
-element block 10 attributes:
-1.0000
-2.0000
-3.0000
-
-after ex_get_elem_attr, error = 0
-element block 11 attributes:
-1.1100
-2.1100
-3.1100
-1.1200
-2.1200
-3.1200
-
-after ex_get_elem_attr, error = 0
-element block 12 attributes:
-1.2000
-2.2000
-3.2000
-
-after ex_get_elem_attr, error = 0
-element block 13 attributes:
-1.3000
-2.3000
-3.3000
-
-after ex_get_elem_attr, error = 0
-element block 14 attributes:
-1.4000
-2.4000
-3.4000
-
-after ex_get_elem_attr, error = 0
-element block 15 attributes:
-1.5000
-2.5000
-3.5000
-
-after ex_get_elem_attr, error = 0
-element block 16 attributes:
-1.6000
-2.6000
-3.6000
-
-after ex_get_node_set_ids, error = 0
-
-after ex_get_node_set_param, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 20
- 10
- 11
- 12
- 13
- 14
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
-
-after ex_get_node_set_param, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 21
- 20
- 21
- 22
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
-
-after ex_inquire, error = 0
-
-There are 3 properties for each node set
-after ex_get_prop_names, error = 0
-node set 1, property( 1): 'ID'= 20
-node set 2, property( 1): 'ID'= 21
-node set 1, property( 2): 'FACE'= 4
-node set 2, property( 2): 'FACE'= 5
-node set 1, property( 3): 'VELOCITY'= 1000
-node set 2, property( 3): 'VELOCITY'= 2000
-
-after ex_inquire, error = 0
-
-after ex_inquire: EX_INQ_NS_NODE_LEN = 8, error = 0
-
-after ex_inquire: EX_INQ_NS_DF_LEN = 8, error = 0
-
-after ex_get_concat_node_sets, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 0
- 5
-node_list =
- 10
- 11
- 12
- 13
- 14
- 20
- 21
- 22
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after ex_get_side_set_ids, error = 0
-
-after ex_get_side_set_param, error = 0
-side set 30 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 30
- 3
- 3
-side list for side set 30
- 4
- 2
-node list for side set 30
- 8
- 5
- 6
- 7
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after ex_get_side_set_param, error = 0
-side set 31 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 31
- 1
- 3
-side list for side set 31
- 2
- 3
-node list for side set 31
- 2
- 3
- 7
- 8
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_side_set_param, error = 0
-side set 32 parameters:
-num_sides = 7
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 32
- 4
- 4
- 4
- 4
- 4
- 4
- 4
-side list for side set 32
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-node list for side set 32
- 9
- 12
- 11
- 10
- 11
- 12
- 16
- 15
- 11
- 12
- 16
- 15
- 10
- 11
- 15
- 14
- 9
- 13
- 16
- 12
- 9
- 10
- 14
- 13
- 13
- 14
- 15
- 16
-no dist factors for side set 32
-
-after ex_get_side_set_param, error = 0
-side set 33 parameters:
-num_sides = 4
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 33
- 5
- 5
- 5
- 5
-side list for side set 33
- 1
- 2
- 3
- 4
-node list for side set 33
- 17
- 18
- 20
- 18
- 19
- 20
- 17
- 20
- 19
- 17
- 19
- 18
-no dist factors for side set 33
-
-after ex_get_side_set_param, error = 0
-side set 34 parameters:
-num_sides = 2
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 34
- 6
- 7
-side list for side set 34
- 1
- 1
-node list for side set 34
- 21
- 22
-no dist factors for side set 34
-
-after ex_inquire, error = 0
-
-There are 2 properties for each side set
-after ex_get_prop_names, error = 0
-side set 1, property( 1): 'ID'= 30
-side set 2, property( 1): 'ID'= 31
-side set 3, property( 1): 'ID'= 32
-side set 4, property( 1): 'ID'= 33
-side set 5, property( 1): 'ID'= 34
-side set 1, property( 2): 'COLOR'= 100
-side set 2, property( 2): 'COLOR'= 101
-side set 3, property( 2): 'COLOR'= 0
-side set 4, property( 2): 'COLOR'= 0
-side set 5, property( 2): 'COLOR'= 0
-
-after ex_inquire: EX_INQ_SIDE_SETS = 5, error = 0
-
-after ex_inquire: EX_INQ_SS_ELEM_LEN = 17, error = 0
-
-after ex_inquire: EX_INQ_SS_NODE_LEN = 50, error = 0
-
-after ex_inquire: EX_INQ_SS_DF_LEN = 8, error = 0
-
-after ex_get_concat_side_sets, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
-num_elem_per_set =
- 2
- 2
- 7
- 4
- 2
-num_dist_per_set =
- 4
- 4
- 0
- 0
- 0
-elem_ind =
- 0
- 2
- 4
- 11
- 15
-dist_ind =
- 0
- 4
- 8
- 8
- 8
-elem_list =
- 3
- 3
- 1
- 3
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 5
- 5
- 5
- 5
- 6
- 7
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 1
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWT1'
- 'testwt1'
- '03/16/94'
- '15:41:33'
- 'FASTQ'
- 'fastq'
- '07/07/93'
- '16:41:33'
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- 'This is the second information record.'
- 'This is the third information record.'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_name, error = 0
-There are 1 global variables; their names are :
- 'glo vars'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 2 nodal variables; their names are :
- 'nod_var0'
- 'nod_var1'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 element variables; their names are :
- 'ele_var0'
- 'ele_var1'
- 'ele_var2'
-
-after ex_get_elem_var_tab, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_inquire, error = 0
-There are 10 time steps in the database.
-
-after ex_get_time, error = 0
-time value at time step 3 = 0.030
-
-after ex_get_all_times, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after ex_get_glob_vars, error = 0
-global variable values at time step 3
-0.060
-
-after ex_get_glob_var_time, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after ex_get_nodal_var, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-1.810
-1.840
-
-after ex_get_nodal_var_time, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
- after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 10 at time step 3
-4.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 11 at time step 3
-5.030
-5.060
-
-after ex_get_elem_var, error = -1
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 13 at time step 3
-7.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 14 at time step 3
-8.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 15 at time step 3
-9.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 16 at time step 3
-10.030
-
-after ex_get_elem_var_time, error = 0
-element variable 2 values for element 2 through time:
-6.010
-6.020
-6.030
-6.040
-6.050
-6.060
-6.070
-6.080
-6.090
-6.100
-
-after ex_close, error = 0
diff --git a/cbind/test/testrd_nc.c b/cbind/test/testrd_nc.c
deleted file mode 100644
index a913f83..0000000
--- a/cbind/test/testrd_nc.c
+++ /dev/null
@@ -1,897 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testrd - read exodus file test.exo created by testwt
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-/* #include "drmd.h" */
-
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk, num_node_sets;
- int num_side_sets, error;
- int i, j, k, node_ctr;
- int *elem_map, *connect, *node_list, *node_ctr_list, *elem_list, *side_list;
- int *ids;
- int *num_nodes_per_set, *num_elem_per_set;
- int *num_df_per_set;
- int *node_ind, *elem_ind, *df_ind, num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int *truth_tab;
- int num_time_steps;
- int *num_elem_in_block, *num_nodes_per_elem, *num_attr;
- int num_nodes_in_set, num_elem_in_set;
- int num_sides_in_set, num_df_in_set;
- int list_len = 0;
- int elem_list_len = 0;
- int node_list_len = 0;
- int df_list_len = 0;
- int node_num, time_step, var_index, beg_time, end_time, elem_num;
- int CPU_word_size,IO_word_size;
- int num_props, prop_value, *prop_values;
- int idum;
-
- float time_value, *time_values, *var_values;
- float *xyz;
- float *attrib, *dist_fact;
- float version, fdum;
-
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char title[MAX_LINE_LENGTH+1], elem_type[MAX_STR_LENGTH+1];
- char *cdum = 0;
- char *prop_names[3];
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use what is stored in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* open EXODUS II files */
-
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
-/* printf (" CPU word size %1d\n",CPU_word_size); */
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
- /* ncopts = NC_VERBOSE; */
-
-/* read database parameters */
-
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- printf ("after ex_get_init, error = %3d\n", error);
-
- printf ("database parameters:\n");
- printf ("title = '%s'\n",title);
- printf ("num_dim = %3d\n",num_dim);
- printf ("num_nodes = %3d\n",num_nodes);
- printf ("num_elem = %3d\n",num_elem);
- printf ("num_elem_blk = %3d\n",num_elem_blk);
- printf ("num_node_sets = %3d\n",num_node_sets);
- printf ("num_side_sets = %3d\n",num_side_sets);
-
-/* read nodal coordinates values and names from database */
-
- xyz = (float *) calloc(num_nodes, sizeof(float));
-
- printf ("\nafter ex_get_coord, error = %3d\n", error);
-
- error = ex_get_coord (exoid, xyz, NULL, NULL);
- printf ("\nafter ex_get_coord (x), error = %3d\n", error);
- printf ("x coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", xyz[i]);
- }
-
- error = ex_get_coord (exoid, NULL, xyz, NULL);
- printf ("\nafter ex_get_coord (y), error = %3d\n", error);
- printf ("y coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", xyz[i]);
- }
-
- error = ex_get_coord (exoid, NULL, NULL, xyz);
- printf ("\nafter ex_get_coord (z), error = %3d\n", error);
- if (num_dim >= 3)
- {
- printf ("z coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", xyz[i]);
- }
- }
-
-/*
- error = ex_get_1_coord (exoid, 2, x, y, z);
- printf ("\nafter ex_get_1_coord, error = %3d\n", error);
-
- printf ("x coord of node 2 = \n");
- printf ("%f \n", x[0]);
-
- printf ("y coord of node 2 = \n");
- printf ("%f \n", y[0]);
-*/
- free (xyz);
-
- for (i=0; i<num_dim; i++)
- {
- coord_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_coord_names (exoid, coord_names);
- printf ("\nafter ex_get_coord_names, error = %3d\n", error);
-
- printf ("x coord name = '%s'\n", coord_names[0]);
- printf ("y coord name = '%s'\n", coord_names[1]);
-
- for (i=0; i<num_dim; i++)
- free(coord_names[i]);
-
-
-/* read element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- error = ex_get_map (exoid, elem_map);
- printf ("\nafter ex_get_map, error = %3d\n", error);
-
- for (i=0; i<num_elem; i++)
- {
- printf ("elem_map(%d) = %d \n", i, elem_map[i]);
- }
-
- free (elem_map);
-
-/* read element block parameters */
-
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- num_elem_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_nodes_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_attr = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- error = ex_get_elem_block (exoid, ids[i], elem_type,
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]), &(num_attr[i]));
- printf ("\nafter ex_get_elem_block, error = %d\n", error);
-
- printf ("element block id = %2d\n",ids[i]);
- printf ("element type = '%s'\n", elem_type);
- printf ("num_elem_in_block = %2d\n",num_elem_in_block[i]);
- printf ("num_nodes_per_elem = %2d\n",num_nodes_per_elem[i]);
- printf ("num_attr = %2d\n",num_attr[i]);
- }
-
- /* read element block properties */
- error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each element block\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_ELEM_BLOCK,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- error = ex_get_prop(exoid, EX_ELEM_BLOCK, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("element block %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
-
-/* read element connectivity */
-
- for (i=0; i<num_elem_blk; i++)
- {
- connect = (int *) calloc((num_nodes_per_elem[i] * num_elem_in_block[i]),
- sizeof(int));
-
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
-
- printf ("connect array for elem block %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%3d\n", connect[j]);
- }
-/*
- error = ex_get_1_elem_conn (exoid, 1, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- printf ("node list for first element of element block %d \n ", ids[i]);
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%d \n", connect[j]);
- }
-*/
- free (connect);
-
- }
-
-/* read element block attributes */
-
- for (i=0; i<num_elem_blk; i++)
- {
- attrib = (float *) calloc(num_attr[i]*num_elem_in_block[i],sizeof(float));
- error = ex_get_elem_attr (exoid, ids[i], attrib);
- printf ("\n after ex_get_elem_attr, error = %d\n", error);
-
- if (error == 0)
- printf ("element block %d attributes = %6.4f\n", ids[i], *attrib);
- free (attrib);
- }
-
- free (ids);
- free (num_nodes_per_elem);
- free (num_attr);
-
-/* read individual node sets */
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\nafter ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- error = ex_get_node_set_param (exoid, ids[i],
- &num_nodes_in_set, &num_df_in_set);
- printf ("\nafter ex_get_node_set_param, error = %3d\n", error);
-
- printf ("\nnode set %2d parameters: \n", ids[i]);
- printf ("num_nodes = %2d\n", num_nodes_in_set);
-
- node_list = (int *) calloc(num_nodes_in_set, sizeof(int));
- dist_fact = (float *) calloc(num_nodes_in_set, sizeof(float));
-
- error = ex_get_node_set (exoid, ids[i], node_list);
- printf ("\nafter ex_get_node_set, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_node_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_node_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("\nnode list for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%3d\n", node_list[j]);
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%5.2f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for node set %2d\n", ids[i]);
-
- free (node_list);
- free (dist_fact);
- }
- free(ids);
-
- /* read node set properties */
- error = ex_inquire (exoid, EX_INQ_NS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each node set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- prop_values = (int *) calloc (num_node_sets, sizeof(int));
-
- error = ex_get_prop_names(exoid,EX_NODE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- error = ex_get_prop_array(exoid, EX_NODE_SET, prop_names[i],
- prop_values);
- if (error == 0)
- for (j=0; j<num_node_sets; j++)
- printf ("node set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_values[j]);
- else
- printf ("after ex_get_prop_array, error = %d\n", error);
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free(prop_values);
-
-/* read concatenated node sets; this produces the same information as
- * the above code which reads individual node sets
- */
-
- error = ex_inquire (exoid, EX_INQ_NODE_SETS, &num_node_sets, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n",error);
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
- num_nodes_per_set = (int *) calloc(num_node_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_node_sets, sizeof(int));
- node_ind = (int *) calloc(num_node_sets, sizeof(int));
- df_ind = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_NODE_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_NODE_LEN = %d, error = %3d\n",
- list_len, error);
- node_list = (int *) calloc(list_len, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_DF_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_DF_LEN = %d, error = %3d\n",
- list_len, error);
- dist_fact = (float *) calloc(list_len, sizeof(float));
-
- error = ex_get_concat_node_sets (exoid,ids,num_nodes_per_set,num_df_per_set,
- node_ind, df_ind, node_list, dist_fact);
- printf ("\nafter ex_get_concat_node_sets, error = %3d\n", error);
-
- printf ("\nconcatenated node set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_nodes_per_set = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", num_nodes_per_set[i]);
-
- printf ("node_ind = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", node_ind[i]);
-
- printf ("node_list = \n");
- for (i=0; i<list_len; i++) printf ("%3d\n", node_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_nodes_per_set);
- free (df_ind);
- free (node_ind);
- free (num_df_per_set);
- free (node_list);
- free (dist_fact);
-
-
-/* read individual side sets */
-
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\nafter ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- error = ex_get_side_set_param (exoid, ids[i], &num_sides_in_set,
- &num_df_in_set);
- printf ("\nafter ex_get_side_set_param, error = %3d\n", error);
-
- printf ("side set %2d parameters:\n",ids[i]);
- printf ("num_sides = %3d\n",num_sides_in_set);
- printf ("num_dist_factors = %3d\n", num_df_in_set);
-
-
- /* Note: The # of elements is same as # of sides! */
- num_elem_in_set = num_sides_in_set;
- elem_list = (int *) calloc(num_elem_in_set, sizeof(int));
- side_list = (int *) calloc(num_sides_in_set, sizeof(int));
- node_ctr_list = (int *) calloc(num_elem_in_set, sizeof(int));
- node_list = (int *) calloc(num_elem_in_set*21, sizeof(int));
- dist_fact = (float *) calloc(num_df_in_set, sizeof(float));
-
- error = ex_get_side_set (exoid, ids[i], elem_list, side_list);
- printf ("\nafter ex_get_side_set, error = %3d\n", error);
-
- error = ex_get_side_set_node_list (exoid, ids[i], node_ctr_list,
- node_list);
- printf ("\nafter ex_get_side_set_node_list, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_side_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_side_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("element list for side set %2d\n", ids[i]);
- for (j=0; j<num_elem_in_set; j++)
- {
- printf ("%3d\n", elem_list[j]);
- }
-
- printf ("side list for side set %2d\n", ids[i]);
- for (j=0; j<num_sides_in_set; j++)
- {
- printf ("%3d\n", side_list[j]);
- }
-
- node_ctr = 0;
- printf ("node list for side set %2d\n", ids[i]);
- for (k=0; k<num_elem_in_set; k++)
- {
- for (j=0; j<node_ctr_list[k]; j++)
- {
- printf ("%3d\n", node_list[node_ctr+j]);
- }
- node_ctr += node_ctr_list[k];
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for side set %2d\n", ids[i]);
-
- for (j=0; j<num_df_in_set; j++)
- {
- printf ("%5.3f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for side set %2d\n", ids[i]);
-
- free (elem_list);
- free (side_list);
- free (node_ctr_list);
- free (node_list);
- free (dist_fact);
-
- }
-
- /* read side set properties */
- error = ex_inquire (exoid, EX_INQ_SS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each side set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_SIDE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- error = ex_get_prop(exoid, EX_SIDE_SET, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("side set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free (ids);
-
- error = ex_inquire (exoid, EX_INQ_SIDE_SETS, &num_side_sets, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SIDE_SETS = %d, error = %d\n",
- num_side_sets, error);
-
- if (num_side_sets > 0)
- {
- error = ex_inquire(exoid, EX_INQ_SS_ELEM_LEN, &elem_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_ELEM_LEN = %d, error = %d\n",
- elem_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_NODE_LEN, &node_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_NODE_LEN = %d, error = %d\n",
- node_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_DF_LEN, &df_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_DF_LEN = %d, error = %d\n",
- df_list_len, error);
- }
-
-/* read concatenated side sets; this produces the same information as
- * the above code which reads individual side sets
- */
-
-/* concatenated side set read */
-
- ids = (int *) calloc(num_side_sets, sizeof(int));
- num_elem_per_set = (int *) calloc(num_side_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_side_sets, sizeof(int));
- elem_ind = (int *) calloc(num_side_sets, sizeof(int));
- df_ind = (int *) calloc(num_side_sets, sizeof(int));
- elem_list = (int *) calloc(elem_list_len, sizeof(int));
- side_list = (int *) calloc(elem_list_len, sizeof(int));
- dist_fact = (float *) calloc(df_list_len, sizeof(float));
-
- error = ex_get_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("\nafter ex_get_concat_side_sets, error = %3d\n", error);
-
- printf ("concatenated side set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_elem_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_elem_per_set[i]);
-
- printf ("num_dist_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_df_per_set[i]);
-
- printf ("elem_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", elem_ind[i]);
-
- printf ("dist_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", df_ind[i]);
-
- printf ("elem_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", elem_list[i]);
-
- printf ("side_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", side_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<df_list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_elem_per_set);
- free (num_df_per_set);
- free (df_ind);
- free (elem_ind);
- free (elem_list);
- free (side_list);
- free (dist_fact);
-
-/* end of concatenated side set read */
-
-/* read QA records */
-
- ex_inquire (exoid, EX_INQ_QA, &num_qa_rec, &fdum, cdum);
-
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- qa_record[i][j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- }
-
- error = ex_get_qa (exoid, qa_record);
- printf ("\nafter ex_get_qa, error = %3d\n", error);
-
- printf ("QA records = \n");
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- printf (" '%s'\n", qa_record[i][j]);
- free(qa_record[i][j]);
- }
- }
-
-/* read information records */
-
- error = ex_inquire (exoid, EX_INQ_INFO, &num_info, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_info (exoid, info);
- printf ("\nafter ex_get_info, error = %3d\n", error);
-
- printf ("info records = \n");
- for (i=0; i<num_info; i++)
- {
- printf (" '%s'\n", info[i]);
- free(info[i]);
- }
-
-/* read global variables parameters and names */
-
- error = ex_get_var_param (exoid, "g", &num_glo_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_glo_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d global variables; their names are :\n",
- num_glo_vars);
- for (i=0; i<num_glo_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
-/* read nodal variables parameters and names */
-
- error = ex_get_var_param (exoid, "n", &num_nod_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_nod_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodal variables; their names are :\n", num_nod_vars);
- for (i=0; i<num_nod_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
-
-/* read element variables parameters and names */
-
- error = ex_get_var_param (exoid, "e", &num_ele_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_ele_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d element variables; their names are :\n",
- num_ele_vars);
- for (i=0; i<num_ele_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
-
-/* read element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- error = ex_get_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("\nafter ex_get_elem_var_tab, error = %3d\n", error);
-
- printf ("This is the element variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_elem_blk*num_ele_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
-
-/* determine how many time steps are stored */
-
- error = ex_inquire (exoid, EX_INQ_TIME, &num_time_steps, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
- printf ("There are %2d time steps in the database.\n", num_time_steps);
-
-/* read time value at one time step */
-
- time_step = 3;
- error = ex_get_time (exoid, time_step, &time_value);
- printf ("\nafter ex_get_time, error = %3d\n", error);
-
- printf ("time value at time step %2d = %5.3f\n", time_step, time_value);
-
-/* read time values at all time steps */
-
- time_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_all_times (exoid, time_values);
- printf ("\nafter ex_get_all_times, error = %3d\n", error);
-
- printf ("time values at all time steps are:\n");
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", time_values[i]);
-
- free (time_values);
-
-/* read all global variables at one time step */
-
- var_values = (float *) calloc (num_glo_vars, sizeof(float));
-
- error = ex_get_glob_vars (exoid, time_step, num_glo_vars, var_values);
- printf ("\nafter ex_get_glob_vars, error = %3d\n", error);
-
- printf ("global variable values at time step %2d\n", time_step);
- for (i=0; i<num_glo_vars; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read a single global variable through time */
-
- var_index = 1;
- beg_time = 1;
- end_time = -1;
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_glob_var_time (exoid, var_index, beg_time, end_time,
- var_values);
- printf ("\nafter ex_get_glob_var_time, error = %3d\n", error);
-
- printf ("global variable %2d values through time:\n", var_index);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read a nodal variable at one time step */
-
- var_values = (float *) calloc (num_nodes, sizeof(float));
-
- error = ex_get_nodal_var (exoid, time_step, var_index, num_nodes,
- var_values);
- printf ("\nafter ex_get_nodal_var, error = %3d\n", error);
-
- printf ("nodal variable %2d values at time step %2d\n", var_index,
- time_step);
- for (i=0; i<num_nodes; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read a nodal variable through time */
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- node_num = 1;
- error = ex_get_nodal_var_time (exoid, var_index, node_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_nodal_var_time, error = %3d\n", error);
-
- printf ("nodal variable %2d values for node %2d through time:\n", var_index,
- node_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read an element variable at one time step */
-
- ids = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\n after ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- var_values = (float *) calloc (num_elem_in_block[i], sizeof(float));
-
- error = ex_get_elem_var (exoid, time_step, var_index, ids[i],
- num_elem_in_block[i], var_values);
- printf ("\nafter ex_get_elem_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("element variable %2d values of element block %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_in_block[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free (num_elem_in_block);
- free(ids);
-
-/* read an element variable through time */
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- var_index = 2;
- elem_num = 2;
- error = ex_get_elem_var_time (exoid, var_index, elem_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_elem_var_time, error = %3d\n", error);
-
- printf ("element variable %2d values for element %2d through time:\n",
- var_index, elem_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testrd_nc.dmp b/cbind/test/testrd_nc.dmp
deleted file mode 100644
index ae30d7c..0000000
--- a/cbind/test/testrd_nc.dmp
+++ /dev/null
@@ -1,931 +0,0 @@
-
-after ex_open
- I/O word size 4
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 3
-num_nodes = 33
-num_elem = 7
-num_elem_blk = 7
-num_node_sets = 2
-num_side_sets = 5
-
-after ex_get_coord, error = 0
-
-after ex_get_coord (x), error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-
-after ex_get_coord (y), error = 0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-
-after ex_get_coord (z), error = 0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
- 2.7
- 3.3
- 1.7
- 2.3
- 0.0
- 0.0
- 10.0
-
-after ex_get_coord_names, error = 0
-x coord name = 'xcoor'
-y coord name = 'ycoor'
-
-after ex_get_map, error = 0
-elem_map(0) = 1
-elem_map(1) = 2
-elem_map(2) = 3
-elem_map(3) = 4
-elem_map(4) = 5
-elem_map(5) = 6
-elem_map(6) = 7
-
-after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_block, error = 0
-element block id = 10
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 11
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 12
-element type = 'hex'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 13
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 14
-element type = 'wedge'
-num_elem_in_block = 1
-num_nodes_per_elem = 6
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 15
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 16
-element type = 'tri'
-num_elem_in_block = 1
-num_nodes_per_elem = 3
-num_attr = 1
-
-after ex_inquire, error = 0
-
-There are 3 properties for each element block
-after ex_get_prop_names, error = 0
-element block 1, property( 1): 'ID'= 10
-element block 2, property( 1): 'ID'= 11
-element block 3, property( 1): 'ID'= 12
-element block 4, property( 1): 'ID'= 13
-element block 5, property( 1): 'ID'= 14
-element block 6, property( 1): 'ID'= 15
-element block 7, property( 1): 'ID'= 16
-element block 1, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 10
-element block 2, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 20
-element block 3, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 30
-element block 4, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 40
-element block 5, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 50
-element block 6, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 60
-element block 7, property( 2): 'MATERIAL_PROPERTY_LONG_NAME_32CH'= 70
-element block 1, property( 3): 'DENSITY'= 0
-element block 2, property( 3): 'DENSITY'= 0
-element block 3, property( 3): 'DENSITY'= 0
-element block 4, property( 3): 'DENSITY'= 0
-element block 5, property( 3): 'DENSITY'= 0
-element block 6, property( 3): 'DENSITY'= 0
-element block 7, property( 3): 'DENSITY'= 0
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 11
- 5
- 6
- 7
- 8
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 12
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 13
- 17
- 18
- 19
- 20
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 14
- 21
- 22
- 23
- 24
- 25
- 26
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 15
- 17
- 18
- 19
- 20
- 27
- 28
- 30
- 29
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 16
- 31
- 32
- 33
-
- after ex_get_elem_attr, error = 0
-element block 10 attributes = 3.1416
-
- after ex_get_elem_attr, error = 0
-element block 11 attributes = 6.1416
-
- after ex_get_elem_attr, error = 0
-element block 12 attributes = 6.1416
-
- after ex_get_elem_attr, error = 0
-element block 13 attributes = 6.1416
-
- after ex_get_elem_attr, error = 0
-element block 14 attributes = 6.1416
-
- after ex_get_elem_attr, error = 0
-element block 15 attributes = 6.1416
-
- after ex_get_elem_attr, error = 0
-element block 16 attributes = 6.1416
-
-after ex_get_node_set_ids, error = 0
-
-after ex_get_node_set_param, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 20
- 10
- 11
- 12
- 13
- 14
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
-
-after ex_get_node_set_param, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 21
- 20
- 21
- 22
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
-
-after ex_inquire, error = 0
-
-There are 3 properties for each node set
-after ex_get_prop_names, error = 0
-node set 1, property( 1): 'ID'= 20
-node set 2, property( 1): 'ID'= 21
-node set 1, property( 2): 'FACE'= 4
-node set 2, property( 2): 'FACE'= 5
-node set 1, property( 3): 'VELOCITY'= 1000
-node set 2, property( 3): 'VELOCITY'= 2000
-
-after ex_inquire, error = 0
-
-after ex_inquire: EX_INQ_NS_NODE_LEN = 8, error = 0
-
-after ex_inquire: EX_INQ_NS_DF_LEN = 8, error = 0
-
-after ex_get_concat_node_sets, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 0
- 5
-node_list =
- 10
- 11
- 12
- 13
- 14
- 20
- 21
- 22
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after ex_get_side_set_ids, error = 0
-
-after ex_get_side_set_param, error = 0
-side set 30 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 30
- 2
- 2
-side list for side set 30
- 4
- 2
-node list for side set 30
- 8
- 5
- 6
- 7
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after ex_get_side_set_param, error = 0
-side set 31 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 31
- 1
- 2
-side list for side set 31
- 2
- 3
-node list for side set 31
- 2
- 3
- 7
- 8
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_side_set_param, error = 0
-side set 32 parameters:
-num_sides = 7
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 32
- 3
- 3
- 3
- 3
- 3
- 3
- 3
-side list for side set 32
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-node list for side set 32
- 9
- 12
- 11
- 10
- 11
- 12
- 16
- 15
- 11
- 12
- 16
- 15
- 10
- 11
- 15
- 14
- 9
- 13
- 16
- 12
- 9
- 10
- 14
- 13
- 13
- 14
- 15
- 16
-no dist factors for side set 32
-
-after ex_get_side_set_param, error = 0
-side set 33 parameters:
-num_sides = 8
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 33
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
-side list for side set 33
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
-node list for side set 33
- 17
- 18
- 20
- 18
- 19
- 20
- 17
- 20
- 19
- 17
- 19
- 18
- 17
- 18
- 20
- 27
- 18
- 19
- 20
- 28
- 17
- 20
- 19
- 29
- 17
- 19
- 18
- 30
-no dist factors for side set 33
-
-after ex_get_side_set_param, error = 0
-side set 34 parameters:
-num_sides = 10
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 34
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side list for side set 34
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-node list for side set 34
- 21
- 22
- 25
- 24
- 22
- 23
- 26
- 25
- 21
- 24
- 26
- 23
- 21
- 23
- 22
- 24
- 25
- 26
- 31
- 32
- 33
- 33
- 32
- 31
- 31
- 32
- 32
- 33
- 33
- 31
-no dist factors for side set 34
-
-after ex_inquire, error = 0
-
-There are 2 properties for each side set
-after ex_get_prop_names, error = 0
-side set 1, property( 1): 'ID'= 30
-side set 2, property( 1): 'ID'= 31
-side set 3, property( 1): 'ID'= 32
-side set 4, property( 1): 'ID'= 33
-side set 5, property( 1): 'ID'= 34
-side set 1, property( 2): 'COLOR'= 100
-side set 2, property( 2): 'COLOR'= 101
-side set 3, property( 2): 'COLOR'= 0
-side set 4, property( 2): 'COLOR'= 0
-side set 5, property( 2): 'COLOR'= 0
-
-after ex_inquire: EX_INQ_SIDE_SETS = 5, error = 0
-
-after ex_inquire: EX_INQ_SS_ELEM_LEN = 29, error = 0
-
-after ex_inquire: EX_INQ_SS_NODE_LEN = 94, error = 0
-
-after ex_inquire: EX_INQ_SS_DF_LEN = 8, error = 0
-
-after ex_get_concat_side_sets, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
-num_elem_per_set =
- 2
- 2
- 7
- 8
- 10
-num_dist_per_set =
- 4
- 4
- 0
- 0
- 0
-elem_ind =
- 0
- 2
- 4
- 11
- 19
-dist_ind =
- 0
- 4
- 8
- 8
- 8
-elem_list =
- 2
- 2
- 1
- 2
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 4
- 4
- 4
- 4
- 6
- 6
- 6
- 6
- 5
- 5
- 5
- 5
- 5
- 7
- 7
- 7
- 7
- 7
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
- 1
- 2
- 3
- 4
- 5
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWT'
- 'testwt'
- '07/07/93'
- '15:41:33'
- ''
- ''
- ''
- ''
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- ''
- ''
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 1 global variables; their names are :
- 'glo_vars'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 2 nodal variables; their names are :
- 'node_variable_a_very_long_name_0'
- 'nod_var1'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 element variables; their names are :
- 'this_variable_name_is_short'
- 'this_variable_name_is_just_right'
- 'this_variable_name_is_tooooo_lon'
-
-after ex_get_elem_var_tab, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_inquire, error = 0
-There are 10 time steps in the database.
-
-after ex_get_time, error = 0
-time value at time step 3 = 0.030
-
-after ex_get_all_times, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after ex_get_glob_vars, error = 0
-global variable values at time step 3
-0.060
-
-after ex_get_glob_var_time, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after ex_get_nodal_var, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-1.810
-1.840
-1.870
-1.900
-1.930
-1.960
-1.990
-
-after ex_get_nodal_var_time, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
- after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 10 at time step 3
-4.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 11 at time step 3
-5.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 12 at time step 3
-6.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 13 at time step 3
-7.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 14 at time step 3
-8.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 15 at time step 3
-9.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 16 at time step 3
-10.030
-
-after ex_get_elem_var_time, error = 0
-element variable 2 values for element 2 through time:
-6.010
-6.020
-6.030
-6.040
-6.050
-6.060
-6.070
-6.080
-6.090
-6.100
-
-after ex_close, error = 0
diff --git a/cbind/test/testrd_par.c b/cbind/test/testrd_par.c
deleted file mode 100644
index 5d2ddb0..0000000
--- a/cbind/test/testrd_par.c
+++ /dev/null
@@ -1,1210 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testrd - read exodus file test.exo created by testwt
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-
-#include <mpi.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "exodusII_par.h"
-
-int main (int argc, char **argv)
-{
- MPI_Comm mpi_comm = MPI_COMM_WORLD;
- MPI_Info mpi_info = MPI_INFO_NULL;
-
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk, num_node_sets;
- int num_side_sets, error;
- int i, j, k, node_ctr;
- int *elem_map, *connect, *node_list, *node_ctr_list, *elem_list, *side_list;
- int *ids;
- int *num_nodes_per_set = NULL;
- int *num_elem_per_set = NULL;
- int *num_df_per_set = NULL;
- int *node_ind = NULL;
- int *elem_ind = NULL;
- int *df_ind = NULL;
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int num_nset_vars, num_sset_vars;
- int *truth_tab;
- int num_time_steps;
- int *num_elem_in_block = NULL;
- int *num_nodes_per_elem = NULL;
- int *num_attr = NULL;
- int num_nodes_in_set, num_elem_in_set;
- int num_sides_in_set, num_df_in_set;
- int list_len, elem_list_len, node_list_len, df_list_len;
- int node_num, time_step, var_index, beg_time, end_time, elem_num;
- int CPU_word_size,IO_word_size;
- int num_props, prop_value, *prop_values;
- int idum;
-
- float time_value, *time_values, *var_values;
- float *x, *y, *z;
- float *attrib, *dist_fact;
- float version, fdum;
-
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *attrib_names[10];
- char name[MAX_STR_LENGTH+1];
- char title[MAX_LINE_LENGTH+1], elem_type[MAX_STR_LENGTH+1];
- char title_chk[MAX_LINE_LENGTH+1];
- char *cdum = 0;
- char *prop_names[3];
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use what is stored in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
- /* Initialize MPI. */
- MPI_Init(&argc,&argv);
-
- /* open EXODUS II files */
- exoid = ex_open_par ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version, /* ExodusII library version */
- mpi_comm, mpi_info);
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- /* printf (" CPU word size %1d\n",CPU_word_size); */
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
- ex_inquire(exoid,EX_INQ_LIB_VERS, &idum, &version, cdum);
- printf ("EXODUSII Library API; version %4.2f (%d)\n", version, idum);
-
- /* ncopts = NC_VERBOSE; */
-
- /* read database parameters */
-
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- printf ("after ex_get_init, error = %3d\n", error);
-
- printf ("database parameters:\n");
- printf ("title = '%s'\n",title);
- printf ("num_dim = %3d\n",num_dim);
- printf ("num_nodes = %3d\n",num_nodes);
- printf ("num_elem = %3d\n",num_elem);
- printf ("num_elem_blk = %3d\n",num_elem_blk);
- printf ("num_node_sets = %3d\n",num_node_sets);
- printf ("num_side_sets = %3d\n",num_side_sets);
-
- /* Check that ex_inquire gives same title */
- error = ex_inquire (exoid, EX_INQ_TITLE, &idum, &fdum, title_chk);
- printf (" after ex_inquire, error = %d\n", error);
- if (strcmp(title, title_chk) != 0) {
- printf ("error in ex_inquire for EX_INQ_TITLE\n");
- }
-
- /* read nodal coordinates values and names from database */
-
- x = (float *) calloc(num_nodes, sizeof(float));
- if (num_dim >= 2)
- y = (float *) calloc(num_nodes, sizeof(float));
- else
- y = 0;
-
- if (num_dim >= 3)
- z = (float *) calloc(num_nodes, sizeof(float));
- else
- z = 0;
-
- error = ex_get_coord (exoid, x, y, z);
- printf ("\nafter ex_get_coord, error = %3d\n", error);
-
- printf ("x coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", x[i]);
- }
-
- if (num_dim >= 2) {
- printf ("y coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", y[i]);
- }
- }
- if (num_dim >= 3)
- {
- printf ("z coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", z[i]);
- }
- }
-
- /*
- error = ex_get_1_coord (exoid, 2, x, y, z);
- printf ("\nafter ex_get_1_coord, error = %3d\n", error);
-
- printf ("x coord of node 2 = \n");
- printf ("%f \n", x[0]);
-
- printf ("y coord of node 2 = \n");
- printf ("%f \n", y[0]);
- */
- free (x);
- if (num_dim >= 2)
- free (y);
- if (num_dim >= 3)
- free (z);
-
-
- for (i=0; i<num_dim; i++)
- {
- coord_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_coord_names (exoid, coord_names);
- printf ("\nafter ex_get_coord_names, error = %3d\n", error);
- printf ("x coord name = '%s'\n", coord_names[0]);
- if (num_dim >1)
- printf ("y coord name = '%s'\n", coord_names[1]);
- if (num_dim >2)
- printf ("z coord name = '%s'\n", coord_names[2]);
-
- for (i=0; i<num_dim; i++)
- free(coord_names[i]);
-
- {
- int num_attrs = 0;
- error = ex_get_attr_param(exoid, EX_NODAL, 0, &num_attrs);
- printf (" after ex_get_attr_param, error = %d\n", error);
- printf ("num nodal attributes = %d\n", num_attrs);
- if (num_attrs > 0) {
- for (j=0; j<num_attrs; j++) {
- attrib_names[j] = (char *)calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- error = ex_get_attr_names (exoid, EX_NODAL, 0, attrib_names);
- printf (" after ex_get_attr_names, error = %d\n", error);
-
- if (error == 0) {
- attrib = (float *) calloc(num_nodes,sizeof(float));
- for (j=0; j<num_attrs; j++) {
- printf ("nodal attribute %d = '%s'\n", j, attrib_names[j]);
- error = ex_get_one_attr(exoid, EX_NODAL, 0, j+1, attrib);
- printf (" after ex_get_one_attr, error = %d\n", error);
- for (i=0; i < num_nodes; i++) {
- printf ("%5.1f\n", attrib[i]);
- }
- free(attrib_names[j]);
- }
- free(attrib);
- }
- }
- }
-
- /* read element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- error = ex_get_map (exoid, elem_map);
- printf ("\nafter ex_get_map, error = %3d\n", error);
-
- for (i=0; i<num_elem; i++)
- {
- printf ("elem_map(%d) = %d \n", i, elem_map[i]);
- }
-
- free (elem_map);
-
- /* read element block parameters */
-
- if (num_elem_blk > 0) {
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- num_elem_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_nodes_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_attr = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++) {
- printf("Block # %d is id %d\n", i, ids[i]);
- block_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- ex_get_name(exoid, EX_ELEM_BLOCK, ids[i], name);
- if (strcmp(name, block_names[i]) != 0) {
- printf ("error in ex_get_name for block id %d\n", ids[i]);
- }
- error = ex_get_elem_block (exoid, ids[i], elem_type,
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]), &(num_attr[i]));
- printf ("\nafter ex_get_elem_block, id = %d, error = %d\n", ids[i], error);
-
- printf ("element block id = %2d\n",ids[i]);
- printf ("element type = '%s'\n", elem_type);
- printf ("num_elem_in_block = %2d\n",num_elem_in_block[i]);
- printf ("num_nodes_per_elem = %2d\n",num_nodes_per_elem[i]);
- printf ("num_attr = %2d\n",num_attr[i]);
- printf ("name = '%s'\n",block_names[i]);
- free(block_names[i]);
- }
-
- /* read element block properties */
- error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each element block\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_ELEM_BLOCK,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=1; i<num_props; i++) /* Prop 1 is id; skip that here */
- {
- for (j=0; j<num_elem_blk; j++)
- {
- error = ex_get_prop(exoid, EX_ELEM_BLOCK, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("element block %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- }
-
- /* read element connectivity */
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- connect = (int *) calloc((num_nodes_per_elem[i] * num_elem_in_block[i]),
- sizeof(int));
-
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
-
- printf ("connect array for elem block %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%3d\n", connect[j]);
- }
- /*
- error = ex_get_1_elem_conn (exoid, 1, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- printf ("node list for first element of element block %d \n ", ids[i]);
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%d \n", connect[j]);
- }
- */
- free (connect);
- }
- }
-
- /* read element block attributes */
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- for (j=0; j<num_attr[i]; j++)
- attrib_names[j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
-
- attrib = (float *) calloc(num_attr[i]*num_elem_in_block[i],sizeof(float));
- error = ex_get_elem_attr (exoid, ids[i], attrib);
- printf ("\n after ex_get_elem_attr, error = %d\n", error);
-
- if (error == 0) {
- error = ex_get_elem_attr_names (exoid, ids[i], attrib_names);
- printf (" after ex_get_elem_attr_names, error = %d\n", error);
-
- if (error == 0) {
- printf ("element block %d attribute '%s' = %6.4f\n", ids[i], attrib_names[0], *attrib);
- }
- }
- free (attrib);
- for (j=0; j<num_attr[i]; j++)
- free (attrib_names[j]);
- }
- }
-
- if (num_elem_blk > 0) {
- free (ids);
- free (num_nodes_per_elem);
- free (num_attr);
- }
-
- /* read individual node sets */
- if (num_node_sets > 0) {
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\nafter ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++) {
- nset_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_NODE_SET, nset_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- ex_get_name(exoid, EX_NODE_SET, ids[i], name);
- if (strcmp(name, nset_names[i]) != 0) {
- printf ("error in ex_get_name for nodeset id %d\n", ids[i]);
- }
-
- error = ex_get_node_set_param (exoid, ids[i],
- &num_nodes_in_set, &num_df_in_set);
- printf ("\nafter ex_get_node_set_param, error = %3d\n", error);
-
- printf ("\nnode set %2d parameters: \n", ids[i]);
- printf ("num_nodes = %2d\n", num_nodes_in_set);
- printf ("name = '%s'\n", nset_names[i]);
- free(nset_names[i]);
- node_list = (int *) calloc(num_nodes_in_set, sizeof(int));
- dist_fact = (float *) calloc(num_nodes_in_set, sizeof(float));
-
- error = ex_get_node_set (exoid, ids[i], node_list);
- printf ("\nafter ex_get_node_set, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_node_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_node_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("\nnode list for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%3d\n", node_list[j]);
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%5.2f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for node set %2d\n", ids[i]);
-
- free (node_list);
- free (dist_fact);
-
- {
- int num_attrs = 0;
- error = ex_get_attr_param(exoid, EX_NODE_SET, ids[i], &num_attrs);
- printf (" after ex_get_attr_param, error = %d\n", error);
- printf ("num nodeset attributes for nodeset %d = %d\n", ids[i], num_attrs);
- if (num_attrs > 0) {
- for (j=0; j<num_attrs; j++) {
- attrib_names[j] = (char *)calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- error = ex_get_attr_names (exoid, EX_NODE_SET, ids[i], attrib_names);
- printf (" after ex_get_attr_names, error = %d\n", error);
-
- if (error == 0) {
- attrib = (float *) calloc(num_nodes_in_set,sizeof(float));
- for (j=0; j<num_attrs; j++) {
- printf ("nodeset attribute %d = '%s'\n", j, attrib_names[j]);
- error = ex_get_one_attr(exoid, EX_NODE_SET, ids[i], j+1, attrib);
- printf (" after ex_get_one_attr, error = %d\n", error);
- for (k=0; k < num_nodes_in_set; k++) {
- printf ("%5.1f\n", attrib[k]);
- }
- free(attrib_names[j]);
- }
- free(attrib);
- }
- }
- }
- }
- free(ids);
-
- /* read node set properties */
- error = ex_inquire (exoid, EX_INQ_NS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each node set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- prop_values = (int *) calloc (num_node_sets, sizeof(int));
-
- error = ex_get_prop_names(exoid,EX_NODE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- error = ex_get_prop_array(exoid, EX_NODE_SET, prop_names[i],
- prop_values);
- if (error == 0)
- for (j=0; j<num_node_sets; j++)
- printf ("node set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_values[j]);
- else
- printf ("after ex_get_prop_array, error = %d\n", error);
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free(prop_values);
-
- /* read concatenated node sets; this produces the same information as
- * the above code which reads individual node sets
- */
-
- error = ex_inquire (exoid, EX_INQ_NODE_SETS, &num_node_sets, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n",error);
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
- num_nodes_per_set = (int *) calloc(num_node_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_node_sets, sizeof(int));
- node_ind = (int *) calloc(num_node_sets, sizeof(int));
- df_ind = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_NODE_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_NODE_LEN = %d, error = %3d\n",
- list_len, error);
- node_list = (int *) calloc(list_len, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_DF_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_DF_LEN = %d, error = %3d\n",
- list_len, error);
- dist_fact = (float *) calloc(list_len, sizeof(float));
-
- error = ex_get_concat_node_sets (exoid,ids,num_nodes_per_set,num_df_per_set,
- node_ind, df_ind, node_list, dist_fact);
- printf ("\nafter ex_get_concat_node_sets, error = %3d\n", error);
-
- printf ("\nconcatenated node set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_nodes_per_set = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", num_nodes_per_set[i]);
-
- printf ("node_ind = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", node_ind[i]);
-
- printf ("node_list = \n");
- for (i=0; i<list_len; i++) printf ("%3d\n", node_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (df_ind);
- free (node_ind);
- free (num_df_per_set);
- free (node_list);
- free (dist_fact);
- }
-
- /* read individual side sets */
-
- if (num_side_sets > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\nafter ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++) {
- sset_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_names(exoid, EX_SIDE_SET, sset_names);
- printf ("\nafter ex_get_names, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- ex_get_name(exoid, EX_SIDE_SET, ids[i], name);
- if (strcmp(name, sset_names[i]) != 0) {
- printf ("error in ex_get_name for sideset id %d\n", ids[i]);
- }
-
- error = ex_get_side_set_param (exoid, ids[i], &num_sides_in_set,
- &num_df_in_set);
- printf ("\nafter ex_get_side_set_param, error = %3d\n", error);
-
- printf ("side set %2d parameters:\n",ids[i]);
- printf ("name = '%s'\n", sset_names[i]);
- printf ("num_sides = %3d\n",num_sides_in_set);
- printf ("num_dist_factors = %3d\n", num_df_in_set);
- free(sset_names[i]);
-
-
- /* Note: The # of elements is same as # of sides! */
- num_elem_in_set = num_sides_in_set;
- elem_list = (int *) calloc(num_elem_in_set, sizeof(int));
- side_list = (int *) calloc(num_sides_in_set, sizeof(int));
- node_ctr_list = (int *) calloc(num_elem_in_set, sizeof(int));
- node_list = (int *) calloc(num_elem_in_set*21, sizeof(int));
- dist_fact = (float *) calloc(num_df_in_set, sizeof(float));
-
- error = ex_get_side_set (exoid, ids[i], elem_list, side_list);
- printf ("\nafter ex_get_side_set, error = %3d\n", error);
-
- error = ex_get_side_set_node_list (exoid, ids[i], node_ctr_list,
- node_list);
- printf ("\nafter ex_get_side_set_node_list, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_side_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_side_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("element list for side set %2d\n", ids[i]);
- for (j=0; j<num_elem_in_set; j++)
- {
- printf ("%3d\n", elem_list[j]);
- }
-
- printf ("side list for side set %2d\n", ids[i]);
- for (j=0; j<num_sides_in_set; j++)
- {
- printf ("%3d\n", side_list[j]);
- }
-
- node_ctr = 0;
- printf ("node list for side set %2d\n", ids[i]);
- for (k=0; k<num_elem_in_set; k++)
- {
- for (j=0; j<node_ctr_list[k]; j++)
- {
- printf ("%3d\n", node_list[node_ctr+j]);
- }
- node_ctr += node_ctr_list[k];
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for side set %2d\n", ids[i]);
-
- for (j=0; j<num_df_in_set; j++)
- {
- printf ("%5.3f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for side set %2d\n", ids[i]);
-
- free (elem_list);
- free (side_list);
- free (node_ctr_list);
- free (node_list);
- free (dist_fact);
-
- }
-
- /* read side set properties */
- error = ex_inquire (exoid, EX_INQ_SS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each side set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_SIDE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- error = ex_get_prop(exoid, EX_SIDE_SET, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("side set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free (ids);
-
- error = ex_inquire (exoid, EX_INQ_SIDE_SETS, &num_side_sets, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SIDE_SETS = %d, error = %d\n",
- num_side_sets, error);
-
- if (num_side_sets > 0)
- {
- error = ex_inquire(exoid, EX_INQ_SS_ELEM_LEN, &elem_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_ELEM_LEN = %d, error = %d\n",
- elem_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_NODE_LEN, &node_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_NODE_LEN = %d, error = %d\n",
- node_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_DF_LEN, &df_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_DF_LEN = %d, error = %d\n",
- df_list_len, error);
- }
-
- /* read concatenated side sets; this produces the same information as
- * the above code which reads individual side sets
- */
-
- /* concatenated side set read */
-
- if (num_side_sets > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
- num_elem_per_set = (int *) calloc(num_side_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_side_sets, sizeof(int));
- elem_ind = (int *) calloc(num_side_sets, sizeof(int));
- df_ind = (int *) calloc(num_side_sets, sizeof(int));
- elem_list = (int *) calloc(elem_list_len, sizeof(int));
- side_list = (int *) calloc(elem_list_len, sizeof(int));
- dist_fact = (float *) calloc(df_list_len, sizeof(float));
-
- error = ex_get_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("\nafter ex_get_concat_side_sets, error = %3d\n", error);
-
- printf ("concatenated side set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_elem_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_elem_per_set[i]);
-
- printf ("num_dist_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_df_per_set[i]);
-
- printf ("elem_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", elem_ind[i]);
-
- printf ("dist_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", df_ind[i]);
-
- printf ("elem_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", elem_list[i]);
-
- printf ("side_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", side_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<df_list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_df_per_set);
- free (df_ind);
- free (elem_ind);
- free (elem_list);
- free (side_list);
- free (dist_fact);
- }
- }
- /* end of concatenated side set read */
-
- /* read QA records */
-
- ex_inquire (exoid, EX_INQ_QA, &num_qa_rec, &fdum, cdum);
-
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- qa_record[i][j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- }
-
- error = ex_get_qa (exoid, qa_record);
- printf ("\nafter ex_get_qa, error = %3d\n", error);
-
- printf ("QA records = \n");
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- printf (" '%s'\n", qa_record[i][j]);
- free(qa_record[i][j]);
- }
- }
-
- /* read information records */
-
- error = ex_inquire (exoid, EX_INQ_INFO, &num_info, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_info (exoid, info);
- printf ("\nafter ex_get_info, error = %3d\n", error);
-
- printf ("info records = \n");
- for (i=0; i<num_info; i++)
- {
- printf (" '%s'\n", info[i]);
- free(info[i]);
- }
-
- /* read global variables parameters and names */
-
- error = ex_get_var_param (exoid, "g", &num_glo_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_glo_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d global variables; their names are :\n",
- num_glo_vars);
- for (i=0; i<num_glo_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read nodal variables parameters and names */
- num_nod_vars = 0;
- if (num_nodes > 0) {
- error = ex_get_var_param (exoid, "n", &num_nod_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_nod_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodal variables; their names are :\n", num_nod_vars);
- for (i=0; i<num_nod_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
- }
-
- /* read element variables parameters and names */
-
- num_ele_vars = 0;
- if (num_elem > 0) {
- error = ex_get_var_param (exoid, "e", &num_ele_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_ele_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d element variables; their names are :\n",
- num_ele_vars);
- for (i=0; i<num_ele_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read element variable truth table */
-
- if (num_ele_vars > 0) {
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- error = ex_get_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("\nafter ex_get_elem_var_tab, error = %3d\n", error);
-
- printf ("This is the element variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_elem_blk*num_ele_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
-
- /* read nodeset variables parameters and names */
-
- num_nset_vars = 0;
- if (num_node_sets > 0) {
- error = ex_get_var_param (exoid, "m", &num_nset_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- if (num_nset_vars > 0) {
- for (i=0; i<num_nset_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "m", num_nset_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodeset variables; their names are :\n",
- num_nset_vars);
- for (i=0; i<num_nset_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read nodeset variable truth table */
-
- if (num_nset_vars > 0) {
- truth_tab = (int *) calloc ((num_node_sets*num_nset_vars), sizeof(int));
-
- error = ex_get_nset_var_tab (exoid, num_node_sets, num_nset_vars, truth_tab);
- printf ("\nafter ex_get_nset_var_tab, error = %3d\n", error);
-
- printf ("This is the nodeset variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_node_sets*num_nset_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
- }
-
- /* read sideset variables parameters and names */
-
- num_sset_vars = 0;
- if (num_side_sets > 0) {
- error = ex_get_var_param (exoid, "s", &num_sset_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- if (num_sset_vars > 0) {
- for (i=0; i<num_sset_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "s", num_sset_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d sideset variables; their names are :\n",
- num_sset_vars);
- for (i=0; i<num_sset_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
- /* read sideset variable truth table */
-
- if (num_sset_vars > 0) {
- truth_tab = (int *) calloc ((num_side_sets*num_sset_vars), sizeof(int));
-
- error = ex_get_sset_var_tab (exoid, num_side_sets, num_sset_vars, truth_tab);
- printf ("\nafter ex_get_sset_var_tab, error = %3d\n", error);
-
- printf ("This is the sideset variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_side_sets*num_sset_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
- }
- }
- }
-
- /* determine how many time steps are stored */
-
- error = ex_inquire (exoid, EX_INQ_TIME, &num_time_steps, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
- printf ("There are %2d time steps in the database.\n", num_time_steps);
-
- /* read time value at one time step */
-
- time_step = 3;
- error = ex_get_time (exoid, time_step, &time_value);
- printf ("\nafter ex_get_time, error = %3d\n", error);
-
- printf ("time value at time step %2d = %5.3f\n", time_step, time_value);
-
- /* read time values at all time steps */
-
- time_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_all_times (exoid, time_values);
- printf ("\nafter ex_get_all_times, error = %3d\n", error);
-
- printf ("time values at all time steps are:\n");
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", time_values[i]);
-
- free (time_values);
-
- /* read all global variables at one time step */
-
- var_values = (float *) calloc (num_glo_vars, sizeof(float));
-
- error = ex_get_glob_vars (exoid, time_step, num_glo_vars, var_values);
- printf ("\nafter ex_get_glob_vars, error = %3d\n", error);
-
- printf ("global variable values at time step %2d\n", time_step);
- for (i=0; i<num_glo_vars; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a single global variable through time */
-
- var_index = 1;
- beg_time = 1;
- end_time = -1;
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- error = ex_get_glob_var_time (exoid, var_index, beg_time, end_time,
- var_values);
- printf ("\nafter ex_get_glob_var_time, error = %3d\n", error);
-
- printf ("global variable %2d values through time:\n", var_index);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a nodal variable at one time step */
-
- if (num_nodes > 0) {
- var_values = (float *) calloc (num_nodes, sizeof(float));
-
- error = ex_get_nodal_var (exoid, time_step, var_index, num_nodes,
- var_values);
- printf ("\nafter ex_get_nodal_var, error = %3d\n", error);
-
- printf ("nodal variable %2d values at time step %2d\n", var_index,
- time_step);
- for (i=0; i<num_nodes; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- /* read a nodal variable through time */
-
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- node_num = 1;
- error = ex_get_nodal_var_time (exoid, var_index, node_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_nodal_var_time, error = %3d\n", error);
-
- printf ("nodal variable %2d values for node %2d through time:\n", var_index,
- node_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
- }
- /* read an element variable at one time step */
-
- if (num_elem_blk > 0) {
- ids = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\n after ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- if (num_elem_in_block[i] > 0) {
- var_values = (float *) calloc (num_elem_in_block[i], sizeof(float));
-
- error = ex_get_elem_var (exoid, time_step, var_index, ids[i],
- num_elem_in_block[i], var_values);
- printf ("\nafter ex_get_elem_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("element variable %2d values of element block %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_in_block[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- }
- free (num_elem_in_block);
- free(ids);
- }
- /* read an element variable through time */
-
- if (num_ele_vars > 0) {
- var_values = (float *) calloc (num_time_steps, sizeof(float));
-
- var_index = 2;
- elem_num = 2;
- error = ex_get_elem_var_time (exoid, var_index, elem_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_elem_var_time, error = %3d\n", error);
-
- printf ("element variable %2d values for element %2d through time:\n",
- var_index, elem_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
- }
-
- /* read a sideset variable at one time step */
-
- if (num_sset_vars > 0) {
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\n after ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- var_values = (float *) calloc (num_elem_per_set[i], sizeof(float));
-
- error = ex_get_sset_var (exoid, time_step, var_index, ids[i],
- num_elem_per_set[i], var_values);
- printf ("\nafter ex_get_sset_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("sideset variable %2d values of sideset %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_per_set[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free (num_elem_per_set);
- free(ids);
- }
-
- /* read a nodeset variable at one time step */
-
- if (num_nset_vars > 0) {
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\n after ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- var_values = (float *) calloc (num_nodes_per_set[i], sizeof(float));
-
- error = ex_get_nset_var (exoid, time_step, var_index, ids[i],
- num_nodes_per_set[i], var_values);
- printf ("\nafter ex_get_nset_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("nodeset variable %2d values of nodeset %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_nodes_per_set[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free(ids);
- }
- if (num_node_sets > 0)
- free (num_nodes_per_set);
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
- MPI_Finalize();
- return 0;
-}
diff --git a/cbind/test/testrd_ss.c b/cbind/test/testrd_ss.c
deleted file mode 100644
index 98cb749..0000000
--- a/cbind/test/testrd_ss.c
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testrd_ss - read exodus file test.exo created by testwt_ss
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-*
-* revision history -
-*
-* Original L. A. Schoof
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk, num_node_sets;
- int num_side_sets, error;
- int i, j, k, node_ctr;
- int *connect, *node_list, *node_ctr_list, *elem_list, *side_list;
- int *ids;
- int *num_elem_per_set;
- int *num_df_per_set;
- int *elem_ind, *df_ind;
- int *num_elem_in_block, *num_nodes_per_elem, *num_attr;
- int num_elem_in_set;
- int num_sides_in_set, num_df_in_set;
- int elem_list_len = 0;
- int node_list_len = 0;
- int df_list_len = 0;
- int CPU_word_size,IO_word_size;
- int idum;
-
- float *dist_fact;
- float version, fdum;
-
- char title[MAX_LINE_LENGTH+1], elem_type[MAX_STR_LENGTH+1];
- char *cdum = 0;
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use what is stored in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-
-/* open EXODUS II files */
-
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
-/* printf (" CPU word size %1d\n",CPU_word_size); */
- printf (" I/O word size %1d\n",IO_word_size);
- ex_inquire(exoid,EX_INQ_API_VERS, &idum, &version, cdum);
- printf ("EXODUSII API; version %4.2f\n", version);
-
- /* ncopts = NC_VERBOSE; */
-
-/* read database parameters */
-
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- printf ("after ex_get_init, error = %3d\n", error);
-
- printf ("database parameters:\n");
- printf ("title = '%s'\n",title);
- printf ("num_dim = %3d\n",num_dim);
- printf ("num_nodes = %3d\n",num_nodes);
- printf ("num_elem = %3d\n",num_elem);
- printf ("num_elem_blk = %3d\n",num_elem_blk);
- printf ("num_node_sets = %3d\n",num_node_sets);
- printf ("num_side_sets = %3d\n",num_side_sets);
-
-
-/* read element block parameters */
-
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- num_elem_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_nodes_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_attr = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- error = ex_get_elem_block (exoid, ids[i], elem_type,
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]), &(num_attr[i]));
- printf ("\nafter ex_get_elem_block, error = %d\n", error);
-
- printf ("element block id = %2d\n",ids[i]);
- printf ("element type = '%s'\n", elem_type);
- printf ("num_elem_in_block = %2d\n",num_elem_in_block[i]);
- printf ("num_nodes_per_elem = %2d\n",num_nodes_per_elem[i]);
- printf ("num_attr = %2d\n",num_attr[i]);
- }
-
-/* read element connectivity */
-
- for (i=0; i<num_elem_blk; i++)
- {
- connect = (int *) calloc((num_nodes_per_elem[i] * num_elem_in_block[i]),
- sizeof(int));
-
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
-
- printf ("connect array for elem block %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%3d\n", connect[j]);
- }
- free (connect);
-
- }
- free(ids);
- free(num_elem_in_block);
- free(num_nodes_per_elem);
- free(num_attr);
-
-/* read individual side sets */
-
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\nafter ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- error = ex_get_side_set_param (exoid, ids[i], &num_sides_in_set,
- &num_df_in_set);
- printf ("\nafter ex_get_side_set_param, error = %3d\n", error);
-
- printf ("side set %2d parameters:\n",ids[i]);
- printf ("num_sides = %3d\n",num_sides_in_set);
- printf ("num_dist_factors = %3d\n", num_df_in_set);
-
-
- /* Note: The # of elements is same as # of sides! */
- num_elem_in_set = num_sides_in_set;
- elem_list = (int *) calloc(num_elem_in_set, sizeof(int));
- side_list = (int *) calloc(num_sides_in_set, sizeof(int));
- node_ctr_list = (int *) calloc(num_elem_in_set, sizeof(int));
- node_list = (int *) calloc(num_elem_in_set*21, sizeof(int));
- dist_fact = (float *) calloc(num_df_in_set, sizeof(float));
-
- error = ex_get_side_set (exoid, ids[i], elem_list, side_list);
- printf ("\nafter ex_get_side_set, error = %3d\n", error);
-
- error = ex_get_side_set_node_list (exoid, ids[i], node_ctr_list,
- node_list);
- printf ("\nafter ex_get_side_set_node_list, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_side_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_side_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("element list for side set %2d\n", ids[i]);
- for (j=0; j<num_elem_in_set; j++)
- {
- printf ("%3d\n", elem_list[j]);
- }
-
- printf ("side list for side set %2d\n", ids[i]);
- for (j=0; j<num_sides_in_set; j++)
- {
- printf ("%3d\n", side_list[j]);
- }
-
- node_ctr = 0;
- printf ("node list for side set %2d\n", ids[i]);
- for (k=0; k<num_elem_in_set; k++)
- {
- printf ("%3d nodes for side %3d\n", node_ctr_list[k], k);
- for (j=0; j<node_ctr_list[k]; j++)
- {
- printf ("%3d\n", node_list[node_ctr+j]);
- }
- node_ctr += node_ctr_list[k];
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for side set %2d\n", ids[i]);
-
- for (j=0; j<num_df_in_set; j++)
- {
- printf ("%5.3f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for side set %2d\n", ids[i]);
-
- free (elem_list);
- free (side_list);
- free (node_ctr_list);
- free (node_list);
- free (dist_fact);
-
- }
- free(ids);
-
- if (num_side_sets > 0)
- {
- error = ex_inquire(exoid, EX_INQ_SS_ELEM_LEN, &elem_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_ELEM_LEN = %d, error = %d\n",
- elem_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_NODE_LEN, &node_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_NODE_LEN = %d, error = %d\n",
- node_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_DF_LEN, &df_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_DF_LEN = %d, error = %d\n",
- df_list_len, error);
- }
-
-/* read concatenated side sets; this produces the same information as
- * the above code which reads individual side sets
- */
-
-/* concatenated side set read */
-
- ids = (int *) calloc(num_side_sets, sizeof(int));
- num_elem_per_set = (int *) calloc(num_side_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_side_sets, sizeof(int));
- elem_ind = (int *) calloc(num_side_sets, sizeof(int));
- df_ind = (int *) calloc(num_side_sets, sizeof(int));
- elem_list = (int *) calloc(elem_list_len, sizeof(int));
- side_list = (int *) calloc(elem_list_len, sizeof(int));
- dist_fact = (float *) calloc(df_list_len, sizeof(float));
-
- error = ex_get_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("\nafter ex_get_concat_side_sets, error = %3d\n", error);
-
- printf ("concatenated side set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_elem_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_elem_per_set[i]);
-
- printf ("num_dist_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_df_per_set[i]);
-
- printf ("elem_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", elem_ind[i]);
-
- printf ("dist_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", df_ind[i]);
-
- printf ("elem_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", elem_list[i]);
-
- printf ("side_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", side_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<df_list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_elem_per_set);
- free (num_df_per_set);
- free (df_ind);
- free (elem_ind);
- free (elem_list);
- free (side_list);
- free (dist_fact);
-
-/* end of concatenated side set read */
-
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testrd_ss.dmp b/cbind/test/testrd_ss.dmp
deleted file mode 100644
index e0bb5ec..0000000
--- a/cbind/test/testrd_ss.dmp
+++ /dev/null
@@ -1,523 +0,0 @@
-
-after ex_open
- I/O word size 4
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 3
-num_nodes = 33
-num_elem = 8
-num_elem_blk = 8
-num_node_sets = 2
-num_side_sets = 9
-
-after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_block, error = 0
-element block id = 10
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 11
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 12
-element type = 'hex'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 13
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 14
-element type = 'wedge'
-num_elem_in_block = 1
-num_nodes_per_elem = 6
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 15
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 16
-element type = 'shell'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 17
-element type = 'triangle'
-num_elem_in_block = 1
-num_nodes_per_elem = 3
-num_attr = 1
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 11
- 5
- 6
- 7
- 8
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 12
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 13
- 17
- 18
- 19
- 20
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 14
- 21
- 22
- 23
- 24
- 25
- 26
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 15
- 17
- 18
- 19
- 20
- 27
- 28
- 30
- 29
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 16
- 1
- 2
- 3
- 4
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 17
- 30
- 31
- 32
-
-after ex_get_side_set_ids, error = 0
-
-after ex_get_side_set_param, error = 0
-side set 30 parameters:
-num_sides = 0
-num_dist_factors = 0
-
-after ex_get_side_set, error = 1
-
-after ex_get_side_set_node_list, error = 1
-element list for side set 30
-side list for side set 30
-node list for side set 30
-no dist factors for side set 30
-
-after ex_get_side_set_param, error = 0
-side set 31 parameters:
-num_sides = 0
-num_dist_factors = 0
-
-after ex_get_side_set, error = 1
-
-after ex_get_side_set_node_list, error = 1
-element list for side set 31
-side list for side set 31
-node list for side set 31
-no dist factors for side set 31
-
-after ex_get_side_set_param, error = 0
-side set 32 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 32
- 2
- 2
-side list for side set 32
- 4
- 2
-node list for side set 32
- 2 nodes for side 0
- 8
- 5
- 2 nodes for side 1
- 6
- 7
-dist factors for side set 32
-30.000
-30.100
-30.200
-30.300
-
-after ex_get_side_set_param, error = 0
-side set 33 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 33
- 1
- 2
-side list for side set 33
- 2
- 3
-node list for side set 33
- 2 nodes for side 0
- 2
- 3
- 2 nodes for side 1
- 7
- 8
-dist factors for side set 33
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_side_set_param, error = 0
-side set 34 parameters:
-num_sides = 7
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 34
- 3
- 3
- 3
- 3
- 3
- 3
- 3
-side list for side set 34
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-node list for side set 34
- 4 nodes for side 0
- 9
- 12
- 11
- 10
- 4 nodes for side 1
- 11
- 12
- 16
- 15
- 4 nodes for side 2
- 11
- 12
- 16
- 15
- 4 nodes for side 3
- 10
- 11
- 15
- 14
- 4 nodes for side 4
- 9
- 13
- 16
- 12
- 4 nodes for side 5
- 9
- 10
- 14
- 13
- 4 nodes for side 6
- 13
- 14
- 15
- 16
-no dist factors for side set 34
-
-after ex_get_side_set_param, error = 0
-side set 35 parameters:
-num_sides = 4
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 35
- 4
- 4
- 4
- 4
-side list for side set 35
- 1
- 2
- 3
- 4
-node list for side set 35
- 3 nodes for side 0
- 17
- 18
- 20
- 3 nodes for side 1
- 18
- 19
- 20
- 3 nodes for side 2
- 17
- 20
- 19
- 3 nodes for side 3
- 17
- 19
- 18
-no dist factors for side set 35
-
-after ex_get_side_set_param, error = 0
-side set 36 parameters:
-num_sides = 2
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 36
- 7
- 7
-side list for side set 36
- 1
- 2
-node list for side set 36
- 4 nodes for side 0
- 1
- 2
- 3
- 4
- 4 nodes for side 1
- 1
- 4
- 3
- 2
-no dist factors for side set 36
-
-after ex_get_side_set_param, error = 0
-side set 37 parameters:
-num_sides = 4
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 37
- 7
- 7
- 7
- 7
-side list for side set 37
- 3
- 4
- 5
- 6
-node list for side set 37
- 2 nodes for side 0
- 1
- 2
- 2 nodes for side 1
- 2
- 3
- 2 nodes for side 2
- 3
- 4
- 2 nodes for side 3
- 4
- 1
-no dist factors for side set 37
-
-after ex_get_side_set_param, error = 0
-side set 38 parameters:
-num_sides = 2
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 38
- 8
- 8
-side list for side set 38
- 1
- 2
-node list for side set 38
- 3 nodes for side 0
- 30
- 31
- 32
- 3 nodes for side 1
- 32
- 31
- 30
-no dist factors for side set 38
-
-after ex_inquire: EX_INQ_SS_ELEM_LEN = 23, error = 0
-
-after ex_inquire: EX_INQ_SS_NODE_LEN = 70, error = 0
-
-after ex_inquire: EX_INQ_SS_DF_LEN = 8, error = 0
-
-after ex_get_concat_side_sets, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
-num_elem_per_set =
- 0
- 0
- 2
- 2
- 7
- 4
- 2
- 4
- 2
-num_dist_per_set =
- 0
- 0
- 4
- 4
- 0
- 0
- 0
- 0
- 0
-elem_ind =
- 0
- 0
- 0
- 2
- 4
- 11
- 15
- 17
- 21
-dist_ind =
- 0
- 0
- 0
- 4
- 8
- 8
- 8
- 8
- 8
-elem_list =
- 2
- 2
- 1
- 2
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 4
- 4
- 4
- 4
- 7
- 7
- 7
- 7
- 7
- 7
- 8
- 8
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after ex_close, error = 0
diff --git a/cbind/test/testrd_zeroe.dmp b/cbind/test/testrd_zeroe.dmp
deleted file mode 100644
index 9bef1e7..0000000
--- a/cbind/test/testrd_zeroe.dmp
+++ /dev/null
@@ -1,345 +0,0 @@
-
-after ex_open
- I/O word size 4
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 3
-num_nodes = 33
-num_elem = 0
-num_elem_blk = 0
-num_node_sets = 2
-num_side_sets = 0
- after ex_inquire, error = 0
-
-after ex_get_coord, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
- 2.7
- 3.3
- 1.7
- 2.3
- 0.0
- 0.0
- 10.0
-
-after ex_get_coord_names, error = 0
-x coord name = 'xcoor'
-y coord name = 'ycoor'
-z coord name = 'zcoor'
- after ex_get_attr_param, error = 0
-num nodal attributes = 0
-
-after ex_get_map, error = 0
-
-after ex_get_node_set_ids, error = 0
-
-after ex_get_names, error = 0
-
-after ex_get_node_set_param, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-name = ''
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 20
- 10
- 11
- 12
- 13
- 14
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 20 = 0
-
-after ex_get_node_set_param, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-name = ''
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 21
- 20
- 21
- 22
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
- after ex_get_attr_param, error = 0
-num nodeset attributes for nodeset 21 = 0
-
-after ex_inquire, error = 0
-
-There are 3 properties for each node set
-after ex_get_prop_names, error = 0
-node set 1, property( 1): 'ID'= 20
-node set 2, property( 1): 'ID'= 21
-node set 1, property( 2): 'FACE'= 4
-node set 2, property( 2): 'FACE'= 5
-node set 1, property( 3): 'VELOCITY'= 1000
-node set 2, property( 3): 'VELOCITY'= 2000
-
-after ex_inquire, error = 0
-
-after ex_inquire: EX_INQ_NS_NODE_LEN = 8, error = 0
-
-after ex_inquire: EX_INQ_NS_DF_LEN = 8, error = 0
-
-after ex_get_concat_node_sets, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 0
- 5
-node_list =
- 10
- 11
- 12
- 13
- 14
- 20
- 21
- 22
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWT'
- 'testwt'
- '07/07/93'
- '15:41:33'
- ''
- ''
- ''
- ''
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- ''
- ''
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 1 global variables; their names are :
- 'glo_vars'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 2 nodal variables; their names are :
- 'node_variable_a_very_long_name_0'
- 'nod_var1'
-
-after ex_get_var_param, error = 0
-
-after ex_inquire, error = 0
-There are 10 time steps in the database.
-
-after ex_get_time, error = 0
-time value at time step 3 = 0.030
-
-after ex_get_all_times, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after ex_get_glob_vars, error = 0
-global variable values at time step 3
-0.060
-
-after ex_get_glob_var_time, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after ex_get_nodal_var, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-1.810
-1.840
-1.870
-1.900
-1.930
-1.960
-1.990
-
-after ex_get_nodal_var_time, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
-after ex_close, error = 0
diff --git a/cbind/test/testrd_zeron.dmp b/cbind/test/testrd_zeron.dmp
deleted file mode 100644
index ec494dc..0000000
--- a/cbind/test/testrd_zeron.dmp
+++ /dev/null
@@ -1,86 +0,0 @@
-
-after ex_open
- I/O word size 4
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 1
-num_nodes = 0
-num_elem = 0
-num_elem_blk = 0
-num_node_sets = 0
-num_side_sets = 0
- after ex_inquire, error = 0
-
-after ex_get_coord, error = 0
-x coords =
-
-after ex_get_coord_names, error = 0
-x coord name = 'xcoor'
- after ex_get_attr_param, error = 0
-num nodal attributes = 0
-
-after ex_get_map, error = 0
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWT'
- 'testwt'
- '07/07/93'
- '15:41:33'
- ''
- ''
- ''
- ''
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- ''
- ''
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 1 global variables; their names are :
- 'glo_vars'
-
-after ex_inquire, error = 0
-There are 10 time steps in the database.
-
-after ex_get_time, error = 0
-time value at time step 3 = 0.030
-
-after ex_get_all_times, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after ex_get_glob_vars, error = 0
-global variable values at time step 3
-0.060
-
-after ex_get_glob_var_time, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after ex_close, error = 0
diff --git a/cbind/test/testrdd.c b/cbind/test/testrdd.c
deleted file mode 100644
index 5ecf7fb..0000000
--- a/cbind/test/testrdd.c
+++ /dev/null
@@ -1,900 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/******************************************************************************
-* testrdd - read exodus file test.exo created by testwt - double precision
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-* int exoid exodus file id
-*
-* exit conditions -
-*
-* revision history -
-*
-* Original L. A. Schoof
-* 04/05/93 V.R. Yarberry - revised so that output resembles Fortran version
-* 06/25/93 VRY - revised to match 2.00 API.
-*
-*****************************************************************************/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk, num_node_sets;
- int num_side_sets, error;
- int i, j, k, node_ctr;
- int *elem_map, *connect, *node_list, *node_ctr_list, *elem_list, *side_list;
- int *ids;
- int *num_nodes_per_set, *num_elem_per_set;
- int *num_df_per_set;
- int *node_ind, *elem_ind, *df_ind, num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int *truth_tab;
- int num_time_steps;
- int *num_elem_in_block, *num_nodes_per_elem, *num_attr;
- int num_nodes_in_set, num_elem_in_set;
- int num_sides_in_set, num_df_in_set;
- int list_len = 0;
- int elem_list_len = 0;
- int node_list_len = 0;
- int df_list_len = 0;
- int node_num, time_step, var_index, beg_time, end_time, elem_num;
- int CPU_word_size,IO_word_size;
- int num_props, prop_value, *prop_values;
-
- double time_value, *time_values, *var_values;
- double *x, *y, *z;
- double attrib[1], *dist_fact;
- float version, fdum;
-
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char title[MAX_LINE_LENGTH+1], elem_type[MAX_STR_LENGTH+1];
- char *cdum = 0;
- char *prop_names[3];
-
- CPU_word_size = 8; /* sizeof(double) */
- IO_word_size = 0; /* use what is stored in file */
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* open EXODUS II files */
-
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- printf ("\nafter ex_open\n");
- if (exoid < 0) exit(1);
-
- printf ("test.exo is an EXODUSII file; version %4.2f\n",
- version);
- printf (" CPU word size %1d\n",CPU_word_size);
- printf (" I/O word size %1d\n",IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* read database parameters */
-
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- printf ("after ex_get_init, error = %3d\n", error);
-
- printf ("database parameters:\n");
- printf ("title = '%s'\n",title);
- printf ("num_dim = %3d\n",num_dim);
- printf ("num_nodes = %3d\n",num_nodes);
- printf ("num_elem = %3d\n",num_elem);
- printf ("num_elem_blk = %3d\n",num_elem_blk);
- printf ("num_node_sets = %3d\n",num_node_sets);
- printf ("num_side_sets = %3d\n",num_side_sets);
-
-/* read nodal coordinates values and names from database */
-
- x = (double *) calloc(num_nodes, sizeof(double));
- y = (double *) calloc(num_nodes, sizeof(double));
- if (num_dim >= 3)
- z = (double *) calloc(num_nodes, sizeof(double));
- else
- z = 0;
-
-
- error = ex_get_coord (exoid, x, y, z);
- printf ("\nafter ex_get_coord, error = %3d\n", error);
-
- printf ("x coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", x[i]);
- }
-
- printf ("y coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", y[i]);
- }
-
- if (num_dim >= 3)
- {
- printf ("z coords = \n");
- for (i=0; i<num_nodes; i++)
- {
- printf ("%5.1f\n", z[i]);
- }
- }
-
-
-/*
- error = ex_get_1_coord (exoid, 2, x, y, z);
- printf ("\nafter ex_get_1_coord, error = %3d\n", error);
-
- printf ("x coord of node 2 = \n");
- printf ("%f \n", x[0]);
-
- printf ("y coord of node 2 = \n");
- printf ("%f \n", y[0]);
-*/
- free (x);
- free (y);
- if (num_dim >= 3)
- free (z);
-
-
- for (i=0; i<num_dim; i++)
- {
- coord_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_coord_names (exoid, coord_names);
- printf ("\nafter ex_get_coord_names, error = %3d\n", error);
-
- printf ("x coord name = '%s'\n", coord_names[0]);
- printf ("y coord name = '%s'\n", coord_names[1]);
-
- for (i=0; i<num_dim; i++)
- free(coord_names[i]);
-
-
-/* read element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- error = ex_get_map (exoid, elem_map);
- printf ("\nafter ex_get_map, error = %3d\n", error);
-
- for (i=0; i<num_elem; i++)
- {
- printf ("elem_map(%d) = %d \n", i, elem_map[i]);
- }
-
- free (elem_map);
-
-/* read element block parameters */
-
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- num_elem_in_block = (int *) calloc(num_elem_blk, sizeof(int));
- num_nodes_per_elem = (int *) calloc(num_elem_blk, sizeof(int));
- num_attr = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- error = ex_get_elem_block (exoid, ids[i], elem_type,
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]), &(num_attr[i]));
- printf ("\nafter ex_get_elem_block, error = %d\n", error);
-
- printf ("element block id = %2d\n",ids[i]);
- printf ("element type = '%s'\n", elem_type);
- printf ("num_elem_in_block = %2d\n",num_elem_in_block[i]);
- printf ("num_nodes_per_elem = %2d\n",num_nodes_per_elem[i]);
- printf ("num_attr = %2d\n",num_attr[i]);
- }
-
- /* read element block properties */
- error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each element block\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_ELEM_BLOCK,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- error = ex_get_prop(exoid, EX_ELEM_BLOCK, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("element block %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
-
-/* read element connectivity */
-
- for (i=0; i<num_elem_blk; i++)
- {
- connect = (int *) calloc((num_nodes_per_elem[i] * num_elem_in_block[i]),
- sizeof(int));
-
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
-
- printf ("connect array for elem block %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%3d\n", connect[j]);
- }
-/*
- error = ex_get_1_elem_conn (exoid, 1, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- printf ("node list for first element of element block %d \n ", ids[i]);
- for (j=0; j<num_nodes_per_elem[i]; j++)
- {
- printf ("%d \n", connect[j]);
- }
-*/
- free (connect);
-
- }
-
-/* read element block attributes */
-
- for (i=0; i<num_elem_blk; i++)
- {
- error = ex_get_elem_attr (exoid, ids[i], attrib);
- printf ("\n after ex_get_elem_attr, error = %d\n", error);
-
- if (error == 0)
- printf ("element block %d attributes = %10.8f\n", ids[i], *attrib);
- }
-
- free (ids);
- free (num_nodes_per_elem);
- free (num_attr);
-
-/* read individual node sets */
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\nafter ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- error = ex_get_node_set_param (exoid, ids[i],
- &num_nodes_in_set, &num_df_in_set);
- printf ("\nafter ex_get_node_set_param, error = %3d\n", error);
-
- printf ("\nnode set %2d parameters: \n", ids[i]);
- printf ("num_nodes = %2d\n", num_nodes_in_set);
-
- node_list = (int *) calloc(num_nodes_in_set, sizeof(int));
- dist_fact = (double *) calloc(num_nodes_in_set, sizeof(double));
-
- error = ex_get_node_set (exoid, ids[i], node_list);
- printf ("\nafter ex_get_node_set, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_node_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_node_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("\nnode list for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%3d\n", node_list[j]);
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for node set %2d\n", ids[i]);
-
- for (j=0; j<num_nodes_in_set; j++)
- {
- printf ("%5.2f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for node set %2d\n", ids[i]);
-
- free (node_list);
- free (dist_fact);
- }
- free(ids);
-
- /* read node set properties */
- error = ex_inquire (exoid, EX_INQ_NS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each node set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- prop_values = (int *) calloc (num_node_sets, sizeof(int));
-
- error = ex_get_prop_names(exoid,EX_NODE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
- for (i=0; i<num_props; i++)
- {
- error = ex_get_prop_array(exoid, EX_NODE_SET, prop_names[i],
- prop_values);
- if (error == 0)
- for (j=0; j<num_node_sets; j++)
- printf ("node set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_values[j]);
- else
- printf ("after ex_get_prop_array, error = %d\n", error);
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free(prop_values);
-
-/* read concatenated node sets; this produces the same information as
- * the above code which reads individual node sets
- */
-
- error = ex_inquire (exoid, EX_INQ_NODE_SETS, &num_node_sets, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n",error);
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
- num_nodes_per_set = (int *) calloc(num_node_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_node_sets, sizeof(int));
- node_ind = (int *) calloc(num_node_sets, sizeof(int));
- df_ind = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_NODE_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_NODE_LEN = %d, error = %3d\n",
- list_len, error);
-
- node_list = (int *) calloc(list_len, sizeof(int));
-
- error = ex_inquire (exoid, EX_INQ_NS_DF_LEN, &list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_NS_DF_LEN = %d, error = %3d\n",
- list_len, error);
- dist_fact = (double *) calloc(list_len, sizeof(double));
-
- error = ex_get_concat_node_sets (exoid,ids,num_nodes_per_set,num_df_per_set,
- node_ind, df_ind, node_list, dist_fact);
- printf ("\nafter ex_get_concat_node_sets, error = %3d\n", error);
-
- printf ("\nconcatenated node set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_nodes_per_set = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", num_nodes_per_set[i]);
-
- printf ("node_ind = \n");
- for (i=0; i<num_node_sets; i++) printf ("%3d\n", node_ind[i]);
-
- printf ("node_list = \n");
- for (i=0; i<list_len; i++) printf ("%3d\n", node_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_nodes_per_set);
- free (df_ind);
- free (node_ind);
- free (num_df_per_set);
- free (node_list);
- free (dist_fact);
-
-
-/* read individual side sets */
-
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\nafter ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- error = ex_get_side_set_param (exoid, ids[i], &num_sides_in_set,
- &num_df_in_set);
- printf ("\nafter ex_get_side_set_param, error = %3d\n", error);
-
- printf ("side set %2d parameters:\n",ids[i]);
- printf ("num_sides = %3d\n",num_sides_in_set);
- printf ("num_dist_factors = %3d\n", num_df_in_set);
-
-
- /* Note: The # of elements is same as # of sides! */
- num_elem_in_set = num_sides_in_set;
- elem_list = (int *) calloc(num_elem_in_set, sizeof(int));
- side_list = (int *) calloc(num_sides_in_set, sizeof(int));
- node_ctr_list = (int *) calloc(num_elem_in_set, sizeof(int));
- node_list = (int *) calloc(num_elem_in_set*21, sizeof(int));
- dist_fact = (double *) calloc(num_df_in_set, sizeof(double));
-
- error = ex_get_side_set (exoid, ids[i], elem_list, side_list);
- printf ("\nafter ex_get_side_set, error = %3d\n", error);
-
- error = ex_get_side_set_node_list (exoid, ids[i], node_ctr_list,
- node_list);
- printf ("\nafter ex_get_side_set_node_list, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_side_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_side_set_dist_fact, error = %3d\n", error);
- }
-
- printf ("element list for side set %2d\n", ids[i]);
-
- for (j=0; j<num_elem_in_set; j++)
- {
- printf ("%3d\n", elem_list[j]);
- }
-
- printf ("side list for side set %2d\n", ids[i]);
- for (j=0; j<num_sides_in_set; j++)
- {
- printf ("%3d\n", side_list[j]);
- }
-
- node_ctr = 0;
- printf ("node list for side set %2d\n", ids[i]);
- for (k=0; k<num_elem_in_set; k++)
- {
- for (j=0; j<node_ctr_list[k]; j++)
- {
- printf ("%3d\n", node_list[node_ctr+j]);
- }
- node_ctr += node_ctr_list[k];
- }
-
- if (num_df_in_set > 0)
- {
- printf ("dist factors for side set %2d\n", ids[i]);
-
- for (j=0; j<num_df_in_set; j++)
- {
- printf ("%5.3f\n", dist_fact[j]);
- }
- }
- else
- printf ("no dist factors for side set %2d\n", ids[i]);
-
- free (elem_list);
- free (side_list);
- free (node_ctr_list);
- free (node_list);
- free (dist_fact);
- }
-
- /* read side set properties */
- error = ex_inquire (exoid, EX_INQ_SS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
- printf ("\nThere are %2d properties for each side set\n", num_props);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_SIDE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- error = ex_get_prop(exoid, EX_SIDE_SET, ids[j], prop_names[i],
- &prop_value);
- if (error == 0)
- printf ("side set %2d, property(%2d): '%s'= %5d\n",
- j+1, i+1, prop_names[i], prop_value);
- else
- printf ("after ex_get_prop, error = %d\n", error);
- }
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free (ids);
-
- error = ex_inquire (exoid, EX_INQ_SIDE_SETS, &num_side_sets, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SIDE_SETS = %d, error = %d\n",
- num_side_sets, error);
-
- if (num_side_sets > 0)
- {
- error = ex_inquire(exoid, EX_INQ_SS_ELEM_LEN, &elem_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_ELEM_LEN = %d, error = %d\n",
- elem_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_NODE_LEN, &node_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_NODE_LEN = %d, error = %d\n",
- node_list_len, error);
-
- error = ex_inquire(exoid, EX_INQ_SS_DF_LEN, &df_list_len, &fdum, cdum);
- printf ("\nafter ex_inquire: EX_INQ_SS_DF_LEN = %d, error = %d\n",
- df_list_len, error);
- }
-
-/* read concatenated side sets; this produces the same information as
- * the above code which reads individual side sets
- */
-
-/* concatenated side set read */
-
- ids = (int *) calloc(num_side_sets, sizeof(int));
- num_elem_per_set = (int *) calloc(num_side_sets, sizeof(int));
- num_df_per_set = (int *) calloc(num_side_sets, sizeof(int));
- elem_ind = (int *) calloc(num_side_sets, sizeof(int));
- df_ind = (int *) calloc(num_side_sets, sizeof(int));
- elem_list = (int *) calloc(elem_list_len, sizeof(int));
- side_list = (int *) calloc(elem_list_len, sizeof(int));
- dist_fact = (double *) calloc(df_list_len, sizeof(double));
-
- error = ex_get_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("\nafter ex_get_concat_side_sets, error = %3d\n", error);
-
- printf ("concatenated side set info\n");
-
- printf ("ids = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", ids[i]);
-
- printf ("num_elem_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_elem_per_set[i]);
-
- printf ("num_dist_per_set = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", num_df_per_set[i]);
-
- printf ("elem_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", elem_ind[i]);
-
- printf ("dist_ind = \n");
- for (i=0; i<num_side_sets; i++) printf ("%3d\n", df_ind[i]);
-
- printf ("elem_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", elem_list[i]);
-
- printf ("side_list = \n");
- for (i=0; i<elem_list_len; i++) printf ("%3d\n", side_list[i]);
-
- printf ("dist_fact = \n");
- for (i=0; i<df_list_len; i++) printf ("%5.3f\n", dist_fact[i]);
-
- free (ids);
- free (num_elem_per_set);
- free (num_df_per_set);
- free (df_ind);
- free (elem_ind);
- free (elem_list);
- free (side_list);
- free (dist_fact);
-
-/* end of concatenated side set read */
-
-/* read QA records */
-
- ex_inquire (exoid, EX_INQ_QA, &num_qa_rec, &fdum, cdum);
-
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- qa_record[i][j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- }
-
- error = ex_get_qa (exoid, qa_record);
- printf ("\nafter ex_get_qa, error = %3d\n", error);
-
- printf ("QA records = \n");
- for (i=0; i<num_qa_rec; i++)
- {
- for (j=0; j<4; j++)
- {
- printf (" '%s'\n", qa_record[i][j]);
- free(qa_record[i][j]);
- }
- }
-
-
-/* read information records */
-
- error = ex_inquire (exoid, EX_INQ_INFO, &num_info, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_info (exoid, info);
- printf ("\nafter ex_get_info, error = %3d\n", error);
-
- printf ("info records = \n");
- for (i=0; i<num_info; i++)
- {
- printf (" '%s'\n", info[i]);
- free(info[i]);
- }
-
-
-/* read global variables parameters and names */
-
- error = ex_get_var_param (exoid, "g", &num_glo_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_glo_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d global variables; their names are :\n",
- num_glo_vars);
- for (i=0; i<num_glo_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
-
-/* read nodal variables parameters and names */
-
- error = ex_get_var_param (exoid, "n", &num_nod_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_nod_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d nodal variables; their names are :\n", num_nod_vars);
- for (i=0; i<num_nod_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
-/* read element variables parameters and names */
-
- error = ex_get_var_param (exoid, "e", &num_ele_vars);
- printf ("\nafter ex_get_var_param, error = %3d\n", error);
-
- for (i=0; i<num_ele_vars; i++)
- {
- var_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("\nafter ex_get_var_names, error = %3d\n", error);
-
- printf ("There are %2d element variables; their names are :\n",
- num_ele_vars);
- for (i=0; i<num_ele_vars; i++)
- {
- printf (" '%s'\n", var_names[i]);
- free(var_names[i]);
- }
-
-
-/* read element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- error = ex_get_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("\nafter ex_get_elem_var_tab, error = %3d\n", error);
-
- printf ("This is the element variable truth table:\n");
-
- k = 0;
- for (i=0; i<num_elem_blk*num_ele_vars; i++)
- {
- printf ("%2d\n", truth_tab[k++]);
- }
- free (truth_tab);
-
-/* determine how many time steps are stored */
-
- error = ex_inquire (exoid, EX_INQ_TIME, &num_time_steps, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
- printf ("There are %2d time steps in the database.\n", num_time_steps);
-
-/* read time value at one time step */
-
- time_step = 3;
- error = ex_get_time (exoid, time_step, &time_value);
- printf ("\nafter ex_get_time, error = %3d\n", error);
-
- printf ("time value at time step %2d = %5.3f\n", time_step, time_value);
-
-/* read time values at all time steps */
-
- time_values = (double *) calloc (num_time_steps, sizeof(double));
-
- error = ex_get_all_times (exoid, time_values);
- printf ("\nafter ex_get_all_times, error = %3d\n", error);
-
- printf ("time values at all time steps are:\n");
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", time_values[i]);
-
- free (time_values);
-
-/* read all global variables at one time step */
-
- var_values = (double *) calloc (num_glo_vars, sizeof(double));
-
- error = ex_get_glob_vars (exoid, time_step, num_glo_vars, var_values);
- printf ("\nafter ex_get_glob_vars, error = %3d\n", error);
-
- printf ("global variable values at time step %2d\n", time_step);
- for (i=0; i<num_glo_vars; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read a single global variable through time */
-
- var_index = 1;
- beg_time = 1;
- end_time = -1;
-
- var_values = (double *) calloc (num_time_steps, sizeof(double));
-
- error = ex_get_glob_var_time (exoid, var_index, beg_time, end_time,
- var_values);
- printf ("\nafter ex_get_glob_var_time, error = %3d\n", error);
-
- printf ("global variable %2d values through time:\n", var_index);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read a nodal variable at one time step */
-
- var_values = (double *) calloc (num_nodes, sizeof(double));
-
- error = ex_get_nodal_var (exoid, time_step, var_index, num_nodes,
- var_values);
- printf ("\nafter ex_get_nodal_var, error = %3d\n", error);
-
- printf ("nodal variable %2d values at time step %2d\n", var_index,
- time_step);
- for (i=0; i<num_nodes; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read a nodal variable through time */
-
- var_values = (double *) calloc (num_time_steps, sizeof(double));
-
- node_num = 1;
- error = ex_get_nodal_var_time (exoid, var_index, node_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_nodal_var_time, error = %3d\n", error);
-
- printf ("nodal variable %2d values for node %2d through time:\n", var_index,
- node_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
-/* read an element variable at one time step */
-
- ids = (int *) calloc(num_elem_blk, sizeof(int));
-
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\n after ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- var_values = (double *) calloc (num_elem_in_block[i], sizeof(double));
-
- error = ex_get_elem_var (exoid, time_step, var_index, ids[i],
- num_elem_in_block[i], var_values);
- printf ("\nafter ex_get_elem_var, error = %3d\n", error);
-
- if (!error)
- {
- printf
- ("element variable %2d values of element block %2d at time step %2d\n",
- var_index, ids[i], time_step);
- for (j=0; j<num_elem_in_block[i]; j++)
- printf ("%5.3f\n", var_values[j]);
- }
-
- free (var_values);
- }
- free (num_elem_in_block);
- free(ids);
-
-/* read an element variable through time */
-
- var_values = (double *) calloc (num_time_steps, sizeof(double));
-
- var_index = 2;
- elem_num = 2;
- error = ex_get_elem_var_time (exoid, var_index, elem_num, beg_time,
- end_time, var_values);
- printf ("\nafter ex_get_elem_var_time, error = %3d\n", error);
-
- printf ("element variable %2d values for element %2d through time:\n",
- var_index, elem_num);
- for (i=0; i<num_time_steps; i++) printf ("%5.3f\n", var_values[i]);
-
- free (var_values);
-
- error = ex_close (exoid);
- printf ("\nafter ex_close, error = %3d\n", error);
- return 0;
-}
diff --git a/cbind/test/testrdd.dmp b/cbind/test/testrdd.dmp
deleted file mode 100644
index eec0204..0000000
--- a/cbind/test/testrdd.dmp
+++ /dev/null
@@ -1,775 +0,0 @@
-
-after ex_open
- CPU word size 8
- I/O word size 8
-after ex_get_init, error = 0
-database parameters:
-title = 'This is a test'
-num_dim = 3
-num_nodes = 26
-num_elem = 5
-num_elem_blk = 5
-num_node_sets = 2
-num_side_sets = 5
-
-after ex_get_coord, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
-
-after ex_get_coord_names, error = 0
-x coord name = 'xcoor'
-y coord name = 'ycoor'
-
-after ex_get_map, error = 0
-elem_map(0) = 1
-elem_map(1) = 2
-elem_map(2) = 3
-elem_map(3) = 4
-elem_map(4) = 5
-
-after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_block, error = 0
-element block id = 10
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 11
-element type = 'quad'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 12
-element type = 'hex'
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 13
-element type = 'tetra'
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after ex_get_elem_block, error = 0
-element block id = 14
-element type = 'wedge'
-num_elem_in_block = 1
-num_nodes_per_elem = 6
-num_attr = 1
-
-after ex_inquire, error = 0
-
-There are 3 properties for each element block
-after ex_get_prop_names, error = 0
-element block 1, property( 1): 'ID'= 10
-element block 2, property( 1): 'ID'= 11
-element block 3, property( 1): 'ID'= 12
-element block 4, property( 1): 'ID'= 13
-element block 5, property( 1): 'ID'= 14
-element block 1, property( 2): 'MATL'= 10
-element block 2, property( 2): 'MATL'= 20
-element block 3, property( 2): 'MATL'= 30
-element block 4, property( 2): 'MATL'= 40
-element block 5, property( 2): 'MATL'= 50
-element block 1, property( 3): 'DENSITY'= 0
-element block 2, property( 3): 'DENSITY'= 0
-element block 3, property( 3): 'DENSITY'= 0
-element block 4, property( 3): 'DENSITY'= 0
-element block 5, property( 3): 'DENSITY'= 0
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 11
- 5
- 6
- 7
- 8
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 12
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 13
- 17
- 18
- 19
- 20
-
-after ex_get_elem_conn, error = 0
-connect array for elem block 14
- 21
- 22
- 23
- 24
- 25
- 26
-
- after ex_get_elem_attr, error = 0
-element block 10 attributes = 3.14159000
-
- after ex_get_elem_attr, error = 0
-element block 11 attributes = 6.14159000
-
- after ex_get_elem_attr, error = 0
-element block 12 attributes = 6.14159000
-
- after ex_get_elem_attr, error = 0
-element block 13 attributes = 6.14159000
-
- after ex_get_elem_attr, error = 0
-element block 14 attributes = 6.14159000
-
-after ex_get_node_set_ids, error = 0
-
-after ex_get_node_set_param, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 20
- 10
- 11
- 12
- 13
- 14
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
-
-after ex_get_node_set_param, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-
-after ex_get_node_set, error = 0
-
-after ex_get_node_set_dist_fact, error = 0
-
-node list for node set 21
- 20
- 21
- 22
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
-
-after ex_inquire, error = 0
-
-There are 3 properties for each node set
-after ex_get_prop_names, error = 0
-node set 1, property( 1): 'ID'= 20
-node set 2, property( 1): 'ID'= 21
-node set 1, property( 2): 'FACE'= 4
-node set 2, property( 2): 'FACE'= 5
-node set 1, property( 3): 'VELOCITY'= 1000
-node set 2, property( 3): 'VELOCITY'= 2000
-
-after ex_inquire, error = 0
-
-after ex_inquire: EX_INQ_NS_NODE_LEN = 8, error = 0
-
-after ex_inquire: EX_INQ_NS_DF_LEN = 8, error = 0
-
-after ex_get_concat_node_sets, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 0
- 5
-node_list =
- 10
- 11
- 12
- 13
- 14
- 20
- 21
- 22
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after ex_get_side_set_ids, error = 0
-
-after ex_get_side_set_param, error = 0
-side set 30 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 30
- 2
- 2
-side list for side set 30
- 4
- 2
-node list for side set 30
- 8
- 5
- 6
- 7
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after ex_get_side_set_param, error = 0
-side set 31 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-
-after ex_get_side_set_dist_fact, error = 0
-element list for side set 31
- 1
- 2
-side list for side set 31
- 2
- 3
-node list for side set 31
- 2
- 3
- 7
- 8
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_side_set_param, error = 0
-side set 32 parameters:
-num_sides = 7
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 32
- 3
- 3
- 3
- 3
- 3
- 3
- 3
-side list for side set 32
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-node list for side set 32
- 9
- 12
- 11
- 10
- 11
- 12
- 16
- 15
- 11
- 12
- 16
- 15
- 10
- 11
- 15
- 14
- 9
- 13
- 16
- 12
- 9
- 10
- 14
- 13
- 13
- 14
- 15
- 16
-no dist factors for side set 32
-
-after ex_get_side_set_param, error = 0
-side set 33 parameters:
-num_sides = 4
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 33
- 4
- 4
- 4
- 4
-side list for side set 33
- 1
- 2
- 3
- 4
-node list for side set 33
- 17
- 18
- 20
- 18
- 19
- 20
- 17
- 20
- 19
- 17
- 19
- 18
-no dist factors for side set 33
-
-after ex_get_side_set_param, error = 0
-side set 34 parameters:
-num_sides = 5
-num_dist_factors = 0
-
-after ex_get_side_set, error = 0
-
-after ex_get_side_set_node_list, error = 0
-element list for side set 34
- 5
- 5
- 5
- 5
- 5
-side list for side set 34
- 1
- 2
- 3
- 4
- 5
-node list for side set 34
- 21
- 22
- 25
- 24
- 22
- 23
- 26
- 25
- 21
- 24
- 26
- 23
- 21
- 23
- 22
- 24
- 25
- 26
-no dist factors for side set 34
-
-after ex_inquire, error = 0
-
-There are 2 properties for each side set
-after ex_get_prop_names, error = 0
-side set 1, property( 1): 'ID'= 30
-side set 2, property( 1): 'ID'= 31
-side set 3, property( 1): 'ID'= 32
-side set 4, property( 1): 'ID'= 33
-side set 5, property( 1): 'ID'= 34
-side set 1, property( 2): 'COLOR'= 100
-side set 2, property( 2): 'COLOR'= 101
-side set 3, property( 2): 'COLOR'= 0
-side set 4, property( 2): 'COLOR'= 0
-side set 5, property( 2): 'COLOR'= 0
-
-after ex_inquire: EX_INQ_SIDE_SETS = 5, error = 0
-
-after ex_inquire: EX_INQ_SS_ELEM_LEN = 20, error = 0
-
-after ex_inquire: EX_INQ_SS_NODE_LEN = 66, error = 0
-
-after ex_inquire: EX_INQ_SS_DF_LEN = 8, error = 0
-
-after ex_get_concat_side_sets, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
-num_elem_per_set =
- 2
- 2
- 7
- 4
- 5
-num_dist_per_set =
- 4
- 4
- 0
- 0
- 0
-elem_ind =
- 0
- 2
- 4
- 11
- 15
-dist_ind =
- 0
- 4
- 8
- 8
- 8
-elem_list =
- 2
- 2
- 1
- 2
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 4
- 4
- 4
- 4
- 5
- 5
- 5
- 5
- 5
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after ex_get_qa, error = 0
-QA records =
- 'TESTWTD'
- 'testwtd'
- '07/07/93'
- '15:41:33'
- 'FASTQ'
- 'fastq'
- '07/07/93'
- '16:41:33'
-
-after ex_inquire, error = 0
-
-after ex_get_info, error = 0
-info records =
- 'This is the first information record.'
- 'This is the second information record.'
- 'This is the third information record.'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 1 global variables; their names are :
- 'glo_vars'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 2 nodal variables; their names are :
- 'nod_var0'
- 'nod_var1'
-
-after ex_get_var_param, error = 0
-
-after ex_get_var_names, error = 0
-There are 3 element variables; their names are :
- 'ele_var0'
- 'ele_var1'
- 'ele_var2'
-
-after ex_get_elem_var_tab, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after ex_inquire, error = 0
-There are 10 time steps in the database.
-
-after ex_get_time, error = 0
-time value at time step 3 = 0.030
-
-after ex_get_all_times, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after ex_get_glob_vars, error = 0
-global variable values at time step 3
-0.060
-
-after ex_get_glob_var_time, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after ex_get_nodal_var, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-
-after ex_get_nodal_var_time, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
- after ex_get_elem_blk_ids, error = 0
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 10 at time step 3
-4.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 11 at time step 3
-5.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 12 at time step 3
-6.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 13 at time step 3
-7.030
-
-after ex_get_elem_var, error = 0
-element variable 1 values of element block 14 at time step 3
-8.030
-
-after ex_get_elem_var_time, error = 0
-element variable 2 values for element 2 through time:
-6.010
-6.020
-6.030
-6.040
-6.050
-6.060
-6.070
-6.080
-6.090
-6.100
-
-after ex_close, error = 0
diff --git a/cbind/test/testrdwt.c b/cbind/test/testrdwt.c
deleted file mode 100644
index 01933d4..0000000
--- a/cbind/test/testrdwt.c
+++ /dev/null
@@ -1,455 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testrdwt - test reading from one ExodusII file and writing to another
-* ExodusII file open concurrently
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database read and write routines. It tests reading from an open EXODUSII
-* file and writing to another concurrently opened EXODUSII file.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "exodusII.h"
-#include "netcdf.h"
-int main (int argc, char **argv)
-{
- int exoid, exoid2, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block, num_node_sets, num_nodes_per_elem, num_attr;
- int num_side_sets, error;
- int i, j;
- int *elem_map, *connect, *node_list, *node_ctr_list, *elem_list, *side_list;
- int *ids;
- int num_nodes_in_set, num_elem_in_set;
- int num_sides_in_set, num_df_in_set;
- int num_qa_rec, num_info;
- int CPU_word_size,IO_word_size;
- int num_props, prop_value, *prop_values;
-
- float *x, *y, *z;
- float *dist_fact;
- float version, fdum;
-
- char *coord_names[3], *qa_record[2][4], *info[3];
- char title[MAX_LINE_LENGTH+1], elem_type[MAX_STR_LENGTH+1];
- char *prop_names[3];
- char *cdum = 0;
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* float */
-
-/* open EXODUS II file for reading */
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size, /* I/O float word size in bytes */
- &version); /* returned version number */
- printf ("after ex_open for test.exo\n");
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
-/* create EXODUS II file for writing */
-
- exoid2= ex_create ("test2.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test2.exo, exoid = %d\n", exoid2);
-
- /* ncopts = NC_VERBOSE; */
-
-/* read initialization parameters */
-
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- printf ("after ex_get_init, error = %d\n", error);
-
-/* write initialization parameters */
-
- error = ex_put_init (exoid2, title, num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
-/* read nodal coordinate values */
-
- x = (float *) calloc(num_nodes, sizeof(float));
- y = (float *) calloc(num_nodes, sizeof(float));
- if (num_dim >= 3)
- z = (float *) calloc(num_nodes, sizeof(float));
- else
- z = 0;
-
- error = ex_get_coord (exoid, x, y, z);
- printf ("\nafter ex_get_coord, error = %3d\n", error);
-
-/* write nodal coordinate values */
-
- error = ex_put_coord (exoid2, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
- free (x);
- free (y);
- if (num_dim >= 3)
- free (z);
-
-/* read nodal coordinate names */
-
- for (i=0; i<num_dim; i++)
- {
- coord_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_coord_names (exoid, coord_names);
- printf ("\nafter ex_get_coord_names, error = %3d\n", error);
-
-/* write nodal coordinate names */
-
- error = ex_put_coord_names (exoid2, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- for (i=0; i<num_dim; i++) {
- free(coord_names[i]);
- }
-
-/* read element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- error = ex_get_map (exoid, elem_map);
- printf ("\nafter ex_get_map, error = %3d\n", error);
-
-/* write element order map */
-
- error = ex_put_map (exoid2, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- free (elem_map);
-
-/* read and write element block parameters and element connectivity */
-
- ids = (int *) calloc(num_elem_blk, sizeof(int));
- error = ex_get_elem_blk_ids (exoid, ids);
- printf ("\nafter ex_get_elem_blk_ids, error = %3d\n", error);
-
- for (i=0; i<num_elem_blk; i++)
- {
- error = ex_get_elem_block (exoid, ids[i], elem_type,
- &num_elem_in_block,
- &num_nodes_per_elem, &num_attr);
- printf ("\nafter ex_get_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid2, ids[i], elem_type, num_elem_in_block,
- num_nodes_per_elem, num_attr);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- connect = (int *) calloc((num_nodes_per_elem * num_elem_in_block),
- sizeof(int));
-
- error = ex_get_elem_conn (exoid, ids[i], connect);
- printf ("\nafter ex_get_elem_conn, error = %d\n", error);
-
- error = ex_put_elem_conn (exoid2, ids[i], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- free (connect);
- }
-
-/* read and write element block properties */
-
- error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_ELEM_BLOCK,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
- error = ex_put_prop_names(exoid2,EX_ELEM_BLOCK,num_props,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- error = ex_get_prop(exoid, EX_ELEM_BLOCK, ids[j], prop_names[i],
- &prop_value);
- printf ("after ex_get_prop, error = %d\n", error);
-
- if (i>0) { /* first property is the ID which is already stored */
- error = ex_put_prop(exoid2, EX_ELEM_BLOCK, ids[j], prop_names[i],
- prop_value);
- printf ("after ex_put_prop, error = %d\n", error);
- }
- }
- }
-
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
-
-
- free (ids);
-
-/* read and write individual node sets */
-
- ids = (int *) calloc(num_node_sets, sizeof(int));
-
- error = ex_get_node_set_ids (exoid, ids);
- printf ("\nafter ex_get_node_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_node_sets; i++)
- {
- error = ex_get_node_set_param (exoid, ids[i],
- &num_nodes_in_set, &num_df_in_set);
- printf ("\nafter ex_get_node_set_param, error = %3d\n", error);
-
- error = ex_put_node_set_param (exoid2, ids[i], num_nodes_in_set,
- num_df_in_set);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list = (int *) calloc(num_nodes_in_set, sizeof(int));
- dist_fact = (float *) calloc(num_nodes_in_set, sizeof(float));
-
- error = ex_get_node_set (exoid, ids[i], node_list);
- printf ("\nafter ex_get_node_set, error = %3d\n", error);
-
- error = ex_put_node_set (exoid2, ids[i], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_node_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_node_set_dist_fact, error = %3d\n", error);
-
- error = ex_put_node_set_dist_fact (exoid2, ids[i], dist_fact);
- printf ("after ex_put_node_set, error = %d\n", error);
-
- }
-
- free (node_list);
- free (dist_fact);
- }
- free(ids);
-
- /* read node set properties */
- error = ex_inquire (exoid, EX_INQ_NS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- prop_values = (int *) calloc (num_node_sets, sizeof(int));
-
- error = ex_get_prop_names(exoid,EX_NODE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
- error = ex_put_prop_names(exoid2,EX_NODE_SET,num_props,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- for (i=0; i<num_props; i++)
- {
- error = ex_get_prop_array(exoid, EX_NODE_SET, prop_names[i],
- prop_values);
- printf ("after ex_get_prop_array, error = %d\n", error);
-
- error = ex_put_prop_array(exoid2, EX_NODE_SET, prop_names[i], prop_values);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free(prop_values);
-
-/* read and write individual side sets */
-
- ids = (int *) calloc(num_side_sets, sizeof(int));
-
- error = ex_get_side_set_ids (exoid, ids);
- printf ("\nafter ex_get_side_set_ids, error = %3d\n", error);
-
- for (i=0; i<num_side_sets; i++)
- {
- error = ex_get_side_set_param (exoid, ids[i], &num_sides_in_set,
- &num_df_in_set);
- printf ("\nafter ex_get_side_set_param, error = %3d\n", error);
-
- error = ex_put_side_set_param (exoid2, ids[i], num_sides_in_set,
- num_df_in_set);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- /* Note: The # of elements is same as # of sides! */
- num_elem_in_set = num_sides_in_set;
- elem_list = (int *) calloc(num_elem_in_set, sizeof(int));
- side_list = (int *) calloc(num_sides_in_set, sizeof(int));
- node_ctr_list = (int *) calloc(num_elem_in_set, sizeof(int));
- node_list = (int *) calloc(num_elem_in_set*21, sizeof(int));
- dist_fact = (float *) calloc(num_df_in_set, sizeof(float));
-
- error = ex_get_side_set (exoid, ids[i], elem_list, side_list);
- printf ("\nafter ex_get_side_set, error = %3d\n", error);
-
- error = ex_put_side_set (exoid2, ids[i], elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_get_side_set_node_list (exoid, ids[i], node_ctr_list,
- node_list);
- printf ("\nafter ex_get_side_set_node_list, error = %3d\n", error);
-
- if (num_df_in_set > 0)
- {
- error = ex_get_side_set_dist_fact (exoid, ids[i], dist_fact);
- printf ("\nafter ex_get_side_set_dist_fact, error = %3d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid2, ids[i], dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- }
-
- free (elem_list);
- free (side_list);
- free (node_ctr_list);
- free (node_list);
- free (dist_fact);
-
- }
-
-
- /* read side set properties */
- error = ex_inquire (exoid, EX_INQ_SS_PROP, &num_props, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %d\n", error);
-
- for (i=0; i<num_props; i++)
- {
- prop_names[i] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_prop_names(exoid,EX_SIDE_SET,prop_names);
- printf ("after ex_get_prop_names, error = %d\n", error);
-
-
- for (i=0; i<num_props; i++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- error = ex_get_prop(exoid, EX_SIDE_SET, ids[j], prop_names[i],
- &prop_value);
- printf ("after ex_get_prop, error = %d\n", error);
-
- if (i>0) { /* first property is ID so it is already stored */
- error = ex_put_prop(exoid2, EX_SIDE_SET, ids[j], prop_names[i],
- prop_value);
- printf ("after ex_put_prop, error = %d\n", error);
- }
- }
- }
- for (i=0; i<num_props; i++)
- free(prop_names[i]);
- free (ids);
-
-/* read and write QA records */
-
- ex_inquire (exoid, EX_INQ_QA, &num_qa_rec, &fdum, cdum);
-
- for (i=0; i<num_qa_rec; i++) {
- for (j=0; j<4; j++) {
- qa_record[i][j] = (char *) calloc ((MAX_STR_LENGTH+1), sizeof(char));
- }
- }
-
- error = ex_get_qa (exoid, qa_record);
- printf ("\nafter ex_get_qa, error = %3d\n", error);
-
- error = ex_put_qa (exoid2, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- for (i=0; i<num_qa_rec; i++) {
- for (j=0; j<4; j++) {
- free(qa_record[i][j]);
- }
- }
-/* read and write information records */
-
- error = ex_inquire (exoid, EX_INQ_INFO, &num_info, &fdum, cdum);
- printf ("\nafter ex_inquire, error = %3d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- info[i] = (char *) calloc ((MAX_LINE_LENGTH+1), sizeof(char));
- }
-
- error = ex_get_info (exoid, info);
- printf ("\nafter ex_get_info, error = %3d\n", error);
-
- error = ex_put_info (exoid2, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- for (i=0; i<num_info; i++)
- {
- free(info[i]);
- }
-
-/* close the EXODUS files */
-
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- error = ex_close (exoid2);
- printf ("after ex_close (2), error = %d\n", error);
- return 0;
-}
diff --git a/cbind/test/testwt-long-name.c b/cbind/test/testwt-long-name.c
deleted file mode 100644
index 75432e0..0000000
--- a/cbind/test/testwt-long-name.c
+++ /dev/null
@@ -1,1216 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-/* #include "netcdf.h" */
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10];
- int num_face_in_sset[10], num_nodes_in_nset[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, m, *elem_map, *connect;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[10], ssids[10], nsids[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars, num_sset_vars, num_nset_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float *sset_var_vals, *nset_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float attrib[1], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *variable_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *prop_names[2], *attrib_names[2];
- char *title = "This is a test";
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- ex_set_option(exoid, EX_OPT_MAX_NAME_LENGTH, 127); /* Using long names */
-
- /* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 33;
- num_elem = 7;
- num_elem_blk = 7;
- num_node_sets = 2;
- num_side_sets = 5;
-
-
- error = ex_put_init (exoid, title, num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
-/* Tetra #2 */
- x[26] = 2.7; y[26] = 1.7; z[26] = 2.7;
- x[27] = 6.0; y[27] = 1.7; z[27] = 3.3;
- x[28] = 5.7; y[28] = 1.7; z[28] = 1.7;
- x[29] = 3.7; y[29] = 0.0; z[29] = 2.3;
-
-/* 3d Tri */
- x[30] = 0.0; y[30] = 0.0; z[30] = 0.0;
- x[31] = 10.0; y[31] = 0.0; z[31] = 0.0;
- x[32] = 10.0; y[32] = 10.0; z[32] = 10.0;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- /* 0 1 2 3 4 5 6 */
- /* 1234567890123456789012345678901234567890123456789012345678901234 */
- coord_names[0] = "X coordinate name that is padded to be longer than 32 characters";
- coord_names[1] = "Y coordinate name that is padded to be longer than 32 characters";
- coord_names[2] = "Z coordinate name that is padded to be longer than 32 characters";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodal attributes */
- error = ex_put_attr_param(exoid, EX_NODAL, 0, 2);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_one_attr(exoid, EX_NODAL, 0, 1, x);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_one_attr(exoid, EX_NODAL, 0, 2, y);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- attrib_names[0] = "Node_attr_1";
- attrib_names[1] = "Node_attr_2";
- error = ex_put_attr_names (exoid, EX_NODAL, 0, attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (elem_map);
-
-
-/* write element block parameters */
-
- /* 0 1 2 3 4 5 6 */
- /* 1234567890123456789012345678901234567890123456789012345678901234 */
- block_names[0] = "Very long name for block_1 that exceeds 32 characters";
- block_names[1] = "Very long name for block_2 that exceeds 32 characters";
- block_names[2] = "Very long name for block_3 that exceeds 32 characters";
- block_names[3] = "Very long name for block_4 that exceeds 32 characters";
- block_names[4] = "Very long name for block_5 that exceeds 32 characters";
- block_names[5] = "Very long name for block_6 that exceeds 32 characters";
- block_names[6] = "Very long name for block_7 that exceeds 32 characters";
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
- num_elem_in_block[5] = 1;
- num_elem_in_block[6] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #4 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #5 are 6-node wedges */
- num_nodes_per_elem[5] = 8; /* elements in block #6 are 8-node tetras */
- num_nodes_per_elem[6] = 3; /* elements in block #7 are 3-node tris */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
- ebids[5] = 15;
- ebids[6] = 16;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[4], "wedge", num_elem_in_block[4],
- num_nodes_per_elem[4], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[5], "tetra", num_elem_in_block[5],
- num_nodes_per_elem[5], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[6], "tri", num_elem_in_block[6],
- num_nodes_per_elem[6], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write element block names */
- error = ex_put_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write element block properties */
-
- /* 0 1 2 3 4 5 6 */
- /* 1234567890123456789012345678901234567890123456789012345678901234 */
- prop_names[0] = "MATERIAL_PROPERTY_LONG_NAME_32CH";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], prop_names[0], 10);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], prop_names[0], 20);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], prop_names[0], 30);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], prop_names[0], 40);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], prop_names[0], 50);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[5], prop_names[0], 60);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[6], prop_names[0], 70);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
- connect[4] = 27; connect[5] = 28; connect[6] = 30; connect[7] = 29;
-
- error = ex_put_elem_conn (exoid, ebids[5], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 31; connect[1] = 32; connect[2] = 33;
-
- error = ex_put_elem_conn (exoid, ebids[6], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
-
-
-/* write element block attributes */
-
- attrib[0] = 3.14159;
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- attrib[0] = 6.14159;
- error = ex_put_elem_attr (exoid, ebids[1], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[2], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[3], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[4], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[5], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[6], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* 0 1 2 3 4 5 6 */
- /* 1234567890123456789012345678901234567890123456789012345678901234 */
- attrib_names[0] = "The name for the attribute representing the shell thickness";
- for (i=0; i < 7; i++) {
- error = ex_put_elem_attr_names (exoid, ebids[i], attrib_names);
- printf ("after ex_put_elem_attr_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write individual node sets */
-
-
- num_nodes_in_nset[0] = 5;
- num_nodes_in_nset[1] = 3;
-
- nsids[0] = 20;
- nsids[1] = 21;
-
- error = ex_put_node_set_param (exoid, nsids[0], 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, nsids[0], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[0], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- error = ex_put_node_set_param (exoid, nsids[1], 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, nsids[1], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[1], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* Write node set names */
- nset_names[0] = "nset_1";
- nset_names[1] = "nset_2";
-
- error = ex_put_names(exoid, EX_NODE_SET, nset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[0], "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[1], "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodeset attributes */
- error = ex_put_attr_param(exoid, EX_NODE_SET, nsids[0], 1);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_attr(exoid, EX_NODE_SET, nsids[0], x);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- attrib_names[0] = "Nodeset_attribute";
- error = ex_put_attr_names (exoid, EX_NODE_SET, nsids[0], attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write individual side sets */
- num_face_in_sset[0] = 2;
- num_face_in_sset[1] = 2;
- num_face_in_sset[2] = 7;
- num_face_in_sset[3] = 8;
- num_face_in_sset[4] = 10;
-
- ssids[0] = 30;
- ssids[1] = 31;
- ssids[2] = 32;
- ssids[3] = 33;
- ssids[4] = 34;
-
- /* side set #1 - quad */
-
- error = ex_put_side_set_param (exoid, ssids[0], 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #2 - quad, spanning 2 elements */
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid, 33, 8, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
- elem_list[4] = 6; elem_list[5] = 6;
- elem_list[6] = 6; elem_list[7] = 6;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 1; side_list[5] = 2;
- side_list[6] = 3; side_list[7] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #5 - wedges and tris */
-
- error = ex_put_side_set_param (exoid, 34, 10, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5; elem_list[5] = 7;
- elem_list[6] = 7; elem_list[7] = 7;
- elem_list[8] = 7; elem_list[9] = 7;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5; side_list[5] = 1;
- side_list[6] = 2; side_list[7] = 3;
- side_list[8] = 4; side_list[9] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write side set names */
- sset_names[0] = "sset_1";
- sset_names[1] = "sset_2";
- sset_names[2] = "sset_3";
- sset_names[3] = "sset_4";
- sset_names[4] = "sset_5";
-
- error = ex_put_names(exoid, EX_SIDE_SET, sset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write QA records; test empty and just blank-filled records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write information records; test empty and just blank-filled records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- variable_names[0] = "glo_vars";
-
- error = ex_put_variable_param (exoid, EX_GLOBAL, num_glo_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_GLOBAL, num_glo_vars, variable_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- num_nod_vars = 2;
- /* 0 1 2 3 4 5 6 */
- /* 1234567890123456789012345678901234567890123456789012345678901234 */
- variable_names[0] = "node_variable_a_somewhat_long_name_0";
- variable_names[1] = "node_variable_a_much_longer_name_that_is_not_too_long_name";
-
- error = ex_put_variable_param (exoid, EX_NODAL, num_nod_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_NODAL, num_nod_vars, variable_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- num_ele_vars = 3;
-
- /* 0 1 2 3 4 5 6 */
- /* 1234567890123456789012345678901234567890123456789012345678901234 */
- variable_names[0] = "the_stress_on_the_elements_in_this_block_that_are_active_now";
- variable_names[1] = "ele_var1";
- variable_names[2] = "ele_var2";
-
- error = ex_put_variable_param (exoid, EX_ELEM_BLOCK, num_ele_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_ELEM_BLOCK, num_ele_vars, variable_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- num_nset_vars = 3;
-
- variable_names[0] = "ns_var0";
- variable_names[1] = "ns_var1";
- variable_names[2] = "ns_var2";
-
- error = ex_put_variable_param (exoid, EX_NODE_SET, num_nset_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_NODE_SET, num_nset_vars, variable_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
- {
- num_sset_vars = 3;
-
- variable_names[0] = "ss_var0";
- variable_names[1] = "ss_var1";
- variable_names[2] = "ss_var2";
-
- error = ex_put_variable_param (exoid, EX_SIDE_SET, num_sset_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_SIDE_SET, num_sset_vars, variable_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (4, CPU_word_size);
- sset_var_vals = (float *) calloc (10, CPU_word_size);
- nset_var_vals = (float *) calloc (10, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write sideset variables */
-
- for (k=1; k<=num_sset_vars; k++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- for (m=0; m<num_face_in_sset[j]; m++)
- {
- sset_var_vals[m] = (float)(k+2) + (float)(j+3) +
- ((float)(m+1)*time_value);
- /* printf("sset_var_vals[%d]: %f\n",m,sset_var_vals[m]); */
- }
- error = ex_put_sset_var (exoid, whole_time_step, k, ssids[j],
- num_face_in_sset[j], sset_var_vals);
- printf ("after ex_put_sset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write nodeset variables */
-
- for (k=1; k<=num_nset_vars; k++)
- {
- for (j=0; j<num_node_sets; j++)
- {
- for (m=0; m<num_nodes_in_nset[j]; m++)
- {
- nset_var_vals[m] = (float)(k+3) + (float)(j+4) +
- ((float)(m+1)*time_value);
- /* printf("nset_var_vals[%d]: %f\n",m,nset_var_vals[m]); */
- }
- error = ex_put_nset_var (exoid, whole_time_step, k, nsids[j],
- num_nodes_in_nset[j], nset_var_vals);
- printf ("after ex_put_nset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
- free(sset_var_vals);
- free(nset_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt-long-name.dmp b/cbind/test/testwt-long-name.dmp
deleted file mode 100644
index 8a47141..0000000
--- a/cbind/test/testwt-long-name.dmp
+++ /dev/null
@@ -1,1025 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 128 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 7 ;
- num_el_blk = 7 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_att_in_nblk = 2 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 8 ;
- num_att_in_blk6 = 1 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 3 ;
- num_att_in_blk7 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_att_in_ns1 = 1 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 8 ;
- num_side_ss5 = 10 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
- num_nset_var = 3 ;
- num_sset_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- float nattrb(num_nodes, num_att_in_nblk) ;
- char nattrib_name(num_att_in_nblk, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- float attrib6(num_el_in_blk6, num_att_in_blk6) ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "tetra" ;
- float attrib7(num_el_in_blk7, num_att_in_blk7) ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "tri" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATERIAL_PROPERTY_LONG_NAME_32CH" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- float nsattrb1(num_nod_ns1, num_att_in_ns1) ;
- char nsattrib_name1(num_att_in_ns1, len_name) ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- char name_nset_var(num_nset_var, len_name) ;
- char name_sset_var(num_sset_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var1eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var2eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var3eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var1eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var2eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var3eb7(time_step, num_el_in_blk7) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
- float vals_sset_var1ss1(time_step, num_side_ss1) ;
- float vals_sset_var1ss2(time_step, num_side_ss2) ;
- float vals_sset_var1ss3(time_step, num_side_ss3) ;
- float vals_sset_var1ss4(time_step, num_side_ss4) ;
- float vals_sset_var1ss5(time_step, num_side_ss5) ;
- float vals_sset_var2ss1(time_step, num_side_ss1) ;
- float vals_sset_var2ss2(time_step, num_side_ss2) ;
- float vals_sset_var2ss3(time_step, num_side_ss3) ;
- float vals_sset_var2ss4(time_step, num_side_ss4) ;
- float vals_sset_var2ss5(time_step, num_side_ss5) ;
- float vals_sset_var3ss1(time_step, num_side_ss1) ;
- float vals_sset_var3ss2(time_step, num_side_ss2) ;
- float vals_sset_var3ss3(time_step, num_side_ss3) ;
- float vals_sset_var3ss4(time_step, num_side_ss4) ;
- float vals_sset_var3ss5(time_step, num_side_ss5) ;
- float vals_nset_var1ns1(time_step, num_nod_ns1) ;
- float vals_nset_var1ns2(time_step, num_nod_ns2) ;
- float vals_nset_var2ns1(time_step, num_nod_ns1) ;
- float vals_nset_var2ns2(time_step, num_nod_ns2) ;
- float vals_nset_var3ns1(time_step, num_nod_ns1) ;
- float vals_nset_var3ns2(time_step, num_nod_ns2) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 64 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- eb_names =
- "Very long name for block_1 that exceeds 32 characters",
- "Very long name for block_2 that exceeds 32 characters",
- "Very long name for block_3 that exceeds 32 characters",
- "Very long name for block_4 that exceeds 32 characters",
- "Very long name for block_5 that exceeds 32 characters",
- "Very long name for block_6 that exceeds 32 characters",
- "Very long name for block_7 that exceeds 32 characters" ;
-
- ns_names =
- "nset_1",
- "nset_2" ;
-
- ss_names =
- "sset_1",
- "sset_2",
- "sset_3",
- "sset_4",
- "sset_5" ;
-
- coor_names =
- "X coordinate name that is padded to be longer than 32 characters",
- "Y coordinate name that is padded to be longer than 32 characters",
- "Z coordinate name that is padded to be longer than 32 characters" ;
-
- nattrb =
- 0, 0,
- 1, 0,
- 1, 1,
- 0, 1,
- 1, 0,
- 2, 0,
- 2, 1,
- 1, 1,
- 0, 0,
- 10, 0,
- 10, 0,
- 1, 0,
- 1, 10,
- 10, 10,
- 10, 10,
- 1, 10,
- 0, 0,
- 1, 0,
- 10, 0,
- 7, 5,
- 3, 0,
- 6, 0,
- 0, 0,
- 3, 2,
- 6, 2,
- 0, 2,
- 2.7, 1.7,
- 6, 1.7,
- 5.7, 1.7,
- 3.7, 0,
- 0, 0,
- 10, 0,
- 10, 10 ;
-
- nattrib_name =
- "Node_attr_1",
- "Node_attr_2" ;
-
- elem_map = 1, 2, 3, 4, 5, 6, 7 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "The name for the attribute representing the shell thickness" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "The name for the attribute representing the shell thickness" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "The name for the attribute representing the shell thickness" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "The name for the attribute representing the shell thickness" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "The name for the attribute representing the shell thickness" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- attrib6 =
- 6.1416 ;
-
- attrib_name6 =
- "The name for the attribute representing the shell thickness" ;
-
- connect6 =
- 17, 18, 19, 20, 27, 28, 30, 29 ;
-
- attrib7 =
- 6.1416 ;
-
- attrib_name7 =
- "The name for the attribute representing the shell thickness" ;
-
- connect7 =
- 31, 32, 33 ;
-
- eb_prop2 = 10, 20, 30, 40, 50, 60, 70 ;
-
- eb_prop3 = _, _, _, _, _, _, _ ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- nsattrb1 =
- 0,
- 1,
- 1,
- 0,
- 1 ;
-
- nsattrib_name1 =
- "Nodeset_attribute" ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4, 6, 6, 6, 6 ;
-
- side_ss4 = 1, 2, 3, 4, 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 ;
-
- side_ss5 = 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "TESTWT",
- "testwt",
- "07/07/93",
- "15:41:33",
- "",
- " ",
- "",
- " " ;
-
- info_records =
- "This is the first information record.",
- "",
- " " ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26, 1.27, 1.28, 1.29, 1.3, 1.31, 1.32, 1.33,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5,
- 1.52, 1.54, 1.56, 1.58, 1.6, 1.62, 1.64, 1.66,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78, 1.81, 1.84, 1.87, 1.9, 1.93, 1.96, 1.99,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5,
- 2.56, 2.62, 2.68, 2.74, 2.8, 2.86, 2.92, 2.98,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82, 2.89, 2.96, 3.03, 3.1, 3.17, 3.24, 3.31,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 3.16, 3.24, 3.32, 3.4, 3.48, 3.56, 3.64,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34, 3.43, 3.52, 3.61, 3.7, 3.79, 3.88, 3.97,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4,
- 4.1, 4.2, 4.3 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26, 2.27, 2.28, 2.29, 2.3, 2.31, 2.32, 2.33,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5,
- 2.52, 2.54, 2.56, 2.58, 2.6, 2.62, 2.64, 2.66,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78, 2.81, 2.84, 2.87, 2.9, 2.93, 2.96, 2.99,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 3.08, 3.12, 3.16, 3.2, 3.24, 3.28, 3.32,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 3.35, 3.4, 3.45, 3.5, 3.55, 3.6, 3.65,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5,
- 3.56, 3.62, 3.68, 3.74, 3.8, 3.86, 3.92, 3.98,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82, 3.89, 3.96, 4.03, 4.1, 4.17, 4.24, 4.31,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 4.16, 4.24, 4.32, 4.4, 4.48, 4.56, 4.64,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34, 4.43, 4.52, 4.61, 4.7, 4.79, 4.88, 4.97,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5,
- 5.1, 5.2, 5.3 ;
-
- name_nod_var =
- "node_variable_a_somewhat_long_name_0",
- "node_variable_a_much_longer_name_that_is_not_too_long_name" ;
-
- name_elem_var =
- "the_stress_on_the_elements_in_this_block_that_are_active_now",
- "ele_var1",
- "ele_var2" ;
-
- name_nset_var =
- "ns_var0",
- "ns_var1",
- "ns_var2" ;
-
- name_sset_var =
- "ss_var0",
- "ss_var1",
- "ss_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb3 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var1eb6 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var2eb6 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var3eb6 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var1eb7 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var2eb7 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var3eb7 =
- 12.01,
- 12.02,
- 12.03,
- 12.04,
- 12.05,
- 12.06,
- 12.07,
- 12.08,
- 12.09,
- 12.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1 ;
-
- vals_sset_var1ss1 =
- 6.01, 6.02,
- 6.02, 6.04,
- 6.03, 6.06,
- 6.04, 6.08,
- 6.05, 6.1,
- 6.06, 6.12,
- 6.07, 6.14,
- 6.08, 6.16,
- 6.09, 6.18,
- 6.1, 6.2 ;
-
- vals_sset_var1ss2 =
- 7.01, 7.02,
- 7.02, 7.04,
- 7.03, 7.06,
- 7.04, 7.08,
- 7.05, 7.1,
- 7.06, 7.12,
- 7.07, 7.14,
- 7.08, 7.16,
- 7.09, 7.18,
- 7.1, 7.2 ;
-
- vals_sset_var1ss3 =
- 8.01, 8.02, 8.03, 8.04, 8.05, 8.06, 8.07,
- 8.02, 8.04, 8.06, 8.08, 8.1, 8.12, 8.14,
- 8.03, 8.06, 8.09, 8.12, 8.15, 8.18, 8.21,
- 8.04, 8.08, 8.12, 8.16, 8.2, 8.24, 8.28,
- 8.05, 8.1, 8.15, 8.2, 8.25, 8.3, 8.35,
- 8.06, 8.12, 8.18, 8.24, 8.3, 8.36, 8.42,
- 8.07, 8.14, 8.21, 8.28, 8.35, 8.42, 8.49,
- 8.08, 8.16, 8.24, 8.32, 8.4, 8.48, 8.56,
- 8.09, 8.18, 8.27, 8.36, 8.45, 8.54, 8.63,
- 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7 ;
-
- vals_sset_var1ss4 =
- 9.01, 9.02, 9.03, 9.04, 9.05, 9.06, 9.07, 9.08,
- 9.02, 9.04, 9.06, 9.08, 9.1, 9.12, 9.14, 9.16,
- 9.03, 9.06, 9.09, 9.12, 9.15, 9.18, 9.21, 9.24,
- 9.04, 9.08, 9.12, 9.16, 9.2, 9.24, 9.28, 9.32,
- 9.05, 9.1, 9.15, 9.2, 9.25, 9.3, 9.35, 9.4,
- 9.06, 9.12, 9.18, 9.24, 9.3, 9.36, 9.42, 9.48,
- 9.07, 9.14, 9.21, 9.28, 9.35, 9.42, 9.49, 9.56,
- 9.08, 9.16, 9.24, 9.32, 9.4, 9.48, 9.56, 9.64,
- 9.09, 9.18, 9.27, 9.36, 9.45, 9.54, 9.63, 9.72,
- 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8 ;
-
- vals_sset_var1ss5 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07, 10.08, 10.09, 10.1,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14, 10.16, 10.18, 10.2,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21, 10.24, 10.27, 10.3,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28, 10.32, 10.36, 10.4,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35, 10.4, 10.45, 10.5,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42, 10.48, 10.54, 10.6,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49, 10.56, 10.63, 10.7,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56, 10.64, 10.72, 10.8,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63, 10.72, 10.81, 10.9,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11 ;
-
- vals_sset_var2ss1 =
- 7.01, 7.02,
- 7.02, 7.04,
- 7.03, 7.06,
- 7.04, 7.08,
- 7.05, 7.1,
- 7.06, 7.12,
- 7.07, 7.14,
- 7.08, 7.16,
- 7.09, 7.18,
- 7.1, 7.2 ;
-
- vals_sset_var2ss2 =
- 8.01, 8.02,
- 8.02, 8.04,
- 8.03, 8.06,
- 8.04, 8.08,
- 8.05, 8.1,
- 8.06, 8.12,
- 8.07, 8.14,
- 8.08, 8.16,
- 8.09, 8.18,
- 8.1, 8.2 ;
-
- vals_sset_var2ss3 =
- 9.01, 9.02, 9.03, 9.04, 9.05, 9.06, 9.07,
- 9.02, 9.04, 9.06, 9.08, 9.1, 9.12, 9.14,
- 9.03, 9.06, 9.09, 9.12, 9.15, 9.18, 9.21,
- 9.04, 9.08, 9.12, 9.16, 9.2, 9.24, 9.28,
- 9.05, 9.1, 9.15, 9.2, 9.25, 9.3, 9.35,
- 9.06, 9.12, 9.18, 9.24, 9.3, 9.36, 9.42,
- 9.07, 9.14, 9.21, 9.28, 9.35, 9.42, 9.49,
- 9.08, 9.16, 9.24, 9.32, 9.4, 9.48, 9.56,
- 9.09, 9.18, 9.27, 9.36, 9.45, 9.54, 9.63,
- 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7 ;
-
- vals_sset_var2ss4 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07, 10.08,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14, 10.16,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21, 10.24,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28, 10.32,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35, 10.4,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42, 10.48,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49, 10.56,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56, 10.64,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63, 10.72,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8 ;
-
- vals_sset_var2ss5 =
- 11.01, 11.02, 11.03, 11.04, 11.05, 11.06, 11.07, 11.08, 11.09, 11.1,
- 11.02, 11.04, 11.06, 11.08, 11.1, 11.12, 11.14, 11.16, 11.18, 11.2,
- 11.03, 11.06, 11.09, 11.12, 11.15, 11.18, 11.21, 11.24, 11.27, 11.3,
- 11.04, 11.08, 11.12, 11.16, 11.2, 11.24, 11.28, 11.32, 11.36, 11.4,
- 11.05, 11.1, 11.15, 11.2, 11.25, 11.3, 11.35, 11.4, 11.45, 11.5,
- 11.06, 11.12, 11.18, 11.24, 11.3, 11.36, 11.42, 11.48, 11.54, 11.6,
- 11.07, 11.14, 11.21, 11.28, 11.35, 11.42, 11.49, 11.56, 11.63, 11.7,
- 11.08, 11.16, 11.24, 11.32, 11.4, 11.48, 11.56, 11.64, 11.72, 11.8,
- 11.09, 11.18, 11.27, 11.36, 11.45, 11.54, 11.63, 11.72, 11.81, 11.9,
- 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12 ;
-
- vals_sset_var3ss1 =
- 8.01, 8.02,
- 8.02, 8.04,
- 8.03, 8.06,
- 8.04, 8.08,
- 8.05, 8.1,
- 8.06, 8.12,
- 8.07, 8.14,
- 8.08, 8.16,
- 8.09, 8.18,
- 8.1, 8.2 ;
-
- vals_sset_var3ss2 =
- 9.01, 9.02,
- 9.02, 9.04,
- 9.03, 9.06,
- 9.04, 9.08,
- 9.05, 9.1,
- 9.06, 9.12,
- 9.07, 9.14,
- 9.08, 9.16,
- 9.09, 9.18,
- 9.1, 9.2 ;
-
- vals_sset_var3ss3 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7 ;
-
- vals_sset_var3ss4 =
- 11.01, 11.02, 11.03, 11.04, 11.05, 11.06, 11.07, 11.08,
- 11.02, 11.04, 11.06, 11.08, 11.1, 11.12, 11.14, 11.16,
- 11.03, 11.06, 11.09, 11.12, 11.15, 11.18, 11.21, 11.24,
- 11.04, 11.08, 11.12, 11.16, 11.2, 11.24, 11.28, 11.32,
- 11.05, 11.1, 11.15, 11.2, 11.25, 11.3, 11.35, 11.4,
- 11.06, 11.12, 11.18, 11.24, 11.3, 11.36, 11.42, 11.48,
- 11.07, 11.14, 11.21, 11.28, 11.35, 11.42, 11.49, 11.56,
- 11.08, 11.16, 11.24, 11.32, 11.4, 11.48, 11.56, 11.64,
- 11.09, 11.18, 11.27, 11.36, 11.45, 11.54, 11.63, 11.72,
- 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8 ;
-
- vals_sset_var3ss5 =
- 12.01, 12.02, 12.03, 12.04, 12.05, 12.06, 12.07, 12.08, 12.09, 12.1,
- 12.02, 12.04, 12.06, 12.08, 12.1, 12.12, 12.14, 12.16, 12.18, 12.2,
- 12.03, 12.06, 12.09, 12.12, 12.15, 12.18, 12.21, 12.24, 12.27, 12.3,
- 12.04, 12.08, 12.12, 12.16, 12.2, 12.24, 12.28, 12.32, 12.36, 12.4,
- 12.05, 12.1, 12.15, 12.2, 12.25, 12.3, 12.35, 12.4, 12.45, 12.5,
- 12.06, 12.12, 12.18, 12.24, 12.3, 12.36, 12.42, 12.48, 12.54, 12.6,
- 12.07, 12.14, 12.21, 12.28, 12.35, 12.42, 12.49, 12.56, 12.63, 12.7,
- 12.08, 12.16, 12.24, 12.32, 12.4, 12.48, 12.56, 12.64, 12.72, 12.8,
- 12.09, 12.18, 12.27, 12.36, 12.45, 12.54, 12.63, 12.72, 12.81, 12.9,
- 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 13 ;
-
- vals_nset_var1ns1 =
- 8.01, 8.02, 8.03, 8.04, 8.05,
- 8.02, 8.04, 8.06, 8.08, 8.1,
- 8.03, 8.06, 8.09, 8.12, 8.15,
- 8.04, 8.08, 8.12, 8.16, 8.2,
- 8.05, 8.1, 8.15, 8.2, 8.25,
- 8.06, 8.12, 8.18, 8.24, 8.3,
- 8.07, 8.14, 8.21, 8.28, 8.35,
- 8.08, 8.16, 8.24, 8.32, 8.4,
- 8.09, 8.18, 8.27, 8.36, 8.45,
- 8.1, 8.2, 8.3, 8.4, 8.5 ;
-
- vals_nset_var1ns2 =
- 9.01, 9.02, 9.03,
- 9.02, 9.04, 9.06,
- 9.03, 9.06, 9.09,
- 9.04, 9.08, 9.12,
- 9.05, 9.1, 9.15,
- 9.06, 9.12, 9.18,
- 9.07, 9.14, 9.21,
- 9.08, 9.16, 9.24,
- 9.09, 9.18, 9.27,
- 9.1, 9.2, 9.3 ;
-
- vals_nset_var2ns1 =
- 9.01, 9.02, 9.03, 9.04, 9.05,
- 9.02, 9.04, 9.06, 9.08, 9.1,
- 9.03, 9.06, 9.09, 9.12, 9.15,
- 9.04, 9.08, 9.12, 9.16, 9.2,
- 9.05, 9.1, 9.15, 9.2, 9.25,
- 9.06, 9.12, 9.18, 9.24, 9.3,
- 9.07, 9.14, 9.21, 9.28, 9.35,
- 9.08, 9.16, 9.24, 9.32, 9.4,
- 9.09, 9.18, 9.27, 9.36, 9.45,
- 9.1, 9.2, 9.3, 9.4, 9.5 ;
-
- vals_nset_var2ns2 =
- 10.01, 10.02, 10.03,
- 10.02, 10.04, 10.06,
- 10.03, 10.06, 10.09,
- 10.04, 10.08, 10.12,
- 10.05, 10.1, 10.15,
- 10.06, 10.12, 10.18,
- 10.07, 10.14, 10.21,
- 10.08, 10.16, 10.24,
- 10.09, 10.18, 10.27,
- 10.1, 10.2, 10.3 ;
-
- vals_nset_var3ns1 =
- 10.01, 10.02, 10.03, 10.04, 10.05,
- 10.02, 10.04, 10.06, 10.08, 10.1,
- 10.03, 10.06, 10.09, 10.12, 10.15,
- 10.04, 10.08, 10.12, 10.16, 10.2,
- 10.05, 10.1, 10.15, 10.2, 10.25,
- 10.06, 10.12, 10.18, 10.24, 10.3,
- 10.07, 10.14, 10.21, 10.28, 10.35,
- 10.08, 10.16, 10.24, 10.32, 10.4,
- 10.09, 10.18, 10.27, 10.36, 10.45,
- 10.1, 10.2, 10.3, 10.4, 10.5 ;
-
- vals_nset_var3ns2 =
- 11.01, 11.02, 11.03,
- 11.02, 11.04, 11.06,
- 11.03, 11.06, 11.09,
- 11.04, 11.08, 11.12,
- 11.05, 11.1, 11.15,
- 11.06, 11.12, 11.18,
- 11.07, 11.14, 11.21,
- 11.08, 11.16, 11.24,
- 11.09, 11.18, 11.27,
- 11.1, 11.2, 11.3 ;
-}
diff --git a/cbind/test/testwt-nface-nside.c b/cbind/test/testwt-nface-nside.c
deleted file mode 100644
index 9250c40..0000000
--- a/cbind/test/testwt-nface-nside.c
+++ /dev/null
@@ -1,560 +0,0 @@
-/*
- * Copyright (c) 2010 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file (testwt-nfaced.exo)
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <assert.h>
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_total_nodes_per_blk[10];
- int num_face_in_block[10], num_total_faces_per_blk[10];
- int num_face_in_sset[10], num_nodes_in_nset[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, m, *elem_map, *connect;
- int node_list[100],elem_list[100],side_list[100];
- int bids[10], ssids[10], nsids[10], nnpe[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars, num_sset_vars, num_nset_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float *sset_var_vals, *nset_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *prop_names[2], *attrib_names[2];
- char *title = "This is a test";
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test-nfaced.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
- /* initialize file with parameters */
- {
- ex_init_params par;
-
- num_dim = 3;
- num_nodes = 14;
- num_elem = 1;
- num_elem_blk = 1;
- num_node_sets = 0;
-
- strcpy( par.title, title );
- par.num_dim = num_dim;
- par.num_nodes = num_nodes;
- par.num_edge = 0;
- par.num_edge_blk = 0;
- par.num_face = 5;
- par.num_face_blk = 1;
- par.num_elem = num_elem;
- par.num_elem_blk = num_elem_blk;
- par.num_node_sets = num_node_sets;
- par.num_edge_sets = 0;
- par.num_face_sets = 0;
- par.num_side_sets = 0;
- par.num_elem_sets = 0;
- par.num_node_maps = 0;
- par.num_edge_maps = 0;
- par.num_face_maps = 0;
- par.num_elem_maps = 0;
-
- error = ex_put_init_ext (exoid, &par);
-
- printf ("after ex_put_init_ext, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write nodal coordinates values and names to database */
- x[ 0] = 0.00000e+00 ; y[ 0] = 0.00000e+00 ; z[ 0] = 0.00000e+00 ;
- x[ 1] = 2.00000e+00 ; y[ 1] = 0.00000e+00 ; z[ 1] = 0.00000e+00 ;
- x[ 2] = 0.00000e+00 ; y[ 2] = 2.00000e+00 ; z[ 2] = 0.00000e+00 ;
- x[ 3] = 2.00000e+00 ; y[ 3] = 2.00000e+00 ; z[ 3] = 0.00000e+00 ;
- x[ 4] = 0.00000e+00 ; y[ 4] = 0.00000e+00 ; z[ 4] = 2.00000e+00 ;
- x[ 5] = 2.00000e+00 ; y[ 5] = 0.00000e+00 ; z[ 5] = 2.00000e+00 ;
- x[ 6] = 0.00000e+00 ; y[ 6] = 2.00000e+00 ; z[ 6] = 2.00000e+00 ;
- x[ 7] = 2.00000e+00 ; y[ 7] = 2.00000e+00 ; z[ 7] = 2.00000e+00 ;
- x[ 8] = 0.00000e+00 ; y[ 8] = 3.50000e+00 ; z[ 8] = 1.00000e+00 ;
- x[ 9] = 2.00000e+00 ; y[ 9] = 3.50000e+00 ; z[ 9] = 1.00000e+00 ;
- x[10] = 0.00000e+00 ; y[10] = 3.00000e+00 ; z[10] = 1.50000e+00 ;
- x[11] = 2.00000e+00 ; y[11] = 3.00000e+00 ; z[11] = 1.50000e+00 ;
- x[12] = 0.00000e+00 ; y[12] = 3.00000e+00 ; z[12] = 0.50000e+00 ;
- x[13] = 2.00000e+00 ; y[13] = 3.00000e+00 ; z[13] = 0.50000e+00 ;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "x";
- coord_names[1] = "y";
- coord_names[2] = "z";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* Write the face block parameters */
- block_names[0] = "face_block_1";
- num_face_in_block[0] = 15;
- num_total_nodes_per_blk[0] = 54;
- bids[0] = 10;
-
- error = ex_put_block (exoid, EX_FACE_BLOCK, bids[0], "nsided",
- num_face_in_block[0],
- num_total_nodes_per_blk[0],
- 0, 0, 0);
- printf ("after ex_put_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- /* write face connectivity */
-
- connect = (int *) calloc(num_total_nodes_per_blk[0], sizeof(int));
-
- i = 0;
- j = 0;
-
- connect[i++] = 5;
- connect[i++] = 6;
- connect[i++] = 8; /* connectivity of face 1 of element 1 */
-
-
- connect[i++] = 2;
- connect[i++] = 1;
- connect[i++] = 4; /* face 2 of element 1 */
-
-
- connect[i++] = 6;
- connect[i++] = 2;
- connect[i++] = 4;
- connect[i++] = 8; /* face 3 of element 1 */
-
-
- connect[i++] = 8;
- connect[i++] = 4;
- connect[i++] = 1;
- connect[i++] = 5; /* face 4 of element 1 */
-
- connect[i++] = 1;
- connect[i++] = 2;
- connect[i++] = 6;
- connect[i++] = 5; /* face 5 of element 1 */
-
- connect[i++] = 5;
- connect[i++] = 8;
- connect[i++] = 7; /* connectivity of face 1 of element 2 */
-
- connect[i++] = 1; connect[i++] = 2; connect[i++] = 3; connect[i++] = 4;
- nnpe[j++] = 4;
-
- connect[i++] = 5; connect[i++] = 3; connect[i++] = 4; connect[i++] = 6;
- nnpe[j++] = 4;
-
- connect[i++] = 5; connect[i++] = 1; connect[i++] = 2; connect[i++] = 6;
- nnpe[j++] = 4;
-
- connect[i++] = 6; connect[i++] = 2; connect[i++] = 4;
- nnpe[j++] = 3;
-
- connect[i++] = 5; connect[i++] = 3; connect[i++] = 1;
- nnpe[j++] = 3;
-
- assert(i == num_total_nodes_per_blk[0]);
- assert(j == num_face_in_block[0]);
-
- error = ex_put_conn (exoid, EX_FACE_BLOCK, bids[0], connect, NULL, NULL);
- printf ("after ex_put_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
- connect = NULL;
-
- error = ex_put_entity_count_per_polyhedra(exoid, EX_FACE_BLOCK, bids[0], nnpe);
- printf ("after ex_put_entity_count_per_polyhedra, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write element block parameters */
- block_names[0] = "nfaced_1";
-
- num_elem_in_block[0] = 1;
- num_total_nodes_per_blk[0] = 6; /* Do we need this; does it make sense... */
- num_total_faces_per_blk[0] = 5;
-
- bids[0] = 10;
-
- error = ex_put_block (exoid, EX_ELEM_BLOCK, bids[0], "nfaced",
- num_elem_in_block[0],
- 0,
- 0,
- num_total_faces_per_blk[0],
- 0);
- printf ("after ex_put_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write face block names */
- error = ex_put_names(exoid, EX_FACE_BLOCK, block_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write element block names */
- error = ex_put_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write element-face connectivity */
- connect = (int *) calloc(num_total_faces_per_blk[0], sizeof(int));
-
- i = 0;
- j = 0;
- connect[i++] = 1; connect[i++] = 2; connect[i++] = 3; connect[i++] = 4;
- connect[i++] = 5;
- nnpe[j++] = 5; /* Number of faces per element */
-
- assert(i == num_total_faces_per_blk[0]);
- assert(j == num_elem_in_block[0]);
-
- error = ex_put_conn (exoid, EX_ELEM_BLOCK, bids[0], NULL, NULL, connect);
- printf ("after ex_put_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
-
- error = ex_put_entity_count_per_polyhedra(exoid, EX_ELEM_BLOCK, bids[0], nnpe);
- printf ("after ex_put_entity_count_per_polyhedra, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write QA records; test empty and just blank-filled records */
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT-NFACED";
- qa_record[0][1] = "testwt-nfaced";
- qa_record[0][2] = "2010/02/15";
- qa_record[0][3] = "06:35:15";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* write information records; test empty and just blank-filled records */
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- /* write results variables parameters and names */
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- num_nod_vars = 2;
- /* 12345678901234567890123456789012 */
- var_names[0] = "node_variable_a_very_long_name_0";
- var_names[1] = "n";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- num_ele_vars = 3;
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write element variable truth table */
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (8, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
- /* write time value */
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write global variables */
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write nodal variables */
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- }
-
- /* write element variables */
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, bids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- whole_time_step++;
-
- /* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
-
- /* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt-nfaced.c b/cbind/test/testwt-nfaced.c
deleted file mode 100644
index f6c15eb..0000000
--- a/cbind/test/testwt-nfaced.c
+++ /dev/null
@@ -1,429 +0,0 @@
-/*
- * Copyright (c) 2010 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file (testwt-nfaced.exo)
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include <assert.h>
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_total_nodes_per_blk[10];
- int num_face_in_block[10], num_total_faces_per_blk[10];
- int num_node_sets, error;
- int i, j, *connect;
- int bids, nnpe[20];
- int num_qa_rec, num_info;
- int CPU_word_size,IO_word_size;
-
- float x[100], y[100], z[100];
- char *coord_names[3], *qa_record[2][4], *info[3];
- char *block_names[10];
- char *title = "This is a test";
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test-nfaced.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
- /* initialize file with parameters */
- {
- ex_init_params par;
-
- num_dim = 3;
- num_nodes = 14;
- num_elem = 3;
- num_elem_blk = 1;
- num_node_sets = 0;
-
- strcpy( par.title, title );
- par.num_dim = num_dim;
- par.num_nodes = num_nodes;
- par.num_edge = 0;
- par.num_edge_blk = 0;
- par.num_face = 15;
- par.num_face_blk = 1;
- par.num_elem = num_elem;
- par.num_elem_blk = num_elem_blk;
- par.num_node_sets = num_node_sets;
- par.num_edge_sets = 0;
- par.num_face_sets = 0;
- par.num_side_sets = 0;
- par.num_elem_sets = 0;
- par.num_node_maps = 0;
- par.num_edge_maps = 0;
- par.num_face_maps = 0;
- par.num_elem_maps = 0;
-
- error = ex_put_init_ext (exoid, &par);
-
- printf ("after ex_put_init_ext, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write nodal coordinates values and names to database */
- x[ 0] = 0.00000e+00 ; y[ 0] = 0.00000e+00 ; z[ 0] = 0.00000e+00 ;
- x[ 1] = 2.00000e+00 ; y[ 1] = 0.00000e+00 ; z[ 1] = 0.00000e+00 ;
- x[ 2] = 0.00000e+00 ; y[ 2] = 2.00000e+00 ; z[ 2] = 0.00000e+00 ;
- x[ 3] = 2.00000e+00 ; y[ 3] = 2.00000e+00 ; z[ 3] = 0.00000e+00 ;
- x[ 4] = 0.00000e+00 ; y[ 4] = 0.00000e+00 ; z[ 4] = 2.00000e+00 ;
- x[ 5] = 2.00000e+00 ; y[ 5] = 0.00000e+00 ; z[ 5] = 2.00000e+00 ;
- x[ 6] = 0.00000e+00 ; y[ 6] = 2.00000e+00 ; z[ 6] = 2.00000e+00 ;
- x[ 7] = 2.00000e+00 ; y[ 7] = 2.00000e+00 ; z[ 7] = 2.00000e+00 ;
- x[ 8] = 0.00000e+00 ; y[ 8] = 3.50000e+00 ; z[ 8] = 1.00000e+00 ;
- x[ 9] = 2.00000e+00 ; y[ 9] = 3.50000e+00 ; z[ 9] = 1.00000e+00 ;
- x[10] = 0.00000e+00 ; y[10] = 3.00000e+00 ; z[10] = 1.50000e+00 ;
- x[11] = 2.00000e+00 ; y[11] = 3.00000e+00 ; z[11] = 1.50000e+00 ;
- x[12] = 0.00000e+00 ; y[12] = 3.00000e+00 ; z[12] = 0.50000e+00 ;
- x[13] = 2.00000e+00 ; y[13] = 3.00000e+00 ; z[13] = 0.50000e+00 ;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "x";
- coord_names[1] = "y";
- coord_names[2] = "z";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* Write the face block parameters */
- block_names[0] = "face_block_1";
- num_face_in_block[0] = 15;
- num_total_nodes_per_blk[0] = 58;
- bids = 10;
-
- error = ex_put_block (exoid, EX_FACE_BLOCK, bids, "nsided",
- num_face_in_block[0],
- num_total_nodes_per_blk[0],
- 0, 0, 0);
- printf ("after ex_put_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write face block names */
- error = ex_put_names(exoid, EX_FACE_BLOCK, block_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- /* write face connectivity */
-
- connect = (int *) calloc(num_total_nodes_per_blk[0], sizeof(int));
-
- i = 0;
- j = 0;
-
- connect[i++] = 5;
- connect[i++] = 6;
- connect[i++] = 8; /* connectivity of face 1 of element 1 */
- nnpe[j++] = 3;
-
- connect[i++] = 2;
- connect[i++] = 1;
- connect[i++] = 4; /* face 2 of element 1 */
- nnpe[j++] = 3;
-
- connect[i++] = 6;
- connect[i++] = 2;
- connect[i++] = 4;
- connect[i++] = 8; /* face 3 of element 1 */
- nnpe[j++] = 4;
-
- connect[i++] = 8;
- connect[i++] = 4;
- connect[i++] = 1;
- connect[i++] = 5; /* face 4 of element 1 */
- nnpe[j++] = 4;
-
- connect[i++] = 1;
- connect[i++] = 2;
- connect[i++] = 6;
- connect[i++] = 5; /* face 5 of element 1 */
- nnpe[j++] = 4;
-
- connect[i++] = 5;
- connect[i++] = 8;
- connect[i++] = 7; /* connectivity of face 1 of element 2 */
- nnpe[j++] = 3;
-
- connect[i++] = 1;
- connect[i++] = 3;
- connect[i++] = 4; /* face 2 of element 2 */
- nnpe[j++] = 3;
-
- connect[i++] = 7;
- connect[i++] = 8;
- connect[i++] = 4;
- connect[i++] = 3; /* face 3 of element 2 */
- nnpe[j++] = 4;
-
- connect[i++] = 7;
- connect[i++] = 3;
- connect[i++] = 1;
- connect[i++] = 5; /* face 4 of element 2 */
- nnpe[j++] = 4;
-
- connect[i++] = 8;
- connect[i++] = 4;
- connect[i++] = 14;
- connect[i++] = 10;
- connect[i++] = 12; /* connectivity of face 1 of element 3 */
- nnpe[j++] = 5;
-
- connect[i++] = 7;
- connect[i++] = 11;
- connect[i++] = 9;
- connect[i++] = 13;
- connect[i++] = 3; /* face 2 of element 3 */
- nnpe[j++] = 5;
-
- connect[i++] = 7;
- connect[i++] = 8;
- connect[i++] = 12;
- connect[i++] = 11; /* face 3 of element 3 */
- nnpe[j++] = 4;
-
- connect[i++] = 11;
- connect[i++] = 12;
- connect[i++] = 10;
- connect[i++] = 9; /* face 4 of element 3 */
- nnpe[j++] = 4;
-
- connect[i++] = 9;
- connect[i++] = 10;
- connect[i++] = 14;
- connect[i++] = 13; /* face 5 of element 3 */
- nnpe[j++] = 4;
-
- connect[i++] = 13;
- connect[i++] = 14;
- connect[i++] = 4;
- connect[i++] = 3; /* face 6 of element 3 */
- nnpe[j++] = 4;
-
- assert(i == num_total_nodes_per_blk[0]);
- assert(j == num_face_in_block[0]);
-
- error = ex_put_conn (exoid, EX_FACE_BLOCK, bids, connect, NULL, NULL);
- printf ("after ex_put_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
- connect = NULL;
-
- error = ex_put_entity_count_per_polyhedra(exoid, EX_FACE_BLOCK, bids, nnpe);
- printf ("after ex_put_entity_count_per_polyhedra, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write element block parameters */
- block_names[0] = "nfaced_1";
-
- num_elem_in_block[0] = 3;
- num_total_faces_per_blk[0] = 5 + 5 + 7;
-
- bids = 10;
-
- error = ex_put_block (exoid, EX_ELEM_BLOCK, bids, "nfaced",
- num_elem_in_block[0],
- 0,
- 0,
- num_total_faces_per_blk[0],
- 0);
- printf ("after ex_put_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write element block names */
- error = ex_put_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write element-face connectivity */
- connect = (int *) calloc(num_total_faces_per_blk[0], sizeof(int));
-
- i = 0;
- j = 0;
- connect[i++] = 1;
- connect[i++] = 2;
- connect[i++] = 3;
- connect[i++] = 4;
- connect[i++] = 5;
- nnpe[j++] = 5; /* Number of faces per element 1 */
-
- connect[i++] = 4;
- connect[i++] = 6;
- connect[i++] = 7;
- connect[i++] = 8;
- connect[i++] = 9;
- nnpe[j++] = 5; /* Number of faces per element 2 */
-
-
- connect[i++] = 8;
- connect[i++] = 10;
- connect[i++] = 11;
- connect[i++] = 12;
- connect[i++] = 13;
- connect[i++] = 14;
- connect[i++] = 15;
- nnpe[j++] = 7; /* Number of faces per element 3 */
-
- assert(i == num_total_faces_per_blk[0]);
- assert(j == num_elem_in_block[0]);
-
- error = ex_put_conn (exoid, EX_ELEM_BLOCK, bids, NULL, NULL, connect);
- printf ("after ex_put_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
-
- error = ex_put_entity_count_per_polyhedra(exoid, EX_ELEM_BLOCK, bids, nnpe);
- printf ("after ex_put_entity_count_per_polyhedra, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write QA records; test empty and just blank-filled records */
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT-NFACED";
- qa_record[0][1] = "testwt-nfaced";
- qa_record[0][2] = "2010/02/15";
- qa_record[0][3] = "06:35:15";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* write information records; test empty and just blank-filled records */
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt-nfaced.dmp b/cbind/test/testwt-nfaced.dmp
deleted file mode 100644
index 005c1cb..0000000
--- a/cbind/test/testwt-nfaced.dmp
+++ /dev/null
@@ -1,104 +0,0 @@
-netcdf test-nfaced {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 14 ;
- num_elem = 3 ;
- num_face = 15 ;
- num_el_blk = 1 ;
- num_fa_blk = 1 ;
- num_fa_in_blk1 = 15 ;
- num_nod_per_fa1 = 58 ;
- num_el_in_blk1 = 3 ;
- num_fac_per_el1 = 17 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int fa_status(num_fa_blk) ;
- int fa_prop1(num_fa_blk) ;
- fa_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char fa_names(num_fa_blk, len_name) ;
- char coor_names(num_dim, len_name) ;
- int fbconn1(num_nod_per_fa1) ;
- fbconn1:elem_type = "nsided" ;
- int fbepecnt1(num_fa_in_blk1) ;
- fbepecnt1:entity_type1 = "NODE" ;
- fbepecnt1:entity_type2 = "FACE" ;
- int facconn1(num_fac_per_el1) ;
- facconn1:elem_type = "nfaced" ;
- int ebepecnt1(num_el_in_blk1) ;
- ebepecnt1:entity_type1 = "FACE" ;
- ebepecnt1:entity_type2 = "ELEM" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1 ;
-
- eb_prop1 = 10 ;
-
- fa_status = 1 ;
-
- fa_prop1 = 10 ;
-
- coordx = 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2 ;
-
- coordy = 0, 0, 2, 2, 0, 0, 2, 2, 3.5, 3.5, 3, 3, 3, 3 ;
-
- coordz = 0, 0, 0, 0, 2, 2, 2, 2, 1, 1, 1.5, 1.5, 0.5, 0.5 ;
-
- eb_names =
- "nfaced_1" ;
-
- fa_names =
- "face_block_1" ;
-
- coor_names =
- "x",
- "y",
- "z" ;
-
- fbconn1 = 5, 6, 8, 2, 1, 4, 6, 2, 4, 8, 8, 4, 1, 5, 1, 2, 6, 5, 5, 8, 7, 1,
- 3, 4, 7, 8, 4, 3, 7, 3, 1, 5, 8, 4, 14, 10, 12, 7, 11, 9, 13, 3, 7, 8,
- 12, 11, 11, 12, 10, 9, 9, 10, 14, 13, 13, 14, 4, 3 ;
-
- fbepecnt1 = 3, 3, 4, 4, 4, 3, 3, 4, 4, 5, 5, 4, 4, 4, 4 ;
-
- facconn1 = 1, 2, 3, 4, 5, 4, 6, 7, 8, 9, 8, 10, 11, 12, 13, 14, 15 ;
-
- ebepecnt1 = 5, 5, 7 ;
-
- qa_records =
- "TESTWT-NFACED",
- "testwt-nfaced",
- "2010/02/15",
- "06:35:15",
- "",
- " ",
- "",
- " " ;
-
- info_records =
- "This is the first information record.",
- "",
- " " ;
-}
diff --git a/cbind/test/testwt-nsided.c b/cbind/test/testwt-nsided.c
deleted file mode 100644
index 480d2a2..0000000
--- a/cbind/test/testwt-nsided.c
+++ /dev/null
@@ -1,974 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file (testwt-nsided.exo)
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <assert.h>
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_total_nodes_per_blk[10];
- int num_face_in_sset[10], num_nodes_in_nset[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, m, *elem_map, *connect;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[10], ssids[10], nsids[10], nnpe[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars, num_sset_vars, num_nset_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float *sset_var_vals, *nset_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *attrib_names[2];
- char *title = "This is a test";
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test-nsided.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 33;
- num_elem = 7;
- num_elem_blk = 1;
- num_node_sets = 2;
- num_side_sets = 5;
-
-
- error = ex_put_init (exoid, title, num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
-/* Tetra #2 */
- x[26] = 2.7; y[26] = 1.7; z[26] = 2.7;
- x[27] = 6.0; y[27] = 1.7; z[27] = 3.3;
- x[28] = 5.7; y[28] = 1.7; z[28] = 1.7;
- x[29] = 3.7; y[29] = 0.0; z[29] = 2.3;
-
-/* 3d Tri */
- x[30] = 0.0; y[30] = 0.0; z[30] = 0.0;
- x[31] = 10.0; y[31] = 0.0; z[31] = 0.0;
- x[32] = 10.0; y[32] = 10.0; z[32] = 10.0;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodal attributes */
- error = ex_put_attr_param(exoid, EX_NODAL, 0, 2);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_one_attr(exoid, EX_NODAL, 0, 1, x);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_one_attr(exoid, EX_NODAL, 0, 2, y);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- attrib_names[0] = "Node_attr_1";
- attrib_names[1] = "Node_attr_2";
- error = ex_put_attr_names (exoid, EX_NODAL, 0, attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (elem_map);
-
-
-/* write element block parameters */
-
- block_names[0] = "nsided_1";
-
- num_elem_in_block[0] = 7;
-
- num_total_nodes_per_blk[0] = 37;
-
- ebids[0] = 10;
-
-#if 0
- error = ex_put_nsided_block (exoid, EX_ELEM_BLOCK, ebids[0], num_elem_in_block[0],
- num_total_nodes_per_blk[0], 0);
-#else
- error = ex_put_block (exoid, EX_ELEM_BLOCK, ebids[0], "nsided",
- num_elem_in_block[0],
- num_total_nodes_per_blk[0],
- 0, 0, 0);
-#endif
- printf ("after ex_put_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write element block names */
- error = ex_put_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write element connectivity */
-
- connect = (int *) calloc(num_total_nodes_per_blk[0], sizeof(int));
-
- i = 0;
- j = 0;
- connect[i++] = 1; connect[i++] = 2; connect[i++] = 3; connect[i++] = 4;
- nnpe[j++] = 4;
- connect[i++] = 5; connect[i++] = 6; connect[i++] = 7; connect[i++] = 8;
- nnpe[j++] = 4;
-
- connect[i++] = 9; connect[i++] = 10; connect[i++] = 11; connect[i++] = 12;
- connect[i++] = 13; connect[i++] = 14; connect[i++] = 15; connect[i++] = 16;
- nnpe[j++] = 8 ;
-
- connect[i++] = 17; connect[i++] = 18; connect[i++] = 19; connect[i++] = 20;
- nnpe[j++] = 4;
-
- connect[i++] = 21; connect[i++] = 22; connect[i++] = 23;
- connect[i++] = 24; connect[i++] = 25; connect[i++] = 26;
- nnpe[j++] = 6;
-
- connect[i++] = 17; connect[i++] = 18; connect[i++] = 19; connect[i++] = 20;
- connect[i++] = 27; connect[i++] = 28; connect[i++] = 30; connect[i++] = 29;
- nnpe[j++] = 8;
-
- connect[i++] = 31; connect[i++] = 32; connect[i++] = 33;
- nnpe[j++] = 3;
-
- assert(i == num_total_nodes_per_blk[0]);
- assert(j == num_elem_in_block[0]);
-
- error = ex_put_conn (exoid, EX_ELEM_BLOCK, ebids[0], connect, NULL, NULL);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
-
- error = ex_put_entity_count_per_polyhedra(exoid, EX_ELEM_BLOCK, ebids[0], nnpe);
- printf ("after ex_put_entity_count_per_polyhedra, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write individual node sets */
-
-
- num_nodes_in_nset[0] = 5;
- num_nodes_in_nset[1] = 3;
-
- nsids[0] = 20;
- nsids[1] = 21;
-
- error = ex_put_node_set_param (exoid, nsids[0], 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, nsids[0], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[0], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- error = ex_put_node_set_param (exoid, nsids[1], 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, nsids[1], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[1], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* Write node set names */
- nset_names[0] = "nset_1";
- nset_names[1] = "nset_2";
-
- error = ex_put_names(exoid, EX_NODE_SET, nset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[0], "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[1], "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodeset attributes */
- error = ex_put_attr_param(exoid, EX_NODE_SET, nsids[0], 1);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_attr(exoid, EX_NODE_SET, nsids[0], x);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- attrib_names[0] = "Nodeset_attribute";
- error = ex_put_attr_names (exoid, EX_NODE_SET, nsids[0], attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write individual side sets */
- num_face_in_sset[0] = 2;
- num_face_in_sset[1] = 2;
- num_face_in_sset[2] = 7;
- num_face_in_sset[3] = 8;
- num_face_in_sset[4] = 10;
-
- ssids[0] = 30;
- ssids[1] = 31;
- ssids[2] = 32;
- ssids[3] = 33;
- ssids[4] = 34;
-
- /* side set #1 - quad */
-
- error = ex_put_side_set_param (exoid, ssids[0], 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #2 - quad, spanning 2 elements */
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid, 33, 8, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
- elem_list[4] = 6; elem_list[5] = 6;
- elem_list[6] = 6; elem_list[7] = 6;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 1; side_list[5] = 2;
- side_list[6] = 3; side_list[7] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #5 - wedges and tris */
-
- error = ex_put_side_set_param (exoid, 34, 10, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5; elem_list[5] = 7;
- elem_list[6] = 7; elem_list[7] = 7;
- elem_list[8] = 7; elem_list[9] = 7;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5; side_list[5] = 1;
- side_list[6] = 2; side_list[7] = 3;
- side_list[8] = 4; side_list[9] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write side set names */
- sset_names[0] = "sset_1";
- sset_names[1] = "sset_2";
- sset_names[2] = "sset_3";
- sset_names[3] = "sset_4";
- sset_names[4] = "sset_5";
-
- error = ex_put_names(exoid, EX_SIDE_SET, sset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write QA records; test empty and just blank-filled records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write information records; test empty and just blank-filled records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- num_nod_vars = 2;
- /* 12345678901234567890123456789012 */
- var_names[0] = "node_variable_a_very_long_name_0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- num_ele_vars = 3;
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- num_nset_vars = 3;
-
- var_names[0] = "ns_var0";
- var_names[1] = "ns_var1";
- var_names[2] = "ns_var2";
-
- error = ex_put_var_param (exoid, "m", num_nset_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "m", num_nset_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
- {
- num_sset_vars = 3;
-
- var_names[0] = "ss_var0";
- var_names[1] = "ss_var1";
- var_names[2] = "ss_var2";
-
- error = ex_put_var_param (exoid, "s", num_sset_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "s", num_sset_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (8, CPU_word_size);
- sset_var_vals = (float *) calloc (10, CPU_word_size);
- nset_var_vals = (float *) calloc (10, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write sideset variables */
-
- for (k=1; k<=num_sset_vars; k++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- for (m=0; m<num_face_in_sset[j]; m++)
- {
- sset_var_vals[m] = (float)(k+2) + (float)(j+3) +
- ((float)(m+1)*time_value);
- /* printf("sset_var_vals[%d]: %f\n",m,sset_var_vals[m]); */
- }
- error = ex_put_sset_var (exoid, whole_time_step, k, ssids[j],
- num_face_in_sset[j], sset_var_vals);
- printf ("after ex_put_sset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write nodeset variables */
-
- for (k=1; k<=num_nset_vars; k++)
- {
- for (j=0; j<num_node_sets; j++)
- {
- for (m=0; m<num_nodes_in_nset[j]; m++)
- {
- nset_var_vals[m] = (float)(k+3) + (float)(j+4) +
- ((float)(m+1)*time_value);
- /* printf("nset_var_vals[%d]: %f\n",m,nset_var_vals[m]); */
- }
- error = ex_put_nset_var (exoid, whole_time_step, k, nsids[j],
- num_nodes_in_nset[j], nset_var_vals);
- printf ("after ex_put_nset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
- free(sset_var_vals);
- free(nset_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt-nsided.dmp b/cbind/test/testwt-nsided.dmp
deleted file mode 100644
index 8be1fc8..0000000
--- a/cbind/test/testwt-nsided.dmp
+++ /dev/null
@@ -1,669 +0,0 @@
-netcdf test-nsided {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 7 ;
- num_el_blk = 1 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_att_in_nblk = 2 ;
- num_el_in_blk1 = 7 ;
- num_nod_per_el1 = 37 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_att_in_ns1 = 1 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 8 ;
- num_side_ss5 = 10 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
- num_nset_var = 3 ;
- num_sset_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- float nattrb(num_nodes, num_att_in_nblk) ;
- char nattrib_name(num_att_in_nblk, len_name) ;
- int elem_map(num_elem) ;
- int connect1(num_nod_per_el1) ;
- connect1:elem_type = "nsided" ;
- int ebepecnt1(num_el_in_blk1) ;
- ebepecnt1:entity_type1 = "NODE" ;
- ebepecnt1:entity_type2 = "ELEM" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- float nsattrb1(num_nod_ns1, num_att_in_ns1) ;
- char nsattrib_name1(num_att_in_ns1, len_name) ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- char name_nset_var(num_nset_var, len_name) ;
- char name_sset_var(num_sset_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
- float vals_sset_var1ss1(time_step, num_side_ss1) ;
- float vals_sset_var1ss2(time_step, num_side_ss2) ;
- float vals_sset_var1ss3(time_step, num_side_ss3) ;
- float vals_sset_var1ss4(time_step, num_side_ss4) ;
- float vals_sset_var1ss5(time_step, num_side_ss5) ;
- float vals_sset_var2ss1(time_step, num_side_ss1) ;
- float vals_sset_var2ss2(time_step, num_side_ss2) ;
- float vals_sset_var2ss3(time_step, num_side_ss3) ;
- float vals_sset_var2ss4(time_step, num_side_ss4) ;
- float vals_sset_var2ss5(time_step, num_side_ss5) ;
- float vals_sset_var3ss1(time_step, num_side_ss1) ;
- float vals_sset_var3ss2(time_step, num_side_ss2) ;
- float vals_sset_var3ss3(time_step, num_side_ss3) ;
- float vals_sset_var3ss4(time_step, num_side_ss4) ;
- float vals_sset_var3ss5(time_step, num_side_ss5) ;
- float vals_nset_var1ns1(time_step, num_nod_ns1) ;
- float vals_nset_var1ns2(time_step, num_nod_ns2) ;
- float vals_nset_var2ns1(time_step, num_nod_ns1) ;
- float vals_nset_var2ns2(time_step, num_nod_ns2) ;
- float vals_nset_var3ns1(time_step, num_nod_ns1) ;
- float vals_nset_var3ns2(time_step, num_nod_ns2) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1 ;
-
- eb_prop1 = 10 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- eb_names =
- "nsided_1" ;
-
- ns_names =
- "nset_1",
- "nset_2" ;
-
- ss_names =
- "sset_1",
- "sset_2",
- "sset_3",
- "sset_4",
- "sset_5" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- nattrb =
- 0, 0,
- 1, 0,
- 1, 1,
- 0, 1,
- 1, 0,
- 2, 0,
- 2, 1,
- 1, 1,
- 0, 0,
- 10, 0,
- 10, 0,
- 1, 0,
- 1, 10,
- 10, 10,
- 10, 10,
- 1, 10,
- 0, 0,
- 1, 0,
- 10, 0,
- 7, 5,
- 3, 0,
- 6, 0,
- 0, 0,
- 3, 2,
- 6, 2,
- 0, 2,
- 2.7, 1.7,
- 6, 1.7,
- 5.7, 1.7,
- 3.7, 0,
- 0, 0,
- 10, 0,
- 10, 10 ;
-
- nattrib_name =
- "Node_attr_1",
- "Node_attr_2" ;
-
- elem_map = 1, 2, 3, 4, 5, 6, 7 ;
-
- connect1 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 17, 18, 19, 20, 27, 28, 30, 29, 31, 32, 33 ;
-
- ebepecnt1 = 4, 4, 8, 4, 6, 8, 3 ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- nsattrb1 =
- 0,
- 1,
- 1,
- 0,
- 1 ;
-
- nsattrib_name1 =
- "Nodeset_attribute" ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4, 6, 6, 6, 6 ;
-
- side_ss4 = 1, 2, 3, 4, 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5, 7, 7, 7, 7, 7 ;
-
- side_ss5 = 1, 2, 3, 4, 5, 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "TESTWT",
- "testwt",
- "07/07/93",
- "15:41:33",
- "",
- " ",
- "",
- " " ;
-
- info_records =
- "This is the first information record.",
- "",
- " " ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26, 1.27, 1.28, 1.29, 1.3, 1.31, 1.32, 1.33,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5,
- 1.52, 1.54, 1.56, 1.58, 1.6, 1.62, 1.64, 1.66,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78, 1.81, 1.84, 1.87, 1.9, 1.93, 1.96, 1.99,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5,
- 2.56, 2.62, 2.68, 2.74, 2.8, 2.86, 2.92, 2.98,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82, 2.89, 2.96, 3.03, 3.1, 3.17, 3.24, 3.31,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 3.16, 3.24, 3.32, 3.4, 3.48, 3.56, 3.64,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34, 3.43, 3.52, 3.61, 3.7, 3.79, 3.88, 3.97,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4,
- 4.1, 4.2, 4.3 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26, 2.27, 2.28, 2.29, 2.3, 2.31, 2.32, 2.33,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5,
- 2.52, 2.54, 2.56, 2.58, 2.6, 2.62, 2.64, 2.66,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78, 2.81, 2.84, 2.87, 2.9, 2.93, 2.96, 2.99,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 3.08, 3.12, 3.16, 3.2, 3.24, 3.28, 3.32,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 3.35, 3.4, 3.45, 3.5, 3.55, 3.6, 3.65,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5,
- 3.56, 3.62, 3.68, 3.74, 3.8, 3.86, 3.92, 3.98,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82, 3.89, 3.96, 4.03, 4.1, 4.17, 4.24, 4.31,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 4.16, 4.24, 4.32, 4.4, 4.48, 4.56, 4.64,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34, 4.43, 4.52, 4.61, 4.7, 4.79, 4.88, 4.97,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5,
- 5.1, 5.2, 5.3 ;
-
- name_nod_var =
- "node_variable_a_very_long_name_0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- name_nset_var =
- "ns_var0",
- "ns_var1",
- "ns_var2" ;
-
- name_sset_var =
- "ss_var0",
- "ss_var1",
- "ss_var2" ;
-
- vals_elem_var1eb1 =
- 4.01, 4.02, 4.03, 4.04, 4.05, 4.06, 4.07,
- 4.02, 4.04, 4.06, 4.08, 4.1, 4.12, 4.14,
- 4.03, 4.06, 4.09, 4.12, 4.15, 4.18, 4.21,
- 4.04, 4.08, 4.12, 4.16, 4.2, 4.24, 4.28,
- 4.05, 4.1, 4.15, 4.2, 4.25, 4.3, 4.35,
- 4.06, 4.12, 4.18, 4.24, 4.3, 4.36, 4.42,
- 4.07, 4.14, 4.21, 4.28, 4.35, 4.42, 4.49,
- 4.08, 4.16, 4.24, 4.32, 4.4, 4.48, 4.56,
- 4.09, 4.18, 4.27, 4.36, 4.45, 4.54, 4.63,
- 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7 ;
-
- vals_elem_var2eb1 =
- 5.01, 5.02, 5.03, 5.04, 5.05, 5.06, 5.07,
- 5.02, 5.04, 5.06, 5.08, 5.1, 5.12, 5.14,
- 5.03, 5.06, 5.09, 5.12, 5.15, 5.18, 5.21,
- 5.04, 5.08, 5.12, 5.16, 5.2, 5.24, 5.28,
- 5.05, 5.1, 5.15, 5.2, 5.25, 5.3, 5.35,
- 5.06, 5.12, 5.18, 5.24, 5.3, 5.36, 5.42,
- 5.07, 5.14, 5.21, 5.28, 5.35, 5.42, 5.49,
- 5.08, 5.16, 5.24, 5.32, 5.4, 5.48, 5.56,
- 5.09, 5.18, 5.27, 5.36, 5.45, 5.54, 5.63,
- 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 ;
-
- vals_elem_var3eb1 =
- 6.01, 6.02, 6.03, 6.04, 6.05, 6.06, 6.07,
- 6.02, 6.04, 6.06, 6.08, 6.1, 6.12, 6.14,
- 6.03, 6.06, 6.09, 6.12, 6.15, 6.18, 6.21,
- 6.04, 6.08, 6.12, 6.16, 6.2, 6.24, 6.28,
- 6.05, 6.1, 6.15, 6.2, 6.25, 6.3, 6.35,
- 6.06, 6.12, 6.18, 6.24, 6.3, 6.36, 6.42,
- 6.07, 6.14, 6.21, 6.28, 6.35, 6.42, 6.49,
- 6.08, 6.16, 6.24, 6.32, 6.4, 6.48, 6.56,
- 6.09, 6.18, 6.27, 6.36, 6.45, 6.54, 6.63,
- 6.1, 6.2, 6.3, 6.4, 6.5, 6.6, 6.7 ;
-
- elem_var_tab =
- 1, 1, 1 ;
-
- vals_sset_var1ss1 =
- 6.01, 6.02,
- 6.02, 6.04,
- 6.03, 6.06,
- 6.04, 6.08,
- 6.05, 6.1,
- 6.06, 6.12,
- 6.07, 6.14,
- 6.08, 6.16,
- 6.09, 6.18,
- 6.1, 6.2 ;
-
- vals_sset_var1ss2 =
- 7.01, 7.02,
- 7.02, 7.04,
- 7.03, 7.06,
- 7.04, 7.08,
- 7.05, 7.1,
- 7.06, 7.12,
- 7.07, 7.14,
- 7.08, 7.16,
- 7.09, 7.18,
- 7.1, 7.2 ;
-
- vals_sset_var1ss3 =
- 8.01, 8.02, 8.03, 8.04, 8.05, 8.06, 8.07,
- 8.02, 8.04, 8.06, 8.08, 8.1, 8.12, 8.14,
- 8.03, 8.06, 8.09, 8.12, 8.15, 8.18, 8.21,
- 8.04, 8.08, 8.12, 8.16, 8.2, 8.24, 8.28,
- 8.05, 8.1, 8.15, 8.2, 8.25, 8.3, 8.35,
- 8.06, 8.12, 8.18, 8.24, 8.3, 8.36, 8.42,
- 8.07, 8.14, 8.21, 8.28, 8.35, 8.42, 8.49,
- 8.08, 8.16, 8.24, 8.32, 8.4, 8.48, 8.56,
- 8.09, 8.18, 8.27, 8.36, 8.45, 8.54, 8.63,
- 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7 ;
-
- vals_sset_var1ss4 =
- 9.01, 9.02, 9.03, 9.04, 9.05, 9.06, 9.07, 9.08,
- 9.02, 9.04, 9.06, 9.08, 9.1, 9.12, 9.14, 9.16,
- 9.03, 9.06, 9.09, 9.12, 9.15, 9.18, 9.21, 9.24,
- 9.04, 9.08, 9.12, 9.16, 9.2, 9.24, 9.28, 9.32,
- 9.05, 9.1, 9.15, 9.2, 9.25, 9.3, 9.35, 9.4,
- 9.06, 9.12, 9.18, 9.24, 9.3, 9.36, 9.42, 9.48,
- 9.07, 9.14, 9.21, 9.28, 9.35, 9.42, 9.49, 9.56,
- 9.08, 9.16, 9.24, 9.32, 9.4, 9.48, 9.56, 9.64,
- 9.09, 9.18, 9.27, 9.36, 9.45, 9.54, 9.63, 9.72,
- 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8 ;
-
- vals_sset_var1ss5 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07, 10.08, 10.09, 10.1,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14, 10.16, 10.18, 10.2,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21, 10.24, 10.27, 10.3,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28, 10.32, 10.36, 10.4,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35, 10.4, 10.45, 10.5,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42, 10.48, 10.54, 10.6,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49, 10.56, 10.63, 10.7,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56, 10.64, 10.72, 10.8,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63, 10.72, 10.81, 10.9,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 11 ;
-
- vals_sset_var2ss1 =
- 7.01, 7.02,
- 7.02, 7.04,
- 7.03, 7.06,
- 7.04, 7.08,
- 7.05, 7.1,
- 7.06, 7.12,
- 7.07, 7.14,
- 7.08, 7.16,
- 7.09, 7.18,
- 7.1, 7.2 ;
-
- vals_sset_var2ss2 =
- 8.01, 8.02,
- 8.02, 8.04,
- 8.03, 8.06,
- 8.04, 8.08,
- 8.05, 8.1,
- 8.06, 8.12,
- 8.07, 8.14,
- 8.08, 8.16,
- 8.09, 8.18,
- 8.1, 8.2 ;
-
- vals_sset_var2ss3 =
- 9.01, 9.02, 9.03, 9.04, 9.05, 9.06, 9.07,
- 9.02, 9.04, 9.06, 9.08, 9.1, 9.12, 9.14,
- 9.03, 9.06, 9.09, 9.12, 9.15, 9.18, 9.21,
- 9.04, 9.08, 9.12, 9.16, 9.2, 9.24, 9.28,
- 9.05, 9.1, 9.15, 9.2, 9.25, 9.3, 9.35,
- 9.06, 9.12, 9.18, 9.24, 9.3, 9.36, 9.42,
- 9.07, 9.14, 9.21, 9.28, 9.35, 9.42, 9.49,
- 9.08, 9.16, 9.24, 9.32, 9.4, 9.48, 9.56,
- 9.09, 9.18, 9.27, 9.36, 9.45, 9.54, 9.63,
- 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7 ;
-
- vals_sset_var2ss4 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07, 10.08,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14, 10.16,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21, 10.24,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28, 10.32,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35, 10.4,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42, 10.48,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49, 10.56,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56, 10.64,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63, 10.72,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8 ;
-
- vals_sset_var2ss5 =
- 11.01, 11.02, 11.03, 11.04, 11.05, 11.06, 11.07, 11.08, 11.09, 11.1,
- 11.02, 11.04, 11.06, 11.08, 11.1, 11.12, 11.14, 11.16, 11.18, 11.2,
- 11.03, 11.06, 11.09, 11.12, 11.15, 11.18, 11.21, 11.24, 11.27, 11.3,
- 11.04, 11.08, 11.12, 11.16, 11.2, 11.24, 11.28, 11.32, 11.36, 11.4,
- 11.05, 11.1, 11.15, 11.2, 11.25, 11.3, 11.35, 11.4, 11.45, 11.5,
- 11.06, 11.12, 11.18, 11.24, 11.3, 11.36, 11.42, 11.48, 11.54, 11.6,
- 11.07, 11.14, 11.21, 11.28, 11.35, 11.42, 11.49, 11.56, 11.63, 11.7,
- 11.08, 11.16, 11.24, 11.32, 11.4, 11.48, 11.56, 11.64, 11.72, 11.8,
- 11.09, 11.18, 11.27, 11.36, 11.45, 11.54, 11.63, 11.72, 11.81, 11.9,
- 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8, 11.9, 12 ;
-
- vals_sset_var3ss1 =
- 8.01, 8.02,
- 8.02, 8.04,
- 8.03, 8.06,
- 8.04, 8.08,
- 8.05, 8.1,
- 8.06, 8.12,
- 8.07, 8.14,
- 8.08, 8.16,
- 8.09, 8.18,
- 8.1, 8.2 ;
-
- vals_sset_var3ss2 =
- 9.01, 9.02,
- 9.02, 9.04,
- 9.03, 9.06,
- 9.04, 9.08,
- 9.05, 9.1,
- 9.06, 9.12,
- 9.07, 9.14,
- 9.08, 9.16,
- 9.09, 9.18,
- 9.1, 9.2 ;
-
- vals_sset_var3ss3 =
- 10.01, 10.02, 10.03, 10.04, 10.05, 10.06, 10.07,
- 10.02, 10.04, 10.06, 10.08, 10.1, 10.12, 10.14,
- 10.03, 10.06, 10.09, 10.12, 10.15, 10.18, 10.21,
- 10.04, 10.08, 10.12, 10.16, 10.2, 10.24, 10.28,
- 10.05, 10.1, 10.15, 10.2, 10.25, 10.3, 10.35,
- 10.06, 10.12, 10.18, 10.24, 10.3, 10.36, 10.42,
- 10.07, 10.14, 10.21, 10.28, 10.35, 10.42, 10.49,
- 10.08, 10.16, 10.24, 10.32, 10.4, 10.48, 10.56,
- 10.09, 10.18, 10.27, 10.36, 10.45, 10.54, 10.63,
- 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7 ;
-
- vals_sset_var3ss4 =
- 11.01, 11.02, 11.03, 11.04, 11.05, 11.06, 11.07, 11.08,
- 11.02, 11.04, 11.06, 11.08, 11.1, 11.12, 11.14, 11.16,
- 11.03, 11.06, 11.09, 11.12, 11.15, 11.18, 11.21, 11.24,
- 11.04, 11.08, 11.12, 11.16, 11.2, 11.24, 11.28, 11.32,
- 11.05, 11.1, 11.15, 11.2, 11.25, 11.3, 11.35, 11.4,
- 11.06, 11.12, 11.18, 11.24, 11.3, 11.36, 11.42, 11.48,
- 11.07, 11.14, 11.21, 11.28, 11.35, 11.42, 11.49, 11.56,
- 11.08, 11.16, 11.24, 11.32, 11.4, 11.48, 11.56, 11.64,
- 11.09, 11.18, 11.27, 11.36, 11.45, 11.54, 11.63, 11.72,
- 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7, 11.8 ;
-
- vals_sset_var3ss5 =
- 12.01, 12.02, 12.03, 12.04, 12.05, 12.06, 12.07, 12.08, 12.09, 12.1,
- 12.02, 12.04, 12.06, 12.08, 12.1, 12.12, 12.14, 12.16, 12.18, 12.2,
- 12.03, 12.06, 12.09, 12.12, 12.15, 12.18, 12.21, 12.24, 12.27, 12.3,
- 12.04, 12.08, 12.12, 12.16, 12.2, 12.24, 12.28, 12.32, 12.36, 12.4,
- 12.05, 12.1, 12.15, 12.2, 12.25, 12.3, 12.35, 12.4, 12.45, 12.5,
- 12.06, 12.12, 12.18, 12.24, 12.3, 12.36, 12.42, 12.48, 12.54, 12.6,
- 12.07, 12.14, 12.21, 12.28, 12.35, 12.42, 12.49, 12.56, 12.63, 12.7,
- 12.08, 12.16, 12.24, 12.32, 12.4, 12.48, 12.56, 12.64, 12.72, 12.8,
- 12.09, 12.18, 12.27, 12.36, 12.45, 12.54, 12.63, 12.72, 12.81, 12.9,
- 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 12.8, 12.9, 13 ;
-
- vals_nset_var1ns1 =
- 8.01, 8.02, 8.03, 8.04, 8.05,
- 8.02, 8.04, 8.06, 8.08, 8.1,
- 8.03, 8.06, 8.09, 8.12, 8.15,
- 8.04, 8.08, 8.12, 8.16, 8.2,
- 8.05, 8.1, 8.15, 8.2, 8.25,
- 8.06, 8.12, 8.18, 8.24, 8.3,
- 8.07, 8.14, 8.21, 8.28, 8.35,
- 8.08, 8.16, 8.24, 8.32, 8.4,
- 8.09, 8.18, 8.27, 8.36, 8.45,
- 8.1, 8.2, 8.3, 8.4, 8.5 ;
-
- vals_nset_var1ns2 =
- 9.01, 9.02, 9.03,
- 9.02, 9.04, 9.06,
- 9.03, 9.06, 9.09,
- 9.04, 9.08, 9.12,
- 9.05, 9.1, 9.15,
- 9.06, 9.12, 9.18,
- 9.07, 9.14, 9.21,
- 9.08, 9.16, 9.24,
- 9.09, 9.18, 9.27,
- 9.1, 9.2, 9.3 ;
-
- vals_nset_var2ns1 =
- 9.01, 9.02, 9.03, 9.04, 9.05,
- 9.02, 9.04, 9.06, 9.08, 9.1,
- 9.03, 9.06, 9.09, 9.12, 9.15,
- 9.04, 9.08, 9.12, 9.16, 9.2,
- 9.05, 9.1, 9.15, 9.2, 9.25,
- 9.06, 9.12, 9.18, 9.24, 9.3,
- 9.07, 9.14, 9.21, 9.28, 9.35,
- 9.08, 9.16, 9.24, 9.32, 9.4,
- 9.09, 9.18, 9.27, 9.36, 9.45,
- 9.1, 9.2, 9.3, 9.4, 9.5 ;
-
- vals_nset_var2ns2 =
- 10.01, 10.02, 10.03,
- 10.02, 10.04, 10.06,
- 10.03, 10.06, 10.09,
- 10.04, 10.08, 10.12,
- 10.05, 10.1, 10.15,
- 10.06, 10.12, 10.18,
- 10.07, 10.14, 10.21,
- 10.08, 10.16, 10.24,
- 10.09, 10.18, 10.27,
- 10.1, 10.2, 10.3 ;
-
- vals_nset_var3ns1 =
- 10.01, 10.02, 10.03, 10.04, 10.05,
- 10.02, 10.04, 10.06, 10.08, 10.1,
- 10.03, 10.06, 10.09, 10.12, 10.15,
- 10.04, 10.08, 10.12, 10.16, 10.2,
- 10.05, 10.1, 10.15, 10.2, 10.25,
- 10.06, 10.12, 10.18, 10.24, 10.3,
- 10.07, 10.14, 10.21, 10.28, 10.35,
- 10.08, 10.16, 10.24, 10.32, 10.4,
- 10.09, 10.18, 10.27, 10.36, 10.45,
- 10.1, 10.2, 10.3, 10.4, 10.5 ;
-
- vals_nset_var3ns2 =
- 11.01, 11.02, 11.03,
- 11.02, 11.04, 11.06,
- 11.03, 11.06, 11.09,
- 11.04, 11.08, 11.12,
- 11.05, 11.1, 11.15,
- 11.06, 11.12, 11.18,
- 11.07, 11.14, 11.21,
- 11.08, 11.16, 11.24,
- 11.09, 11.18, 11.27,
- 11.1, 11.2, 11.3 ;
-}
diff --git a/cbind/test/testwt-one-attrib.c b/cbind/test/testwt-one-attrib.c
deleted file mode 100644
index a19f0d7..0000000
--- a/cbind/test/testwt-one-attrib.c
+++ /dev/null
@@ -1,304 +0,0 @@
-#undef NDEBUG
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10], num_attr[10];
- int num_node_sets, num_side_sets, error;
- int i, j, *connect;
- int ebids[10], ids[10];
- int CPU_word_size,IO_word_size;
- char title[MAX_LINE_LENGTH+1], elem_type[MAX_STR_LENGTH+1];
-
- float version;
- float *attrib;
- float x[100], y[100], z[100];
- char *coord_names[3];
-
- /* Coordinate Frames */
- int cf_ids[2] = {20, 13};
- float pt_coords[9*2] = {1,0,0, 1,0,1, 2,0,0,
- 0,0,0, 1,0,0, 0,1,0};
- char tags[2]={'r', 'c'};
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
- /* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
- /* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- /* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 19;
- num_elem = 12;;
- num_elem_blk = 1;
- num_node_sets = 0;
- num_side_sets = 0;
-
- error = ex_put_init (exoid, "This is testwt1", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
- assert(error == 0);
-
- /* write nodal coordinates values and names to database */
-
- /* Quad #1 */
- x[0] = 1.0000000E+00;
- x[1] = 5.0000000E-01;
- x[2] = 1.0000000E+00;
- x[3] = 1.0000000E+00;
- x[4] = 7.5000000E-01;
- x[5] = 5.0000000E-01;
- x[6] = 1.0000000E+00;
- x[7] = 7.5000000E-01;
- x[8] = 1.0000000E+00;
- x[9] = 5.0000000E-01;
- x[10] = 5.0000000E-01;
- x[11] = 5.0000000E-01;
- x[12] = 1.0000000E+00;
- x[13] = 1.0000000E+00;
- x[14] = 7.5000000E-01;
- x[15] = 7.5000000E-01;
- x[16] = 1.0000000E+00;
- x[17] = 7.5000000E-01;
- x[18] = 1.0000000E+00;
-
- y[0] = 5.0000000E-01;
- y[1] = 1.0000000E+00;
- y[2] = 1.0000000E+00;
- y[3] = 7.5000000E-01;
- y[4] = 1.0000000E+00;
- y[5] = 5.0000000E-01;
- y[6] = 5.0000000E-01;
- y[7] = 5.0000000E-01;
- y[8] = 5.0000000E-01;
- y[9] = 1.0000000E+00;
- y[10] = 7.5000000E-01;
- y[11] = 1.0000000E+00;
- y[12] = 1.0000000E+00;
- y[13] = 7.5000000E-01;
- y[14] = 1.0000000E+00;
- y[15] = 7.5000000E-01;
- y[16] = 1.0000000E+00;
- y[17] = 1.0000000E+00;
- y[18] = 7.5000000E-01;
-
- z[0] = 5.0000000E-01;
- z[1] = 5.0000000E-01;
- z[2] = 5.0000000E-01;
- z[3] = 5.0000000E-01;
- z[4] = 5.0000000E-01;
- z[5] = 1.0000000E+00;
- z[6] = 1.0000000E+00;
- z[7] = 1.0000000E+00;
- z[8] = 7.5000000E-01;
- z[9] = 1.0000000E+00;
- z[10] = 1.0000000E+00;
- z[11] = 7.5000000E-01;
- z[12] = 1.0000000E+00;
- z[13] = 1.0000000E+00;
- z[14] = 1.0000000E+00;
- z[15] = 1.0000000E+00;
- z[16] = 7.5000000E-01;
- z[17] = 7.5000000E-01;
- z[18] = 7.5000000E-01;
-
- error = ex_put_coord (exoid, x, y, z);
- assert(error == 0);
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- assert(error == 0);
-
- /* write element block parameters */
- num_elem_in_block[0] = 12;
- num_nodes_per_elem[0] = 4;
- ebids[0] = 10;
- num_attr[0] = 3;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], num_attr[0]);
- assert(error == 0);
-
- /* write element connectivity */
- connect = (int *) calloc(num_elem_in_block[0] * num_nodes_per_elem[0], sizeof(int));
-
- connect[ 0] = 1;
- connect[ 1] = 4;
- connect[ 2] = 19;
- connect[ 3] = 9;
- connect[ 4] = 4;
- connect[ 5] = 3;
- connect[ 6] = 17;
- connect[ 7] = 19;
- connect[ 8] = 3;
- connect[ 9] = 5;
- connect[10] = 18;
- connect[11] = 17;
- connect[12] = 5;
- connect[13] = 2;
- connect[14] = 12;
- connect[15] = 18;
- connect[16] = 9;
- connect[17] = 19;
- connect[18] = 14;
- connect[19] = 7;
- connect[20] = 7;
- connect[21] = 14;
- connect[22] = 16;
- connect[23] = 8;
- connect[24] = 19;
- connect[25] = 17;
- connect[26] = 13;
- connect[27] = 14;
- connect[28] = 17;
- connect[29] = 18;
- connect[30] = 15;
- connect[31] = 13;
- connect[32] = 14;
- connect[33] = 13;
- connect[34] = 15;
- connect[35] = 16;
- connect[36] = 8;
- connect[37] = 16;
- connect[38] = 11;
- connect[39] = 6;
- connect[40] = 18;
- connect[41] = 12;
- connect[42] = 10;
- connect[43] = 15;
- connect[44] = 16;
- connect[45] = 15;
- connect[46] = 10;
- connect[47] = 11;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- assert(error == 0);
- free (connect);
-
- /* write element block attributes (3 per block) */
- attrib = (float *) calloc(num_elem_in_block[0] * num_attr[0], sizeof(float));
-
-#if 0
- {
- k = 0;
- for (i=0; i < num_elem_in_block[0]; i++) {
- for (j = 0; j < num_attr[0]; j++) {
- attrib[k++] = 10*(i+1) + j+1;
- }
- }
- }
-
- error = ex_put_elem_attr (exoid, ebids[0], &attrib[0]);
- assert(error == 0);
-#else
- {
- for (j = 0; j < num_attr[0]; j++) {
- for (i=0; i < num_elem_in_block[0]; i++) {
- attrib[i] = 10*(i+1) + j+1;
- }
- error = ex_put_one_elem_attr (exoid, ebids[0], j+1, &attrib[0]);
- assert(error == 0);
- }
- }
-#endif
- free(attrib);
-
- /* Add a coordinate frame just to give test coverage... */
- {
- error = ex_put_coordinate_frames(exoid, 2, cf_ids, pt_coords, tags);
- assert(error == 0);
- }
-
- /* close the EXODUS files
- */
- error = ex_close (exoid);
- assert(error == 0);
-
-
- /* Reopen the file and read the attributes to see if they were written correctly */
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 0; /* use what is stored in file */
-
-
- /* open EXODUS II files */
-
- exoid = ex_open ("test.exo", /* filename path */
- EX_READ, /* access mode = READ */
- &CPU_word_size, /* CPU word size */
- &IO_word_size, /* IO word size */
- &version); /* ExodusII library version */
-
- assert(exoid >= 0);
- if (exoid < 0) exit(1);
-
- error = ex_get_init (exoid, title, &num_dim, &num_nodes, &num_elem,
- &num_elem_blk, &num_node_sets, &num_side_sets);
-
- assert(error == 0);
-
- if (num_elem_blk > 0) {
- error = ex_get_elem_blk_ids (exoid, ids);
- assert(error == 0);
-
- for (i=0; i<num_elem_blk; i++)
- {
- error = ex_get_elem_block (exoid, ids[i], elem_type,
- &(num_elem_in_block[i]),
- &(num_nodes_per_elem[i]), &(num_attr[i]));
- assert(error == 0);
- }
-
- /* read element block attributes */
-
- attrib = (float *) calloc(num_elem_in_block[0],sizeof(float));
- for (j = 0; j < num_attr[0]; j++) {
- error = ex_get_one_elem_attr (exoid, ids[0], j+1, &attrib[0]);
- assert(error == 0);
-
- if (error == 0) {
- for (i=0; i < num_elem_in_block[0]; i++) {
- assert(attrib[i] == 10*(i+1) + j+1); }
- }
- }
- free (attrib);
- }
-
- /* Read the coordinate frame... */
- {
- int nframes;
- int rdcf_ids[2];
- float rdpt_coords[9*2];
- char rdtags[2];
-
- nframes = ex_inquire_int(exoid, EX_INQ_COORD_FRAMES);
- assert(nframes == 2);
-
- error = ex_get_coordinate_frames(exoid, &nframes, rdcf_ids, rdpt_coords, rdtags);
- assert(error == 0);
- assert(rdtags[0] == tags[0] && rdtags[1] == tags[1]);
- assert(rdcf_ids[0] == cf_ids[0] && rdcf_ids[1] == cf_ids[1]);
-
- for (i=0; i < nframes*9; i++) {
- assert(rdpt_coords[i] == pt_coords[i]);
- }
- }
- error = ex_close (exoid);
- assert(error == 0);
- return 0;
-}
diff --git a/cbind/test/testwt-partial.c b/cbind/test/testwt-partial.c
deleted file mode 100644
index ac7f04d..0000000
--- a/cbind/test/testwt-partial.c
+++ /dev/null
@@ -1,1218 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-/* #include "netcdf.h" */
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10];
- int num_face_in_sset[10], num_nodes_in_nset[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, m, *elem_map, *connect;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[10], ssids[10], nsids[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars, num_sset_vars, num_nset_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float *sset_var_vals, *nset_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float attrib[1], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *prop_names[2], *attrib_names[2];
- char *title = "This is a test";
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 33;
- num_elem = 7;
- num_elem_blk = 7;
- num_node_sets = 2;
- num_side_sets = 5;
-
-
- error = ex_put_init (exoid, title, num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
-/* Tetra #2 */
- x[26] = 2.7; y[26] = 1.7; z[26] = 2.7;
- x[27] = 6.0; y[27] = 1.7; z[27] = 3.3;
- x[28] = 5.7; y[28] = 1.7; z[28] = 1.7;
- x[29] = 3.7; y[29] = 0.0; z[29] = 2.3;
-
-/* 3d Tri */
- x[30] = 0.0; y[30] = 0.0; z[30] = 0.0;
- x[31] = 10.0; y[31] = 0.0; z[31] = 0.0;
- x[32] = 10.0; y[32] = 10.0; z[32] = 10.0;
-
- for (i=0; i < num_nodes; i+=11) {
- error = ex_put_n_coord (exoid, i+1, 11, &x[i], &y[i], &z[i]);
- printf ("after ex_put_coord, error = %d\n", error);
- }
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodal attributes */
- error = ex_put_attr_param(exoid, EX_NODAL, 0, 2);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- for (i=0; i < num_nodes; i+=11) {
- error = ex_put_n_one_attr(exoid, EX_NODAL, 0, i+1, 11, 1, &x[i]);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_n_one_attr(exoid, EX_NODAL, 0, i+1, 11, 2, &y[i]);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
- {
- attrib_names[0] = "Node_attr_1";
- attrib_names[1] = "Node_attr_2";
- error = ex_put_attr_names (exoid, EX_NODAL, 0, attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (elem_map);
-
-
-/* write element block parameters */
-
-/* 1234567890123456789012345678901234567890 */
- block_names[0] = "block_1";
- block_names[1] = "block_2";
- block_names[2] = "block_3";
- block_names[3] = "block_4";
- block_names[4] = "block_5";
- block_names[5] = "block_6";
- block_names[6] = "block_7";
-
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
- num_elem_in_block[5] = 1;
- num_elem_in_block[6] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #4 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #5 are 6-node wedges */
- num_nodes_per_elem[5] = 8; /* elements in block #6 are 8-node tetras */
- num_nodes_per_elem[6] = 3; /* elements in block #7 are 3-node tris */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
- ebids[5] = 15;
- ebids[6] = 16;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[4], "wedge", num_elem_in_block[4],
- num_nodes_per_elem[4], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[5], "tetra", num_elem_in_block[5],
- num_nodes_per_elem[5], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[6], "tri", num_elem_in_block[6],
- num_nodes_per_elem[6], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write element block names */
- error = ex_put_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write element block properties */
-
- /* 12345678901234567890123456789012 */
- prop_names[0] = "MATERIAL_PROPERTY_LONG_NAME_32CH";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], prop_names[0], 10);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], prop_names[0], 20);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], prop_names[0], 30);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], prop_names[0], 40);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], prop_names[0], 50);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[5], prop_names[0], 60);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[6], prop_names[0], 70);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
- connect[4] = 27; connect[5] = 28; connect[6] = 30; connect[7] = 29;
-
- error = ex_put_elem_conn (exoid, ebids[5], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 31; connect[1] = 32; connect[2] = 33;
-
- error = ex_put_elem_conn (exoid, ebids[6], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
-
-
-/* write element block attributes */
-
- attrib[0] = 3.14159;
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- attrib[0] = 6.14159;
- error = ex_put_elem_attr (exoid, ebids[1], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[2], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[3], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[4], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[5], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[6], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- attrib_names[0] = "THICKNESS";
- for (i=0; i < 7; i++) {
- error = ex_put_elem_attr_names (exoid, ebids[i], attrib_names);
- printf ("after ex_put_elem_attr_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write individual node sets */
-
-
- num_nodes_in_nset[0] = 5;
- num_nodes_in_nset[1] = 3;
-
- nsids[0] = 20;
- nsids[1] = 21;
-
- error = ex_put_node_set_param (exoid, nsids[0], 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, nsids[0], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[0], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- error = ex_put_node_set_param (exoid, nsids[1], 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, nsids[1], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[1], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* Write node set names */
- nset_names[0] = "nset_1";
- nset_names[1] = "nset_2";
-
- error = ex_put_names(exoid, EX_NODE_SET, nset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[0], "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[1], "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodeset attributes */
- error = ex_put_attr_param(exoid, EX_NODE_SET, nsids[0], 1);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_attr(exoid, EX_NODE_SET, nsids[0], x);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- attrib_names[0] = "Nodeset_attribute";
- error = ex_put_attr_names (exoid, EX_NODE_SET, nsids[0], attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write individual side sets */
- num_face_in_sset[0] = 2;
- num_face_in_sset[1] = 2;
- num_face_in_sset[2] = 7;
- num_face_in_sset[3] = 8;
- num_face_in_sset[4] = 10;
-
- ssids[0] = 30;
- ssids[1] = 31;
- ssids[2] = 32;
- ssids[3] = 33;
- ssids[4] = 34;
-
- /* side set #1 - quad */
-
- error = ex_put_side_set_param (exoid, ssids[0], 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #2 - quad, spanning 2 elements */
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid, 33, 8, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
- elem_list[4] = 6; elem_list[5] = 6;
- elem_list[6] = 6; elem_list[7] = 6;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 1; side_list[5] = 2;
- side_list[6] = 3; side_list[7] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #5 - wedges and tris */
-
- error = ex_put_side_set_param (exoid, 34, 10, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5; elem_list[5] = 7;
- elem_list[6] = 7; elem_list[7] = 7;
- elem_list[8] = 7; elem_list[9] = 7;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5; side_list[5] = 1;
- side_list[6] = 2; side_list[7] = 3;
- side_list[8] = 4; side_list[9] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write side set names */
- sset_names[0] = "sset_1";
- sset_names[1] = "sset_2";
- sset_names[2] = "sset_3";
- sset_names[3] = "sset_4";
- sset_names[4] = "sset_5";
-
- error = ex_put_names(exoid, EX_SIDE_SET, sset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write QA records; test empty and just blank-filled records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write information records; test empty and just blank-filled records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_variable_param (exoid, EX_GLOBAL, num_glo_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_GLOBAL, num_glo_vars, var_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- num_nod_vars = 2;
- /* 12345678901234567890123456789012 */
- var_names[0] = "node_variable_a_very_long_name_0";
- var_names[1] = "nod_var1";
-
- error = ex_put_variable_param (exoid, EX_NODAL, num_nod_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_NODAL, num_nod_vars, var_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- num_ele_vars = 3;
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
-
- error = ex_put_variable_param (exoid, EX_ELEM_BLOCK, num_ele_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_ELEM_BLOCK, num_ele_vars, var_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- num_nset_vars = 3;
-
- var_names[0] = "ns_var0";
- var_names[1] = "ns_var1";
- var_names[2] = "ns_var2";
-
- error = ex_put_variable_param (exoid, EX_NODE_SET, num_nset_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_NODE_SET, num_nset_vars, var_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
- {
- num_sset_vars = 3;
-
- var_names[0] = "ss_var0";
- var_names[1] = "ss_var1";
- var_names[2] = "ss_var2";
-
- error = ex_put_variable_param (exoid, EX_SIDE_SET, num_sset_vars);
- printf ("after ex_put_variable_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_variable_names (exoid, EX_SIDE_SET, num_sset_vars, var_names);
- printf ("after ex_put_variable_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (4, CPU_word_size);
- sset_var_vals = (float *) calloc (10, CPU_word_size);
- nset_var_vals = (float *) calloc (10, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++) {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write nodal variables */
- for (k=1; k<=num_nod_vars; k++) {
- for (j=0; j<num_nodes; j++) {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
- error = ex_put_var(exoid, whole_time_step, EX_NODAL,
- k, 0, num_nodes, nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
- /* write element variables */
- for (k=1; k<=num_ele_vars; k++) {
- for (j=0; j<num_elem_blk; j++) {
- for (m=0; m<num_elem_in_block[j]; m++) {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_var(exoid, whole_time_step, EX_ELEM_BLOCK,
- k, ebids[j], num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- /* write sideset variables */
- for (k=1; k<=num_sset_vars; k++) {
- for (j=0; j<num_side_sets; j++) {
- for (m=0; m<num_face_in_sset[j]; m++) {
- sset_var_vals[m] = (float)(k+2) + (float)(j+3) +
- ((float)(m+1)*time_value);
- /* printf("sset_var_vals[%d]: %f\n",m,sset_var_vals[m]); */
- }
- error = ex_put_var(exoid, whole_time_step, EX_SIDE_SET,
- k, ssids[j], num_face_in_sset[j], sset_var_vals);
- printf ("after ex_put_sset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- /* write nodeset variables */
- for (k=1; k<=num_nset_vars; k++) {
- for (j=0; j<num_node_sets; j++) {
- for (m=0; m<num_nodes_in_nset[j]; m++) {
- nset_var_vals[m] = (float)(k+3) + (float)(j+4) +
- ((float)(m+1)*time_value);
- /* printf("nset_var_vals[%d]: %f\n",m,nset_var_vals[m]); */
- }
- error = ex_put_var(exoid, whole_time_step, EX_NODE_SET,
- k, nsids[j], num_nodes_in_nset[j], nset_var_vals);
- printf ("after ex_put_nset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
- free(sset_var_vals);
- free(nset_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt-zeroe.c b/cbind/test/testwt-zeroe.c
deleted file mode 100644
index 6165ebb..0000000
--- a/cbind/test/testwt-zeroe.c
+++ /dev/null
@@ -1,473 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-/* #include "netcdf.h" */
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, m;
- int node_list[100];
- int ebids[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 33;
- num_elem = 0;
- num_elem_blk = 0;
- num_node_sets = 2;
- num_side_sets = 0;
-
- error = ex_put_init (exoid, "This is a test", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
-/* Tetra #2 */
- x[26] = 2.7; y[26] = 1.7; z[26] = 2.7;
- x[27] = 6.0; y[27] = 1.7; z[27] = 3.3;
- x[28] = 5.7; y[28] = 1.7; z[28] = 1.7;
- x[29] = 3.7; y[29] = 0.0; z[29] = 2.3;
-
-/* 3d Tri */
- x[30] = 0.0; y[30] = 0.0; z[30] = 0.0;
- x[31] = 10.0; y[31] = 0.0; z[31] = 0.0;
- x[32] = 10.0; y[32] = 10.0; z[32] = 10.0;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write individual node sets */
-
-
- error = ex_put_node_set_param (exoid, 20, 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, 20, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, 20, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- error = ex_put_node_set_param (exoid, 21, 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, 21, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, 21, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
-/* write QA records; test empty and just blank-filled records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write information records; test empty and just blank-filled records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- num_nod_vars = 2;
- /* 12345678901234567890123456789012 */
- var_names[0] = "node_variable_a_very_long_name_0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- num_ele_vars = 0;
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (4, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt-zeroe.dmp b/cbind/test/testwt-zeroe.dmp
deleted file mode 100644
index 1eb0a65..0000000
--- a/cbind/test/testwt-zeroe.dmp
+++ /dev/null
@@ -1,185 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_node_sets = 2 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
-variables:
- float time_whole(time_step) ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char ns_names(num_node_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- ns_names =
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- node_ns1 = 10, 11, 12, 13, 14 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 20, 21, 22 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- qa_records =
- "TESTWT",
- "testwt",
- "07/07/93",
- "15:41:33",
- "",
- " ",
- "",
- " " ;
-
- info_records =
- "This is the first information record.",
- "",
- " " ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26, 1.27, 1.28, 1.29, 1.3, 1.31, 1.32, 1.33,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5,
- 1.52, 1.54, 1.56, 1.58, 1.6, 1.62, 1.64, 1.66,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78, 1.81, 1.84, 1.87, 1.9, 1.93, 1.96, 1.99,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5,
- 2.56, 2.62, 2.68, 2.74, 2.8, 2.86, 2.92, 2.98,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82, 2.89, 2.96, 3.03, 3.1, 3.17, 3.24, 3.31,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 3.16, 3.24, 3.32, 3.4, 3.48, 3.56, 3.64,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34, 3.43, 3.52, 3.61, 3.7, 3.79, 3.88, 3.97,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4,
- 4.1, 4.2, 4.3 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26, 2.27, 2.28, 2.29, 2.3, 2.31, 2.32, 2.33,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5,
- 2.52, 2.54, 2.56, 2.58, 2.6, 2.62, 2.64, 2.66,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78, 2.81, 2.84, 2.87, 2.9, 2.93, 2.96, 2.99,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 3.08, 3.12, 3.16, 3.2, 3.24, 3.28, 3.32,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 3.35, 3.4, 3.45, 3.5, 3.55, 3.6, 3.65,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5,
- 3.56, 3.62, 3.68, 3.74, 3.8, 3.86, 3.92, 3.98,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82, 3.89, 3.96, 4.03, 4.1, 4.17, 4.24, 4.31,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 4.16, 4.24, 4.32, 4.4, 4.48, 4.56, 4.64,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34, 4.43, 4.52, 4.61, 4.7, 4.79, 4.88, 4.97,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5,
- 5.1, 5.2, 5.3 ;
-
- name_nod_var =
- "node_variable_a_very_long_name_0",
- "nod_var1" ;
-}
diff --git a/cbind/test/testwt-zeron.c b/cbind/test/testwt-zeron.c
deleted file mode 100644
index fa83573..0000000
--- a/cbind/test/testwt-zeron.c
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-/* #include "netcdf.h" */
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_node_sets, num_side_sets, error;
- int i, j;
- int num_qa_rec, num_info;
- int num_glo_vars;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
-
- float *glob_var_vals;
- float time_value;
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 1;
- num_nodes = 0;
- num_elem = 0;
- num_elem_blk = 0;
- num_node_sets = 0;
- num_side_sets = 0;
-
- error = ex_put_init (exoid, "This is a test", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "xcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write QA records; test empty and just blank-filled records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write information records; test empty and just blank-filled records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- free(glob_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt-zeron.dmp b/cbind/test/testwt-zeron.dmp
deleted file mode 100644
index 006c7ae..0000000
--- a/cbind/test/testwt-zeron.dmp
+++ /dev/null
@@ -1,62 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 1 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
-variables:
- float time_whole(time_step) ;
- char coor_names(num_dim, len_name) ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- coor_names =
- "xcoor" ;
-
- qa_records =
- "TESTWT",
- "testwt",
- "07/07/93",
- "15:41:33",
- "",
- " ",
- "",
- " " ;
-
- info_records =
- "This is the first information record.",
- "",
- " " ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-}
diff --git a/cbind/test/testwt.c b/cbind/test/testwt.c
deleted file mode 100644
index f464cdc..0000000
--- a/cbind/test/testwt.c
+++ /dev/null
@@ -1,1236 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-/* #include "netcdf.h" */
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10];
- int num_face_in_sset[10], num_nodes_in_nset[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, m, *elem_map, *connect;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[10], ssids[10], nsids[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars, num_sset_vars, num_nset_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float *sset_var_vals, *nset_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float attrib[1], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *prop_names[2], *attrib_names[2];
- char *title = "This is a test";
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 33;
- num_elem = 7;
- num_elem_blk = 7;
- num_node_sets = 2;
- num_side_sets = 5;
-
-
- error = ex_put_init (exoid, title, num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
-/* Tetra #2 */
- x[26] = 2.7; y[26] = 1.7; z[26] = 2.7;
- x[27] = 6.0; y[27] = 1.7; z[27] = 3.3;
- x[28] = 5.7; y[28] = 1.7; z[28] = 1.7;
- x[29] = 3.7; y[29] = 0.0; z[29] = 2.3;
-
-/* 3d Tri */
- x[30] = 0.0; y[30] = 0.0; z[30] = 0.0;
- x[31] = 10.0; y[31] = 0.0; z[31] = 0.0;
- x[32] = 10.0; y[32] = 10.0; z[32] = 10.0;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodal attributes */
- error = ex_put_attr_param(exoid, EX_NODAL, 0, 2);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_one_attr(exoid, EX_NODAL, 0, 1, x);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_one_attr(exoid, EX_NODAL, 0, 2, y);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- attrib_names[0] = "Node_attr_1";
- attrib_names[1] = "Node_attr_2";
- error = ex_put_attr_names (exoid, EX_NODAL, 0, attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (elem_map);
-
-
-/* write element block parameters */
-
- block_names[0] = "block_1";
- block_names[1] = "block_2";
- block_names[2] = "block_3";
- block_names[3] = "block_4";
- block_names[4] = "block_5";
- block_names[5] = "block_6";
- block_names[6] = "block_7";
-
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
- num_elem_in_block[5] = 1;
- num_elem_in_block[6] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #4 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #5 are 6-node wedges */
- num_nodes_per_elem[5] = 8; /* elements in block #6 are 8-node tetras */
- num_nodes_per_elem[6] = 3; /* elements in block #7 are 3-node tris */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
- ebids[5] = 15;
- ebids[6] = 16;
-
- error = ex_put_name(exoid, EX_ELEM_BLOCK, ebids[0], block_names[0]);
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[4], "wedge", num_elem_in_block[4],
- num_nodes_per_elem[4], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[5], "tetra", num_elem_in_block[5],
- num_nodes_per_elem[5], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[6], "tri", num_elem_in_block[6],
- num_nodes_per_elem[6], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write element block names */
- for (i=0; i < 7; i++) {
- error = ex_put_name(exoid, EX_ELEM_BLOCK, ebids[i], block_names[i]);
- printf ("after ex_put_names, error = %d\n", error);
- }
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write element block properties */
-
- /* 12345678901234567890123456789012 */
- prop_names[0] = "MATERIAL_PROPERTY_LONG_NAME_32CH";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], prop_names[0], 10);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], prop_names[0], 20);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], prop_names[0], 30);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], prop_names[0], 40);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], prop_names[0], 50);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[5], prop_names[0], 60);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[6], prop_names[0], 70);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
- connect[4] = 27; connect[5] = 28; connect[6] = 30; connect[7] = 29;
-
- error = ex_put_elem_conn (exoid, ebids[5], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 31; connect[1] = 32; connect[2] = 33;
-
- error = ex_put_elem_conn (exoid, ebids[6], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
-
-
-/* write element block attributes */
-
- attrib[0] = 3.14159;
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- attrib[0] = 6.14159;
- error = ex_put_elem_attr (exoid, ebids[1], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[2], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[3], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[4], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[5], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[6], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- attrib_names[0] = "THICKNESS";
- for (i=0; i < 7; i++) {
- error = ex_put_elem_attr_names (exoid, ebids[i], attrib_names);
- printf ("after ex_put_elem_attr_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write individual node sets */
-
-
- num_nodes_in_nset[0] = 5;
- num_nodes_in_nset[1] = 3;
-
- nsids[0] = 20;
- nsids[1] = 21;
-
- error = ex_put_node_set_param (exoid, nsids[0], 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, nsids[0], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[0], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- error = ex_put_node_set_param (exoid, nsids[1], 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, nsids[1], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[1], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* Write node set names */
- nset_names[0] = "nset_1";
- nset_names[1] = "nset_2";
-
- error = ex_put_names(exoid, EX_NODE_SET, nset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[0], "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[1], "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodeset attributes */
- error = ex_put_attr_param(exoid, EX_NODE_SET, nsids[0], 1);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_attr(exoid, EX_NODE_SET, nsids[0], x);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- attrib_names[0] = "Nodeset_attribute";
- error = ex_put_attr_names (exoid, EX_NODE_SET, nsids[0], attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write individual side sets */
- num_face_in_sset[0] = 2;
- num_face_in_sset[1] = 2;
- num_face_in_sset[2] = 7;
- num_face_in_sset[3] = 8;
- num_face_in_sset[4] = 10;
-
- ssids[0] = 30;
- ssids[1] = 31;
- ssids[2] = 32;
- ssids[3] = 33;
- ssids[4] = 34;
-
- /* side set #1 - quad */
-
- error = ex_put_side_set_param (exoid, ssids[0], 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #2 - quad, spanning 2 elements */
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid, 33, 8, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
- elem_list[4] = 6; elem_list[5] = 6;
- elem_list[6] = 6; elem_list[7] = 6;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 1; side_list[5] = 2;
- side_list[6] = 3; side_list[7] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #5 - wedges and tris */
-
- error = ex_put_side_set_param (exoid, 34, 10, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5; elem_list[5] = 7;
- elem_list[6] = 7; elem_list[7] = 7;
- elem_list[8] = 7; elem_list[9] = 7;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5; side_list[5] = 1;
- side_list[6] = 2; side_list[7] = 3;
- side_list[8] = 4; side_list[9] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write side set names */
- sset_names[0] = "sset_1";
- sset_names[1] = "sset_2";
- sset_names[2] = "sset_3";
- sset_names[3] = "sset_4";
- sset_names[4] = "sset_5";
-
- error = ex_put_names(exoid, EX_SIDE_SET, sset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write QA records; test empty and just blank-filled records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write information records; test empty and just blank-filled records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- num_nod_vars = 2;
- /* 12345678901234567890123456789012 */
- var_names[0] = "node_variable_a_very_long_name_0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- num_ele_vars = 3;
- /* 0 1 2 3 */
- /* 12345678901234567890123456789012 */
- var_names[0] = "this_variable_name_is_short";
- var_names[1] = "this_variable_name_is_just_right";
- var_names[2] = "this_variable_name_is_tooooo_long";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- num_nset_vars = 3;
-
- var_names[0] = "ns_var0";
- var_names[1] = "ns_var1";
- var_names[2] = "ns_var2";
-
- error = ex_put_var_param (exoid, "m", num_nset_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "m", num_nset_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
- {
- num_sset_vars = 3;
-
- var_names[0] = "ss_var0";
- var_names[1] = "ss_var1";
- var_names[2] = "ss_var2";
-
- error = ex_put_var_param (exoid, "s", num_sset_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "s", num_sset_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (4, CPU_word_size);
- sset_var_vals = (float *) calloc (10, CPU_word_size);
- nset_var_vals = (float *) calloc (10, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write sideset variables */
-
- for (k=1; k<=num_sset_vars; k++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- for (m=0; m<num_face_in_sset[j]; m++)
- {
- sset_var_vals[m] = (float)(k+2) + (float)(j+3) +
- ((float)(m+1)*time_value);
- /* printf("sset_var_vals[%d]: %f\n",m,sset_var_vals[m]); */
- }
- error = ex_put_sset_var (exoid, whole_time_step, k, ssids[j],
- num_face_in_sset[j], sset_var_vals);
- printf ("after ex_put_sset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write nodeset variables */
-
- for (k=1; k<=num_nset_vars; k++)
- {
- for (j=0; j<num_node_sets; j++)
- {
- for (m=0; m<num_nodes_in_nset[j]; m++)
- {
- nset_var_vals[m] = (float)(k+3) + (float)(j+4) +
- ((float)(m+1)*time_value);
- /* printf("nset_var_vals[%d]: %f\n",m,nset_var_vals[m]); */
- }
- error = ex_put_nset_var (exoid, whole_time_step, k, nsids[j],
- num_nodes_in_nset[j], nset_var_vals);
- printf ("after ex_put_nset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
- free(sset_var_vals);
- free(nset_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt1.c b/cbind/test/testwt1.c
deleted file mode 100644
index 7f6176c..0000000
--- a/cbind/test/testwt1.c
+++ /dev/null
@@ -1,920 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt1 - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10], num_attr[10];
- int num_node_sets, num_side_sets, error;
- int num_node_maps, num_elem_maps;
- int i, j, k, m, *elem_map, *connect, *node_map;
- int node_list[100],elem_list[100],side_list[100];
- int id, ebids[10], ids[10];
- int num_nodes_per_set[10], num_elem_per_set[10];
- int num_df_per_set[10];
- int df_ind[10], node_ind[10], elem_ind[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float attrib[100], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *emap_names[2];
- char *prop_names[2];
-
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
-/* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 28;
- num_elem = 8;
- num_elem_blk = 7;
- num_node_sets = 2;
- num_side_sets = 5;
- /* num_side_sets = 6; Uncomment to test NULL side sets */
-
- error = ex_put_init (exoid, "This is testwt1", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Circle #1 */
- x[20] = 100.0; y[20] = 100.0; z[20] = 0.0;
-
-/* Sphere #1 */
- x[21] = 50.0; y[21] = 50.0; z[21] = 20.0;
-
-/* Wedge #1 */
- x[22] = 3.0; y[22] = 0.0; z[22] = 6.0;
- x[23] = 6.0; y[23] = 0.0; z[23] = 0.0;
- x[24] = 0.0; y[24] = 0.0; z[24] = 0.0;
- x[25] = 3.0; y[25] = 2.0; z[25] = 6.0;
- x[26] = 6.0; y[26] = 2.0; z[26] = 2.0;
- x[27] = 0.0; y[27] = 2.0; z[27] = 0.0;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
-
-/* write node and element map parameters */
-
- num_node_maps = 1;
- num_elem_maps = 2;
-
- error = ex_put_map_param (exoid, num_node_maps, num_elem_maps);
-
- printf ("after ex_put_map_param, error = %d\n", error);
-
-/* write element map properties */
-
- prop_names[0] = "ORDER";
- prop_names[1] = "NUMBER";
- error = ex_put_prop_names(exoid,EX_ELEM_MAP,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- id = 111;
- error = ex_put_elem_map (exoid, id, elem_map);
- printf ("after ex_put_elem_map, error = %d\n", error);
-
- free (elem_map);
-
- error = ex_put_prop(exoid, EX_ELEM_MAP, id, "ORDER", 1);
- printf ("after ex_put_prop, error = %d\n", error);
-
-/* write element numbering map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i*2;
- }
-
- id = 222;
- /* Output the map 1 element at a time... */
- for (i=1; i <= num_elem; i++) {
- error = ex_put_partial_elem_map (exoid, id, i, 1, &elem_map[i-1]);
- printf ("after ex_put_partial_elem_map, error = %d\n", error);
- }
-
- free (elem_map);
-
- error = ex_put_prop(exoid, EX_ELEM_MAP, id, "NUMBER", 1);
- printf ("after ex_put_prop, error = %d\n", error);
-
-/* write element map names */
- emap_names[0] = "Element_Map_111";
- emap_names[1] = "Element_Map_222";
-
- error = ex_put_names(exoid, EX_ELEM_MAP, emap_names);
- printf ("after ex_put_names, error = %d\n", error);
-
-/* write node map properties */
-
- prop_names[0] = "NUMBER";
- error = ex_put_prop_names(exoid,EX_NODE_MAP,1,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
-/* write node numbering map */
-
- node_map = (int *) calloc(num_nodes, sizeof(int));
-
- for (i=1; i<=num_nodes; i++)
- {
- node_map[i-1] = i*3;
- }
-
- id = 333;
- error = ex_put_node_map (exoid, id, node_map);
- printf ("after ex_put_node_map, error = %d\n", error);
-
- error = ex_put_name(exoid, EX_NODE_MAP, id, "Node_Map_111");
- printf ("after ex_put_name, error = %d\n", error);
-
- free (node_map);
-
- error = ex_put_prop(exoid, EX_NODE_MAP, id, "NUMBER", 1);
- printf ("after ex_put_prop, error = %d\n", error);
-
-
-/* write element block parameters */
-
- num_elem_in_block[0] = 1; /* element 1: Quad 1 */
- num_elem_in_block[1] = 2; /* elements 2, 3: Quad 1 & 2 */
- num_elem_in_block[2] = 1; /* element 4: Hex */
- num_elem_in_block[3] = 1; /* element 5: Tetra */
- num_elem_in_block[4] = 1; /* element 6: Circle */
- num_elem_in_block[5] = 1; /* element 7: Sphere */
- num_elem_in_block[6] = 1; /* element 8: Wedge */
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #3 are 4-node tetras */
- num_nodes_per_elem[4] = 1; /* elements in block #4 are 1-node circles */
- num_nodes_per_elem[5] = 1; /* elements in block #5 are 1-node spheres */
- num_nodes_per_elem[6] = 6; /* elements in block #6 are 6-node wedges */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
- ebids[5] = 15;
- ebids[6] = 16;
-
- num_attr[0] = 3;
- num_attr[1] = 3;
- num_attr[2] = 3;
- num_attr[3] = 3;
- num_attr[4] = 3;
- num_attr[5] = 3;
- num_attr[6] = 3;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], num_attr[0]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], num_attr[1]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], num_attr[2]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], num_attr[3]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[4], "circle", num_elem_in_block[4],
- num_nodes_per_elem[4], num_attr[4]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[5], "sphere", num_elem_in_block[5],
- num_nodes_per_elem[5], num_attr[5]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[6], "wedge", num_elem_in_block[6],
- num_nodes_per_elem[6], num_attr[6]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
-/* write element block properties */
-
- prop_names[0] = "MATL";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], "MATL", 10);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], "MATL", 20);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], "MATL", 30);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], "MATL", 40);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], "MATL", 50);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[5], "MATL", 60);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[6], "MATL", 70);
- printf ("after ex_put_prop, error = %d\n", error);
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
- connect[4] = 5; connect[5] = 6; connect[6] = 7; connect[7] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 21;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 22;
-
- error = ex_put_elem_conn (exoid, ebids[5], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 23; connect[1] = 24; connect[2] = 25;
- connect[3] = 26; connect[4] = 27; connect[5] = 28;
-
- error = ex_put_elem_conn (exoid, ebids[6], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- free (connect);
-
-
-/* write element block attributes (3 per block) */
-
- attrib[0] = 1.0; attrib[1] = 2.0; attrib[2] = 3.0;
- attrib[3] = 1.11; attrib[4] = 2.11; attrib[5] = 3.11;
- attrib[6] = 1.12; attrib[7] = 2.12; attrib[8] = 3.12;
- attrib[9] = 1.2; attrib[10] = 2.2; attrib[11] = 3.2;
- attrib[12] = 1.3; attrib[13] = 2.3; attrib[14] = 3.3;
- attrib[15] = 1.4; attrib[16] = 2.4; attrib[17] = 3.4;
- attrib[18] = 1.5; attrib[19] = 2.5; attrib[20] = 3.5;
- attrib[21] = 1.6; attrib[22] = 2.6; attrib[23] = 3.6;
-
- error = ex_put_elem_attr (exoid, ebids[0], &attrib[0]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[1], &attrib[3]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[2], &attrib[9]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[3], &attrib[12]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[4], &attrib[15]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[5], &attrib[18]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[6], &attrib[21]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
-/* write individual node sets */
-
- /* COMMENTED OUT ...
-
- error = ex_put_node_set_param (exoid, 20, 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, 20, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 20, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
-
- error = ex_put_node_set_param (exoid, 21, 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, 21, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 21, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
- END COMMENTED OUT SECTION */
-
-/* write concatenated node sets; this produces the same information as
- * the above code which writes individual node sets
- */
-
-/* THIS SECTION IS NOT COMMENTED OUT */
-
- ids[0] = 20; ids[1] = 21;
-
- num_nodes_per_set[0] = 5;
- num_nodes_per_set[1] = 3;
- /* num_nodes_per_set[1] = 0; Uncomment to test NULL node sets */
-
- node_ind[0] = 0; node_ind[1] = 5;
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
- node_list[5] = 20; node_list[6] = 21; node_list[7] = 22;
-
- num_df_per_set[0] = 5; num_df_per_set[1] = 3;
-
- df_ind[0] = 0; df_ind[1] = 5;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
- dist_fact[5] = 1.1; dist_fact[6] = 2.1; dist_fact[7] = 3.1;
-
- error = ex_put_concat_node_sets (exoid, ids, num_nodes_per_set,
- num_df_per_set, node_ind,
- df_ind, node_list, dist_fact);
- printf ("after ex_put_concat_node_sets, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
- /* END NOT COMMENTED OUT SECTION */
-
-
-/* write individual side sets */
-
- /* COMMENTED OUT SECTION ...
-
- error = ex_put_side_set_param (exoid, 30, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 1; elem_list[1] = 1;
-
- node_list[0] = 1; node_list[1] = 2;
- node_list[2] = 5; node_list[3] = 6;
-
- side_list[0] = 1; side_list[1] = 1;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- node_list[0] = 6; node_list[1] = 7;
- node_list[2] = 7; node_list[3] = 8;
-
- side_list[0] = 3; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- END COMMENTED OUT SECTION */
-
-/* write concatenated side sets; this produces the same information as
- * the above code which writes individual side sets
- */
-
-/* THIS SECTION IS NOT COMMENTED OUT */
-
- ids[0] = 30;
- ids[1] = 31;
- ids[2] = 32;
- ids[3] = 33;
- ids[4] = 34;
- ids[5] = 35;
-
- /* side set #1 - quad */
- node_list[0] = 8; node_list[1] = 5; elem_list[0] = 3;
- node_list[2] = 6; node_list[3] = 7; elem_list[1] = 3;
-
- /* side set #2 - quad/hex, spanning 2 element types */
- node_list[4] = 2; node_list[5] = 3; elem_list[2] = 1;
- node_list[6] = 7; node_list[7] = 8; elem_list[3] = 3;
-
- /* side set #3 - hex */
- node_list[ 8] = 9; node_list[ 9] = 12;
- node_list[10] = 11; node_list[11] = 10; elem_list[4] = 4;
-
- node_list[12] = 11; node_list[13] = 12;
- node_list[14] = 16; node_list[15] = 15; elem_list[5] = 4;
-
- node_list[16] = 16; node_list[17] = 15;
- node_list[18] = 11; node_list[19] = 12; elem_list[6] = 4;
-
- node_list[20] = 10; node_list[21] = 11;
- node_list[22] = 15; node_list[23] = 14; elem_list[7] = 4;
-
- node_list[24] = 13; node_list[25] = 16;
- node_list[26] = 12; node_list[27] = 9; elem_list[8] = 4;
-
- node_list[28] = 14; node_list[29] = 13;
- node_list[30] = 9; node_list[31] = 10; elem_list[9] = 4;
-
- node_list[32] = 16; node_list[33] = 13;
- node_list[34] = 14; node_list[35] = 15; elem_list[10] = 4;
-
- /* side set #4 - tetras */
- node_list[36] = 17; node_list[37] = 18;
- node_list[38] = 20; elem_list[11] = 5;
-
- node_list[39] = 18; node_list[40] = 19;
- node_list[41] = 20; elem_list[12] = 5;
-
- node_list[42] = 20; node_list[43] = 19;
- node_list[44] = 17; elem_list[13] = 5;
-
- node_list[45] = 19; node_list[46] = 18;
- node_list[47] = 17; elem_list[14] = 5;
-
- /* side set #5 - circle and sphere */
- node_list[48] = 21; elem_list[15] = 6;
- node_list[49] = 22; elem_list[16] = 7;
-
- /* side set #6 - wedges */
- node_list[50] = 27; node_list[51] = 26;
- node_list[52] = 23; node_list[53] = 24; elem_list[17] = 8;
-
- node_list[54] = 28; node_list[55] = 27;
- node_list[56] = 24; node_list[57] = 25; elem_list[18] = 8;
-
- node_list[58] = 28; node_list[59] = 25;
- node_list[60] = 23; node_list[61] = 26; elem_list[19] = 8;
-
- node_list[62] = 25; node_list[63] = 24;
- node_list[64] = 23; elem_list[20] = 8;
-
- node_list[65] = 26; node_list[66] = 27;
- node_list[67] = 28; elem_list[21] = 8;
-
- node_ind[0] = 0;
- node_ind[1] = 4;
- node_ind[2] = 8;
- node_ind[3] = 36;
- node_ind[4] = 47;
- node_ind[5] = 49;
-
- num_elem_per_set[0] = 2; /* two sides uses 2 elements */
- num_elem_per_set[1] = 2;
- num_elem_per_set[2] = 7;
- num_elem_per_set[3] = 4;
- num_elem_per_set[4] = 2;
- num_elem_per_set[5] = 5;
- /* num_elem_per_set[5] = 0; Uncomment to test NULL side sets */
-
- num_nodes_per_set[0] = 4;
- num_nodes_per_set[1] = 4;
- num_nodes_per_set[2] = 28;
- num_nodes_per_set[3] = 12;
- num_nodes_per_set[4] = 2;
- num_nodes_per_set[5] = 18;
-
- elem_ind[0] = 0;
- elem_ind[1] = 2;
- elem_ind[2] = 4;
- elem_ind[3] = 11;
- elem_ind[4] = 15;
- elem_ind[5] = 17;
-
-/* side set 0
- side_list[0]= 4; side_list[1]= 2;*/
-/* side set 1
- side_list[2]= 2; side_list[3]= 3; */
-/* side set 2
- side_list[4]= 5; side_list[5]= 3;
- side_list[6]= 3; side_list[7]= 2;
- side_list[8]= 4; side_list[9]= 1;
- side_list[10]= 6;*/
-/* side set 3
- side_list[11]= 1; side_list[12]= 2;
- side_list[13]= 3; side_list[14]= 4; */
-/* side set 4
- side_list[15] = 1; side_list[16] = 1; */
-/* side set 5
- side_list[17]= 1; side_list[18]= 2;
- side_list[19]= 3; side_list[20]= 4;
- side_list[21]= 5; */
-
- error = ex_cvt_nodes_to_sides(exoid,
- num_elem_per_set,
- num_nodes_per_set,
- elem_ind,
- node_ind,
- elem_list,
- node_list,
- side_list);
- printf ("after ex_cvt_nodes_to_sides, error = %d\n", error);
-
- /* for (i=0;i<num_side_sets;i++)
- {
- printf("side set %d\n",i);
- for (j=0;j<num_elem_per_set[i];j++)
- printf(" side_list[%d]: %d\n",j,side_list[j+elem_ind[i]]);
- } */
-
- num_df_per_set[0] = 4;
- num_df_per_set[1] = 4;
- num_df_per_set[2] = 0;
- num_df_per_set[3] = 0;
- num_df_per_set[4] = 0;
- num_df_per_set[5] = 0;
-
- df_ind[0] = 0;
- df_ind[1] = 4;
-
- /* side set #1 df */
- dist_fact[0] = 30.0; dist_fact[1] = 30.1;
- dist_fact[2] = 30.2; dist_fact[3] = 30.3;
-
- /* side set #2 df */
- dist_fact[4] = 31.0; dist_fact[5] = 31.1;
- dist_fact[6] = 31.2; dist_fact[7] = 31.3;
-
- error = ex_put_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("after ex_put_concat_side_sets, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- /* END COMMENTED OUT SECTION */
-
-/* write QA records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT1";
- qa_record[0][1] = "testwt1";
- qa_record[0][2] = "03/16/94";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "FASTQ";
- qa_record[1][1] = "fastq";
- qa_record[1][2] = "07/07/93";
- qa_record[1][3] = "16:41:33";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
-
-/* write information records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "This is the second information record.";
- info[2] = "This is the third information record.";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_name(exoid, "g", 1, var_names[0]);
- printf ("after ex_put_var_name, error = %d\n", error);
-
-
- num_nod_vars = 2;
-
- var_names[0] = "nod_var0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_ele_vars = 3;
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k] = k+1;
- k++;
- }
- }
-
- truth_tab[6] = 0;
-
- /* commented out to test ex_get_elem_var_tab in testrd1
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error); */
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (4, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- if (k == 1 && j == 2)
- continue; /* skip element block 3, variable 1 */
- else
- {
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- }
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- return 0;
-}
diff --git a/cbind/test/testwt2.c b/cbind/test/testwt2.c
deleted file mode 100644
index 9c60cb5..0000000
--- a/cbind/test/testwt2.c
+++ /dev/null
@@ -1,1279 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt2 - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines. It tests multiple simultaneous output files.
-*
-*
-*****************************************************************************/
-
-#define EX_TEST_INDIV_NODESET
-#define EX_TEST_INDIV_SIDESET
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "exodusII.h"
-#include "netcdf.h"
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int exoid2, num_dim2, num_nodes2, num_elem2,num_elem_blk2;
- int num_elem_in_block[10], num_node_sets, num_nodes_per_elem[10];
- int num_elem_in_block2[10], num_node_sets2, num_nodes_per_elem2[10];
- int num_side_sets, error;
- int num_side_sets2;
- int i, j, k, m;
- int *elem_map, *connect, node_list[100],elem_list[100],side_list[100];
- int *elem_map2, *connect2, node_list2[100],elem_list2[100],side_list2[100];
- int ebids[10];
- int ebids2[10];
- int num_qa_rec, num_info;
- int num_qa_rec2,num_info2;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int num_glo_vars2, num_nod_vars2, num_ele_vars2;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float time_value;
- float time_value2;
- float x[100], y[100], z[100];
- float attrib[1], dist_fact[100];
- float attrib2[1], dist_fact2[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *coord_names2[3], *qa_record2[2][4], *info2[3], *var_names2[3];
- char *prop_names[2];
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II files (a "regular" and a "history") */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- exoid2= ex_create ("test2.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test2.exo, exoid = %d\n", exoid2);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 26;
- num_elem = 5;
- num_elem_blk = 5;
- num_node_sets = 2;
- num_side_sets = 5;
-
- error = ex_put_init (exoid, "This is a test", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
-
-
-/* initialize file 2 with parameters */
-
- num_dim2 = 3;
- num_nodes2 = 26;
- num_elem2 = 5;
- num_elem_blk2 = 5;
- num_node_sets2 = 2;
- num_side_sets2 = 5;
-
- error = ex_put_init (exoid2, "This is test 2",num_dim2,num_nodes2,num_elem2,
- num_elem_blk2, num_node_sets2, num_side_sets2);
-
- printf ("after ex_put_init (2), error = %d\n", error);
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
-/* write nodal coordinates values and names to database 2 */
-
- error = ex_put_coord (exoid2, x, y, z);
- printf ("after ex_put_coord (2), error = %d\n", error);
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- coord_names2[0] = "xcoor";
- coord_names2[1] = "ycoor";
- coord_names2[2] = "zcoor";
-
- error = ex_put_coord_names (exoid2, coord_names2);
- printf ("after ex_put_coord_names (2), error = %d\n", error);
-
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- free (elem_map);
-
- elem_map2= (int *) calloc(num_elem2, sizeof(int));
-
- for (i=1; i<=num_elem2; i++)
- {
- elem_map2[i-1] = i;
- }
-
- error = ex_put_map (exoid2, elem_map2);
- printf ("after ex_put_map (2), error = %d\n", error);
-
- free (elem_map2);
-
-
-/* write element block parameters */
-
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #3 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #3 are 6-node wedges */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[4], "wedge", num_elem_in_block[4],
- num_nodes_per_elem[4], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
-/* write element block properties */
-
- prop_names[0] = "MATL";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], "MATL", 10);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], "MATL", 20);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], "MATL", 30);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], "MATL", 40);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], "MATL", 50);
- printf ("after ex_put_prop, error = %d\n", error);
-
-
-
- num_elem_in_block2[0] = 1;
- num_elem_in_block2[1] = 1;
- num_elem_in_block2[2] = 1;
- num_elem_in_block2[3] = 1;
- num_elem_in_block2[4] = 1;
-
- num_nodes_per_elem2[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem2[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem2[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem2[3] = 4; /* elements in block #3 are 4-node tetras */
- num_nodes_per_elem2[4] = 6; /* elements in block #3 are 6-node wedges */
-
- ebids2[0] = 10;
- ebids2[1] = 11;
- ebids2[2] = 12;
- ebids2[3] = 13;
- ebids2[4] = 14;
-
-
- error = ex_put_elem_block (exoid2, ebids2[0], "quad", num_elem_in_block2[0],
- num_nodes_per_elem2[0], 1);
- printf ("after ex_put_elem_block (2), error = %d\n", error);
-
- error = ex_put_elem_block (exoid2, ebids2[1], "quad", num_elem_in_block2[1],
- num_nodes_per_elem2[1], 1);
- printf ("after ex_put_elem_blocki (2), error = %d\n", error);
-
- error = ex_put_elem_block (exoid2, ebids2[2], "hex", num_elem_in_block2[2],
- num_nodes_per_elem2[2], 1);
- printf ("after ex_put_elem_blocki (2), error = %d\n", error);
-
- error = ex_put_elem_block (exoid2, ebids2[3], "tetra", num_elem_in_block2[3],
- num_nodes_per_elem2[3], 1);
- printf ("after ex_put_elem_block (2), error = %d\n", error);
-
- error = ex_put_elem_block (exoid2, ebids2[4], "wedge", num_elem_in_block2[4],
- num_nodes_per_elem2[4], 1);
- printf ("after ex_put_elem_block (2), error = %d\n", error);
-
-
-/* write element block properties for file 2 */
-
- prop_names[0] = "MATL";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid2,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names (2), error = %d\n", error);
-
- error = ex_put_prop(exoid2, EX_ELEM_BLOCK, ebids[0], "MATL", 100);
- printf ("after ex_put_prop (2), error = %d\n", error);
- error = ex_put_prop(exoid2, EX_ELEM_BLOCK, ebids[1], "MATL", 200);
- printf ("after ex_put_prop (2), error = %d\n", error);
- error = ex_put_prop(exoid2, EX_ELEM_BLOCK, ebids[2], "MATL", 300);
- printf ("after ex_put_prop (2), error = %d\n", error);
- error = ex_put_prop(exoid2, EX_ELEM_BLOCK, ebids[3], "MATL", 400);
- printf ("after ex_put_prop (2), error = %d\n", error);
- error = ex_put_prop(exoid2, EX_ELEM_BLOCK, ebids[4], "MATL", 500);
- printf ("after ex_put_prop (2), error = %d\n", error);
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- free (connect);
-
- connect2 = (int *) calloc(8, sizeof(int));
- connect2[0] = 1; connect2[1] = 2; connect2[2] = 3; connect2[3] = 4;
-
- error = ex_put_elem_conn (exoid2, ebids2[0], connect2);
- printf ("after ex_put_elem_conn (2), error = %d\n", error);
-
- connect2[0] = 5; connect2[1] = 6; connect2[2] = 7; connect2[3] = 8;
-
- error = ex_put_elem_conn (exoid2, ebids2[1], connect2);
- printf ("after ex_put_elem_conn (2), error = %d\n", error);
-
- connect2[0] = 9; connect2[1] = 10; connect2[2] = 11; connect2[3] = 12;
- connect2[4] = 13; connect2[5] = 14; connect2[6] = 15; connect2[7] = 16;
-
- error = ex_put_elem_conn (exoid2, ebids2[2], connect2);
- printf ("after ex_put_elem_conn (2), error = %d\n", error);
-
- connect2[0] = 17; connect2[1] = 18; connect2[2] = 19; connect2[3] = 20;
-
- error = ex_put_elem_conn (exoid2, ebids2[3], connect2);
- printf ("after ex_put_elem_conn (2), error = %d\n", error);
-
- connect2[0] = 21; connect2[1] = 22; connect2[2] = 23;
- connect2[3] = 24; connect2[4] = 25; connect2[5] = 26;
-
- error = ex_put_elem_conn (exoid2, ebids2[4], connect2);
- printf ("after ex_put_elem_conn (2), error = %d\n", error);
-
-
- free (connect2);
-
-
-/* write element block attributes */
-
- attrib[0] = 3.14159;
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- attrib[0] = 6.14159;
- error = ex_put_elem_attr (exoid, ebids[1], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[2], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[3], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[4], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- attrib2[0] = 3.;
- error = ex_put_elem_attr (exoid2, ebids2[0], attrib2);
- printf ("after ex_put_elem_attr (2), error = %d\n", error);
-
- attrib2[0] = 6.;
- error = ex_put_elem_attr (exoid2, ebids2[1], attrib2);
- printf ("after ex_put_elem_attr (2), error = %d\n", error);
-
- error = ex_put_elem_attr (exoid2, ebids2[2], attrib2);
- printf ("after ex_put_elem_attr (2), error = %d\n", error);
-
- error = ex_put_elem_attr (exoid2, ebids2[3], attrib2);
- printf ("after ex_put_elem_attr (2), error = %d\n", error);
-
- error = ex_put_elem_attr (exoid2, ebids2[4], attrib2);
- printf ("after ex_put_elem_attr (2), error = %d\n", error);
-
-#ifdef EX_TEST_INDIV_NODESET
-/* write individual node sets */
-
- error = ex_put_node_set_param (exoid, 20, 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, 20, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 20, dist_fact);
- printf ("after ex_put_node_set, error = %d\n", error);
-
- error = ex_put_node_set_param (exoid, 21, 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, 21, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 21, dist_fact);
- printf ("after ex_put_node_set, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
-/* file 2 */
- error = ex_put_node_set_param (exoid2, 20, 5, 5);
- printf ("after ex_put_node_set_param (2), error = %d\n", error);
-
- node_list2[0] = 10; node_list2[1] = 11; node_list2[2] = 12;
- node_list2[3] = 13; node_list2[4] = 14;
-
- dist_fact2[0] = 1.0; dist_fact2[1] = 2.0; dist_fact2[2] = 3.0;
- dist_fact2[3] = 4.0; dist_fact2[4] = 5.0;
-
- error = ex_put_node_set (exoid2, 20, node_list2);
- printf ("after ex_put_node_set (2), error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid2, 20, dist_fact2);
- printf ("after ex_put_node_set (2), error = %d\n", error);
-
- error = ex_put_node_set_param (exoid2, 21, 3, 3);
- printf ("after ex_put_node_set_param (2), error = %d\n", error);
-
- node_list2[0] = 20; node_list2[1] = 21; node_list2[2] = 22;
-
- dist_fact2[0] = 1.1; dist_fact2[1] = 2.1; dist_fact2[2] = 3.1;
-
- error = ex_put_node_set (exoid2, 21, node_list2);
- printf ("after ex_put_node_set (2), error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid2, 21, dist_fact2);
- printf ("after ex_put_node_set (2), error = %d\n", error);
-
- error = ex_put_prop(exoid2, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop (2), error = %d\n", error);
-
- error = ex_put_prop(exoid2, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop (2), error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid2, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop (2), error = %d\n", error);
-
-#else /* EX_TEST_INDIV_NODESET */
-/* write concatenated node sets; this produces the same information as
- * the above code which writes individual node sets
- */
-
- ids[0] = 20; ids[1] = 21;
-
- num_nodes_per_set[0] = 5; num_nodes_per_set[1] = 3;
-
- node_ind[0] = 0; node_ind[1] = 5;
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
- node_list[5] = 20; node_list[6] = 21; node_list[7] = 22;
-
- num_df_per_set[0] = 5; num_df_per_set[1] = 3;
-
- df_ind[0] = 0; df_ind[1] = 5;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
- dist_fact[5] = 1.1; dist_fact[6] = 2.1; dist_fact[7] = 3.1;
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_concat_node_sets (exoid, ids, num_nodes_per_set,
- num_df_per_set, node_ind,
- df_ind, node_list, dist_fact);
- printf ("after ex_put_concat_node_sets, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
- error = ex_put_concat_node_sets (exoid2, ids, num_nodes_per_set,
- num_df_per_set, node_ind,
- df_ind, node_list, dist_fact);
- printf ("after ex_put_concat_node_sets, error = %d\n", error);
-
-
- error = ex_put_prop(exoid2, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid2, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop_array(exoid2, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
-#endif /* EX_TEST_INDIV_NODESET */
-
-#ifdef EX_TEST_INDIV_SIDESET
-/* write individual side sets */
-
- error = ex_put_side_set_param (exoid, 30, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid, 33, 4, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- /* side set #5 - wedges */
-
- error = ex_put_side_set_param (exoid, 34, 5, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
-/* file 2 */
- error = ex_put_side_set_param (exoid2, 30, 2, 4);
- printf ("after ex_put_side_set_param (2), error = %d\n", error);
-
- elem_list2[0] = 2; elem_list2[1] = 2;
-
- side_list2[0] = 4; side_list2[1] = 2;
-
- dist_fact2[0] = 30.0; dist_fact2[1] = 30.1; dist_fact2[2] = 30.2;
- dist_fact2[3] = 30.3;
-
- error = ex_put_side_set (exoid2, 30, elem_list2, side_list2);
- printf ("after ex_put_side_set (2), error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid2, 30, dist_fact2);
- printf ("after ex_put_side_set_dist_fact (2), error = %d\n", error);
-
-
- error = ex_put_side_set_param (exoid2, 31, 2, 4);
- printf ("after ex_put_side_set_param (2), error = %d\n", error);
-
- elem_list2[0] = 1; elem_list2[1] = 2;
-
- side_list2[0] = 2; side_list2[1] = 3;
-
- dist_fact2[0] = 31.0; dist_fact2[1] = 31.1; dist_fact2[2] = 31.2;
- dist_fact2[3] = 31.3;
-
- error = ex_put_side_set (exoid2, 31, elem_list2, side_list2);
- printf ("after ex_put_side_set (2), error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid2, 31, dist_fact2);
- printf ("after ex_put_side_set_dist_fact (2), error = %d\n", error);
-
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoid2, 32, 7, 0);
- printf ("after ex_put_side_set_param (2), error = %d\n", error);
-
- elem_list2[0] = 3; elem_list2[1] = 3;
- elem_list2[2] = 3; elem_list2[3] = 3;
- elem_list2[4] = 3; elem_list2[5] = 3;
- elem_list2[6] = 3;
-
- side_list2[0] = 5; side_list2[1] = 3;
- side_list2[2] = 3; side_list2[3] = 2;
- side_list2[4] = 4; side_list2[5] = 1;
- side_list2[6] = 6;
-
- error = ex_put_side_set (exoid2, 32, elem_list2, side_list2);
- printf ("after ex_put_side_set (2), error = %d\n", error);
-
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid2, 33, 4, 0);
- printf ("after ex_put_side_set_param (2), error = %d\n", error);
-
- elem_list2[0] = 4; elem_list2[1] = 4;
- elem_list2[2] = 4; elem_list2[3] = 4;
-
- side_list2[0] = 1; side_list2[1] = 2;
- side_list2[2] = 3; side_list2[3] = 4;
-
- error = ex_put_side_set (exoid2, 33, elem_list2, side_list2);
- printf ("after ex_put_side_set (2), error = %d\n", error);
-
-
- /* side set #5 - wedges */
-
- error = ex_put_side_set_param (exoid2, 34, 5, 0);
- printf ("after ex_put_side_set_param (2), error = %d\n", error);
-
- elem_list2[0] = 5; elem_list2[1] = 5;
- elem_list2[2] = 5; elem_list2[3] = 5;
- elem_list2[4] = 5;
-
- side_list2[0] = 1; side_list2[1] = 2;
- side_list2[2] = 3; side_list2[3] = 4;
- side_list2[4] = 5;
-
- error = ex_put_side_set (exoid2, 34, elem_list2, side_list2);
- printf ("after ex_put_side_set (2), error = %d\n", error);
-
-#else /* EX_TEST_INDIV_SIDESET */
-
-/* write concatenated side sets; this produces the same information as
- * the above code which writes individual side sets
- */
-
- ids[0] = 30;
- ids[1] = 31;
- ids[2] = 32;
- ids[3] = 33;
- ids[4] = 34;
-
- node_list[0] = 8; node_list[1] = 5;
- node_list[2] = 6; node_list[3] = 7;
-
- node_list[4] = 2; node_list[5] = 3;
- node_list[6] = 7; node_list[7] = 8;
-
- node_list[8] = 9; node_list[9] = 12;
- node_list[10] = 11; node_list[11] = 10;
-
- node_list[12] = 11; node_list[13] = 12;
- node_list[14] = 16; node_list[15] = 15;
-
- node_list[16] = 16; node_list[17] = 15;
- node_list[18] = 11; node_list[19] = 12;
-
- node_list[20] = 10; node_list[21] = 11;
- node_list[22] = 15; node_list[23] = 14;
-
- node_list[24] = 13; node_list[25] = 16;
- node_list[26] = 12; node_list[27] = 9;
-
- node_list[28] = 14; node_list[29] = 13;
- node_list[30] = 9; node_list[31] = 10;
-
- node_list[32] = 16; node_list[33] = 13;
- node_list[34] = 14; node_list[35] = 15;
-
- node_list[36] = 17; node_list[37] = 18;
- node_list[38] = 20;
-
- node_list[39] = 18; node_list[40] = 19;
- node_list[41] = 20;
-
- node_list[42] = 20; node_list[43] = 19;
- node_list[44] = 17;
-
- node_list[45] = 19; node_list[46] = 18;
- node_list[47] = 17;
-
- node_list[48] = 25; node_list[49] = 24;
- node_list[50] = 21; node_list[51] = 22;
-
- node_list[52] = 26; node_list[53] = 25;
- node_list[54] = 22; node_list[55] = 23;
-
- node_list[56] = 26; node_list[57] = 23;
- node_list[58] = 21; node_list[59] = 24;
-
- node_list[60] = 23; node_list[61] = 22;
- node_list[62] = 21;
-
- node_list[63] = 24; node_list[64] = 25;
- node_list[65] = 26;
-
- node_ind[0] = 0;
- node_ind[1] = 4;
- node_ind[2] = 8;
- node_ind[3] = 36;
- node_ind[4] = 47;
-
- num_elem_per_set[0] = 2;
- num_elem_per_set[1] = 2;
- num_elem_per_set[2] = 7;
- num_elem_per_set[3] = 4;
- num_elem_per_set[4] = 5;
-
- num_nodes_per_set[0] = 4;
- num_nodes_per_set[1] = 4;
- num_nodes_per_set[2] = 28;
- num_nodes_per_set[3] = 12;
- num_nodes_per_set[4] = 18;
-
- elem_ind[0] = 0;
- elem_ind[1] = 2;
- elem_ind[2] = 4;
- elem_ind[3] = 11;
- elem_ind[4] = 15;
-
- elem_list[0] = 2; elem_list[1] = 2;
- elem_list[2] = 1; elem_list[3] = 2;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3; elem_list[7] = 3;
- elem_list[8] = 3; elem_list[9] = 3;
- elem_list[10] = 3; elem_list[11] = 4;
- elem_list[12] = 4; elem_list[13] = 4;
- elem_list[14] = 4; elem_list[15] = 5;
- elem_list[16] = 5; elem_list[17] = 5;
- elem_list[18] = 5; elem_list[19] = 5;
-
- error = ex_cvt_nodes_to_sides(exoid,
- num_elem_per_set,
- num_nodes_per_set,
- elem_ind,
- node_ind,
- elem_list,
- node_list,
- side_list);
- printf ("after ex_cvt_nodes_to_sides, error = %d\n", error);
-
- num_df_per_set[0] = 4;
- num_df_per_set[1] = 4;
- num_df_per_set[2] = 0;
- num_df_per_set[3] = 0;
- num_df_per_set[4] = 0;
-
- df_ind[0] = 0;
- df_ind[1] = 4;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1;
- dist_fact[2] = 30.2; dist_fact[3] = 30.3;
-
- dist_fact[4] = 31.0; dist_fact[5] = 31.1;
- dist_fact[6] = 31.2; dist_fact[7] = 31.3;
-
- error = ex_put_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("after ex_put_concat_side_sets, error = %d\n", error);
-
-/* file 2 */
-
- ids2[0] = 30;
- ids2[1] = 31;
- ids2[2] = 32;
- ids2[3] = 33;
- ids2[4] = 34;
-
- node_list2[0] = 8; node_list2[1] = 5;
- node_list2[2] = 6; node_list2[3] = 7;
-
- node_list2[4] = 2; node_list2[5] = 3;
- node_list2[6] = 7; node_list2[7] = 8;
-
- node_list2[8] = 9; node_list2[9] = 12;
- node_list2[10] = 11; node_list2[11] = 10;
-
- node_list2[12] = 11; node_list2[13] = 12;
- node_list2[14] = 16; node_list2[15] = 15;
-
- node_list2[16] = 16; node_list2[17] = 15;
- node_list2[18] = 11; node_list2[19] = 12;
-
- node_list2[20] = 10; node_list2[21] = 11;
- node_list2[22] = 15; node_list2[23] = 14;
-
- node_list2[24] = 13; node_list2[25] = 16;
- node_list2[26] = 12; node_list2[27] = 9;
-
- node_list2[28] = 14; node_list2[29] = 13;
- node_list2[30] = 9; node_list2[31] = 10;
-
- node_list2[32] = 16; node_list2[33] = 13;
- node_list2[34] = 14; node_list2[35] = 15;
-
- node_list2[36] = 17; node_list2[37] = 18;
- node_list2[38] = 20;
-
- node_list2[39] = 18; node_list2[40] = 19;
- node_list2[41] = 20;
-
- node_list2[42] = 20; node_list2[43] = 19;
- node_list2[44] = 17;
-
- node_list2[45] = 19; node_list2[46] = 18;
- node_list2[47] = 17;
-
- node_list2[48] = 25; node_list2[49] = 24;
- node_list2[50] = 21; node_list2[51] = 22;
-
- node_list2[52] = 26; node_list2[53] = 25;
- node_list2[54] = 22; node_list2[55] = 23;
-
- node_list2[56] = 26; node_list2[57] = 23;
- node_list2[58] = 21; node_list2[59] = 24;
-
- node_list2[60] = 23; node_list2[61] = 22;
- node_list2[62] = 21;
-
- node_list2[63] = 24; node_list2[64] = 25;
- node_list2[65] = 26;
-
- node_ind2[0] = 0;
- node_ind2[1] = 4;
- node_ind2[2] = 8;
- node_ind2[3] = 36;
- node_ind2[4] = 47;
-
- num_elem_per_set2[0] = 2;
- num_elem_per_set2[1] = 2;
- num_elem_per_set2[2] = 7;
- num_elem_per_set2[3] = 4;
- num_elem_per_set2[4] = 5;
-
- num_nodes_per_set2[0] = 4;
- num_nodes_per_set2[1] = 4;
- num_nodes_per_set2[2] = 28;
- num_nodes_per_set2[3] = 12;
- num_nodes_per_set2[4] = 18;
-
- elem_ind2[0] = 0;
- elem_ind2[1] = 2;
- elem_ind2[2] = 4;
- elem_ind2[3] = 11;
- elem_ind2[4] = 15;
-
- elem_list2[0] = 2; elem_list2[1] = 2;
- elem_list2[2] = 1; elem_list2[3] = 2;
- elem_list2[4] = 3; elem_list2[5] = 3;
- elem_list2[6] = 3; elem_list2[7] = 3;
- elem_list2[8] = 3; elem_list2[9] = 3;
- elem_list2[10] = 3; elem_list2[11] = 4;
- elem_list2[12] = 4; elem_list2[13] = 4;
- elem_list2[14] = 4; elem_list2[15] = 5;
- elem_list2[16] = 5; elem_list2[17] = 5;
- elem_list2[18] = 5; elem_list2[19] = 5;
-
- error = ex_cvt_nodes_to_sides(exoid,
- num_elem_per_set2,
- num_nodes_per_set2,
- elem_ind2,
- node_ind2,
- elem_list2,
- node_list2,
- side_list2);
- printf ("after ex_cvt_nodes_to_sides (2), error = %d\n", error);
-
- num_df_per_set2[0] = 4;
- num_df_per_set2[1] = 4;
- num_df_per_set2[2] = 0;
- num_df_per_set2[3] = 0;
- num_df_per_set2[4] = 0;
-
- df_ind2[0] = 0;
- df_ind2[1] = 4;
-
- dist_fact2[0] = 30.0; dist_fact2[1] = 30.1;
- dist_fact2[2] = 30.2; dist_fact2[3] = 30.3;
-
- dist_fact2[4] = 31.0; dist_fact2[5] = 31.1;
- dist_fact2[6] = 31.2; dist_fact2[7] = 31.3;
-
- error = ex_put_concat_side_sets (exoid2, ids2, num_elem_per_set2,
- num_df_per_set2, elem_ind2, df_ind2,
- elem_list2, side_list2, dist_fact2);
- printf ("after ex_put_concat_side_sets (2), error = %d\n", error);
-
-
-#endif /* EX_TEST_INDIV_SIDESET */
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid2, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop (2), error = %d\n", error);
-
- error = ex_put_prop(exoid2, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop (2), error = %d\n", error);
-
-
-/* write QA records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT2";
- qa_record[0][1] = "testwt2";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "FASTQ";
- qa_record[1][1] = "fastq";
- qa_record[1][2] = "07/07/93";
- qa_record[1][3] = "16:41:33";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- num_qa_rec2 = 2;
-
- qa_record2[0][0] = "TESTWT2";
- qa_record2[0][1] = "testwt2";
- qa_record2[0][2] = "07/07/93";
- qa_record2[0][3] = "15:41:33";
- qa_record2[1][0] = "FASTQ";
- qa_record2[1][1] = "fastq";
- qa_record2[1][2] = "07/07/93";
- qa_record2[1][3] = "16:41:33";
-
- error = ex_put_qa (exoid2, num_qa_rec2, qa_record2);
- printf ("after ex_put_qa (2), error = %d\n", error);
-
-
-/* write information records */
-
- num_info = 3;
-
- info[0] = "This is the first information record.";
- info[1] = "This is the second information record.";
- info[2] = "This is the third information record.";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- num_info2 = 3;
-
- info2[0] = "This is the first information record.";
- info2[1] = "This is the second information record.";
- info2[2] = "This is the third information record.";
-
- error = ex_put_info (exoid2, num_info2, info2);
- printf ("after ex_put_info (2), error = %d\n", error);
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_glo_vars2 = 1;
-
- var_names2[0] = "glo_vars";
-
- error = ex_put_var_param (exoid2, "g", num_glo_vars2);
- printf ("after ex_put_var_param (2), error = %d\n", error);
- error = ex_put_var_names (exoid2, "g", num_glo_vars2, var_names2);
- printf ("after ex_put_var_names (2), error = %d\n", error);
-
- num_nod_vars = 2;
-
- var_names[0] = "nod_var0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_nod_vars2 = 2;
-
- var_names2[0] = "nod_var0";
- var_names2[1] = "nod_var1";
-
- error = ex_put_var_param (exoid2, "n", num_nod_vars2);
- printf ("after ex_put_var_param (2), error = %d\n", error);
- error = ex_put_var_names (exoid2, "n", num_nod_vars2, var_names2);
- printf ("after ex_put_var_names (2), error = %d\n", error);
-
-
- num_ele_vars = 3;
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_ele_vars2 = 3;
-
- var_names2[0] = "ele_var20";
- var_names2[1] = "ele_var21";
- var_names2[2] = "ele_var22";
-
- error = ex_put_var_param (exoid2, "e", num_ele_vars2);
- printf ("after ex_put_var_param (2), error = %d\n", error);
- error = ex_put_var_names (exoid2, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names (2), error = %d\n", error);
-
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- error = ex_put_elem_var_tab (exoid2, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab (2), error = %d\n", error);
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays hist_var_vals, glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, sizeof(CPU_word_size));
- nodal_var_vals = (float *) calloc (num_nodes, sizeof(CPU_word_size));
- elem_var_vals = (float *) calloc (4, sizeof(CPU_word_size));
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
- time_value2 = (float)(i+1)/100.;
-
-/* write time value to regular file */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- error = ex_put_time (exoid2, whole_time_step, &time_value2);
- printf ("after ex_put_time (2), error = %d\n", error);
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- error = ex_put_glob_vars (exoid2, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars (2), error = %d\n", error);
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
-
- error = ex_put_nodal_var (exoid2, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var (2), error = %d\n", error);
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
-
- error = ex_put_elem_var (exoid2, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var (2), error = %d\n", error);
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- error = ex_update (exoid2);
- printf ("after ex_update (2), error = %d\n", error);
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- error = ex_close (exoid2);
- printf ("after ex_close (2), error = %d\n", error);
- return 0;
-}
diff --git a/cbind/test/testwt_clb.c b/cbind/test/testwt_clb.c
deleted file mode 100644
index 42ef824..0000000
--- a/cbind/test/testwt_clb.c
+++ /dev/null
@@ -1,999 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, kk, m, *elem_map, *connect;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[10], ssids[10], nsids[10], nattr[10];
- int num_nodes_per_set[10], num_elem_per_set[10];
- int num_df_per_set[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars, num_nset_vars, num_sset_vars;
- int *truth_tab, *nset_tab, *sset_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals, *nset_var_vals, *sset_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float attrib[1], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[7];
- char *prop_names[2];
- char *eb_type[10];
-
- ex_opts (EX_VERBOSE|EX_ABORT);
-
- /* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
- /* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
- /* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 33;
- num_elem = 7;
- num_elem_blk = 7;
- num_node_sets = 2;
- num_side_sets = 5;
-
- error = ex_put_init (exoid, "This is a test", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write nodal coordinates values and names to database */
-
- /* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
- /* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
- /* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
- /* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
- /* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
- /* Tetra #2 */
- x[26] = 2.7; y[26] = 1.7; z[26] = 2.7;
- x[27] = 6.0; y[27] = 1.7; z[27] = 3.3;
- x[28] = 5.7; y[28] = 1.7; z[28] = 1.7;
- x[29] = 3.7; y[29] = 0.0; z[29] = 2.3;
-
- /* 3d Tri */
- x[30] = 0.0; y[30] = 0.0; z[30] = 0.0;
- x[31] = 10.0; y[31] = 0.0; z[31] = 0.0;
- x[32] = 10.0; y[32] = 10.0; z[32] = 10.0;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (elem_map);
-
-
- /* write element block parameters */
-
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
- num_elem_in_block[5] = 1;
- num_elem_in_block[6] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #4 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #5 are 6-node wedges */
- num_nodes_per_elem[5] = 8; /* elements in block #6 are 8-node tetras */
- num_nodes_per_elem[6] = 3; /* elements in block #7 are 3-node tris */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
- ebids[5] = 15;
- ebids[6] = 16;
-
- nattr[0] = nattr[1] = nattr[2] = nattr[3] = 1;
- nattr[4] = nattr[5] = nattr[6] = 1;
-
- eb_type[0] = "quad";
- eb_type[1] = "quad";
- eb_type[2] = "hex";
- eb_type[3] = "tetra";
- eb_type[4] = "wedge";
- eb_type[5] = "tetra";
- eb_type[6] = "tri";
-
- error = ex_put_concat_elem_block (exoid, ebids, eb_type,
- num_elem_in_block, num_nodes_per_elem,
- nattr, 0);
- printf ("after ex_put_concat_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write element block properties */
-
- prop_names[0] = "MATL";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], "MATL", 10);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], "MATL", 20);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], "MATL", 30);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], "MATL", 40);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], "MATL", 50);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[5], "MATL", 60);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[6], "MATL", 70);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
- connect[4] = 27; connect[5] = 28; connect[6] = 30; connect[7] = 29;
-
- error = ex_put_elem_conn (exoid, ebids[5], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 31; connect[1] = 32; connect[2] = 33;
-
- error = ex_put_elem_conn (exoid, ebids[6], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
-
-
- /* write element block attributes */
-
- attrib[0] = 3.14159;
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- attrib[0] = 6.14159;
- error = ex_put_elem_attr (exoid, ebids[1], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[2], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[3], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[4], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[5], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[6], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write individual node sets */
-
-
- nsids[0] = 20; nsids[1] = 21;
- num_nodes_per_set[0] = 5; num_nodes_per_set[1] = 3;
- num_df_per_set[0] = 5; num_df_per_set[1] = 3;
-
- error = ex_put_concat_node_sets (exoid, nsids, num_nodes_per_set,
- num_df_per_set, 0, 0, 0, 0);
-
- printf ("after ex_put_concat_node_sets, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, 20, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, 20, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, 21, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, 21, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Define the sideset params at one time, then write individually */
- ssids[0] = 30;
- ssids[1] = 31;
- ssids[2] = 32;
- ssids[3] = 33;
- ssids[4] = 34;
-
- num_elem_per_set[0] = 2;
- num_elem_per_set[1] = 2;
- num_elem_per_set[2] = 7;
- num_elem_per_set[3] = 8;
- num_elem_per_set[4] = 10;
-
- num_df_per_set[0] = 4;
- num_df_per_set[1] = 4;
- num_df_per_set[2] = 0;
- num_df_per_set[3] = 0;
- num_df_per_set[4] = 0;
-
- error = ex_put_concat_side_sets (exoid, ssids, num_elem_per_set,
- num_df_per_set, 0, 0, 0, 0, 0);
- printf ("after ex_put_concat_side_sets, error = %d\n", error);
-
- /* write individual side sets */
-
- /* side set #1 - quad */
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #2 - quad, spanning 2 elements */
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #3 - hex */
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #4 - tetras */
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
- elem_list[4] = 6; elem_list[5] = 6;
- elem_list[6] = 6; elem_list[7] = 6;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 1; side_list[5] = 2;
- side_list[6] = 3; side_list[7] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #5 - wedges and tris */
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5; elem_list[5] = 7;
- elem_list[6] = 7; elem_list[7] = 7;
- elem_list[8] = 7; elem_list[9] = 7;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5; side_list[5] = 1;
- side_list[6] = 2; side_list[7] = 3;
- side_list[8] = 4; side_list[9] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* write QA records; test empty and just blank-filled records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* write information records; test empty and just blank-filled records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- /* write results variables parameters and names */
- num_glo_vars = 1;
- num_nod_vars = 2;
- num_ele_vars = 3;
- num_nset_vars = 4;
- num_sset_vars = 7;
-
- truth_tab = (int *) calloc ((num_elem_blk * num_ele_vars), sizeof(int));
- nset_tab = (int *) calloc ((num_node_sets * num_nset_vars), sizeof(int));
- sset_tab = (int *) calloc ((num_side_sets * num_sset_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++) {
- for (j=0; j<num_ele_vars; j++) {
- truth_tab[k++] = 1;
- }
- }
-
- k = 0;
- for (i=0; i<num_node_sets; i++) {
- for (j=0; j<num_nset_vars; j++) {
- if (k%2 == 0)
- nset_tab[k++] = 1;
- else
- nset_tab[k++] = 0;
- }
- }
-
- k = 0;
- for (i=0; i<num_side_sets; i++) {
- for (j=0; j<num_sset_vars; j++) {
- if (k%2 == 0)
- sset_tab[k++] = 0;
- else
- sset_tab[k++] = 1;
- }
- }
-
- ex_put_all_var_param(exoid, num_glo_vars, num_nod_vars, num_ele_vars, truth_tab,
- num_nset_vars, nset_tab, num_sset_vars, sset_tab);
- printf ("after ex_put_all_var_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (truth_tab);
- free (nset_tab);
- free (sset_tab);
-
- var_names[0] = "glo_vars";
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* 12345678901234567890123456789012 */
- var_names[0] = "node_variable_a_very_long_name_0";
- var_names[1] = "nod_var1";
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- var_names[0] = "nset_var0";
- var_names[1] = "nset_var1";
- var_names[2] = "nset_var2";
- var_names[3] = "nset_var3";
- error = ex_put_var_names (exoid, "m", num_nset_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- var_names[0] = "sset_var0";
- var_names[1] = "sset_var1";
- var_names[2] = "sset_var2";
- var_names[3] = "sset_var3";
- var_names[4] = "sset_var4";
- var_names[5] = "sset_var5";
- var_names[6] = "sset_var6";
- error = ex_put_var_names (exoid, "s", num_sset_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (4, CPU_word_size);
- nset_var_vals = (float *) calloc (5, CPU_word_size);
- sset_var_vals = (float *) calloc (10, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
- /* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write global variables */
-
- for (j=0; j<num_glo_vars; j++) {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++) {
- for (j=0; j<num_nodes; j++) {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- }
-
- /* write element variables */
-
- for (k=1; k<=num_ele_vars; k++) {
- for (j=0; j<num_elem_blk; j++) {
- for (m=0; m<num_elem_in_block[j]; m++) {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- /* write nodeset variables */
-
- kk = 0;
- for (j=0; j<num_node_sets; j++) {
- for (k=0; k<num_nset_vars; k++) {
- if (kk++ % 2 == 0) {
- for (m=0; m<num_nodes_per_set[j]; m++) {
- nset_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- }
- error = ex_put_nset_var (exoid, whole_time_step, k+1, nsids[j],
- num_nodes_per_set[j], nset_var_vals);
- printf ("after ex_put_nset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
- }
-
- /* write sideset variables */
-
- kk = 0;
- for (j=0; j<num_side_sets; j++) {
- for (k=0; k<num_sset_vars; k++) {
- if (kk++ % 2 != 0) {
- for (m=0; m<num_elem_per_set[j]; m++) {
- sset_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- }
- error = ex_put_sset_var (exoid, whole_time_step, k+1, ssids[j],
- num_elem_per_set[j], sset_var_vals);
- printf ("after ex_put_sset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
- }
-
- whole_time_step++;
-
- /* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
- free(nset_var_vals);
- free(sset_var_vals);
-
- /* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt_nc.c b/cbind/test/testwt_nc.c
deleted file mode 100644
index 280a877..0000000
--- a/cbind/test/testwt_nc.c
+++ /dev/null
@@ -1,1236 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-/* #include "netcdf.h" */
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10];
- int num_face_in_sset[10], num_nodes_in_nset[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, m, *elem_map, *connect;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[10], ssids[10], nsids[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars, num_sset_vars, num_nset_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float *sset_var_vals, *nset_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float attrib[1], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *block_names[10], *nset_names[10], *sset_names[10];
- char *prop_names[2], *attrib_names[2];
-
- ex_opts (EX_VERBOSE | EX_ABORT );
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 33;
- num_elem = 7;
- num_elem_blk = 7;
- num_node_sets = 2;
- num_side_sets = 5;
-
- error = ex_put_init (exoid, "This is a test", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
-/* Tetra #2 */
- x[26] = 2.7; y[26] = 1.7; z[26] = 2.7;
- x[27] = 6.0; y[27] = 1.7; z[27] = 3.3;
- x[28] = 5.7; y[28] = 1.7; z[28] = 1.7;
- x[29] = 3.7; y[29] = 0.0; z[29] = 2.3;
-
-/* 3d Tri */
- x[30] = 0.0; y[30] = 0.0; z[30] = 0.0;
- x[31] = 10.0; y[31] = 0.0; z[31] = 0.0;
- x[32] = 10.0; y[32] = 10.0; z[32] = 10.0;
-
- error = ex_put_coord (exoid, NULL, NULL, z);
- printf ("after ex_put_coord, error = %d\n", error);
- error = ex_put_coord (exoid, x, NULL, NULL);
- printf ("after ex_put_coord, error = %d\n", error);
- error = ex_put_coord (exoid, NULL, y, NULL);
- printf ("after ex_put_coord, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodal attributes */
- error = ex_put_attr_param(exoid, EX_NODAL, 0, 2);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_one_attr(exoid, EX_NODAL, 0, 1, x);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_one_attr(exoid, EX_NODAL, 0, 2, y);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- attrib_names[0] = "Node_attr_1";
- attrib_names[1] = "Node_attr_2";
- error = ex_put_attr_names (exoid, EX_NODAL, 0, attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (elem_map);
-
-
-/* write element block parameters */
-
- block_names[0] = "block_1";
- block_names[1] = "block_2";
- block_names[2] = "block_3";
- block_names[3] = "block_4";
- block_names[4] = "block_5";
- block_names[5] = "block_6";
- block_names[6] = "block_7";
-
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
- num_elem_in_block[5] = 1;
- num_elem_in_block[6] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #4 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #5 are 6-node wedges */
- num_nodes_per_elem[5] = 8; /* elements in block #6 are 8-node tetras */
- num_nodes_per_elem[6] = 3; /* elements in block #7 are 3-node tris */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
- ebids[5] = 15;
- ebids[6] = 16;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[4], "wedge", num_elem_in_block[4],
- num_nodes_per_elem[4], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[5], "tetra", num_elem_in_block[5],
- num_nodes_per_elem[5], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[6], "tri", num_elem_in_block[6],
- num_nodes_per_elem[6], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write element block names */
- error = ex_put_names(exoid, EX_ELEM_BLOCK, block_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write element block properties */
-
- /* 12345678901234567890123456789012 */
- prop_names[0] = "MATERIAL_PROPERTY_LONG_NAME_32CH";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], prop_names[0], 10);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], prop_names[0], 20);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], prop_names[0], 30);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], prop_names[0], 40);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], prop_names[0], 50);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[5], prop_names[0], 60);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[6], prop_names[0], 70);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
- connect[4] = 27; connect[5] = 28; connect[6] = 30; connect[7] = 29;
-
- error = ex_put_elem_conn (exoid, ebids[5], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 31; connect[1] = 32; connect[2] = 33;
-
- error = ex_put_elem_conn (exoid, ebids[6], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
-
-
-/* write element block attributes */
-
- attrib[0] = 3.14159;
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- attrib[0] = 6.14159;
- error = ex_put_elem_attr (exoid, ebids[1], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[2], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[3], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[4], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[5], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_attr (exoid, ebids[6], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- attrib_names[0] = "THICKNESS";
- for (i=0; i < 7; i++) {
- error = ex_put_elem_attr_names (exoid, ebids[i], attrib_names);
- printf ("after ex_put_elem_attr_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write individual node sets */
-
-
- num_nodes_in_nset[0] = 5;
- num_nodes_in_nset[1] = 3;
-
- nsids[0] = 20;
- nsids[1] = 21;
-
- error = ex_put_node_set_param (exoid, nsids[0], 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, nsids[0], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[0], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- error = ex_put_node_set_param (exoid, nsids[1], 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, nsids[1], node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_node_set_dist_fact (exoid, nsids[1], dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* Write node set names */
- nset_names[0] = "nset_1";
- nset_names[1] = "nset_2";
-
- error = ex_put_names(exoid, EX_NODE_SET, nset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[0], "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_NODE_SET, nsids[1], "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Add nodeset attributes */
- error = ex_put_attr_param(exoid, EX_NODE_SET, nsids[0], 1);
- printf ("after ex_put_attr_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_attr(exoid, EX_NODE_SET, nsids[0], x);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- attrib_names[0] = "Nodeset_attribute";
- error = ex_put_attr_names (exoid, EX_NODE_SET, nsids[0], attrib_names);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-/* write individual side sets */
- num_face_in_sset[0] = 2;
- num_face_in_sset[1] = 2;
- num_face_in_sset[2] = 7;
- num_face_in_sset[3] = 8;
- num_face_in_sset[4] = 10;
-
- ssids[0] = 30;
- ssids[1] = 31;
- ssids[2] = 32;
- ssids[3] = 33;
- ssids[4] = 34;
-
- /* side set #1 - quad */
-
- error = ex_put_side_set_param (exoid, ssids[0], 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #2 - quad, spanning 2 elements */
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid, 33, 8, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
- elem_list[4] = 6; elem_list[5] = 6;
- elem_list[6] = 6; elem_list[7] = 6;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 1; side_list[5] = 2;
- side_list[6] = 3; side_list[7] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- /* side set #5 - wedges and tris */
-
- error = ex_put_side_set_param (exoid, 34, 10, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5; elem_list[5] = 7;
- elem_list[6] = 7; elem_list[7] = 7;
- elem_list[8] = 7; elem_list[9] = 7;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5; side_list[5] = 1;
- side_list[6] = 2; side_list[7] = 3;
- side_list[8] = 4; side_list[9] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- /* Write side set names */
- sset_names[0] = "sset_1";
- sset_names[1] = "sset_2";
- sset_names[2] = "sset_3";
- sset_names[3] = "sset_4";
- sset_names[4] = "sset_5";
-
- error = ex_put_names(exoid, EX_SIDE_SET, sset_names);
- printf ("after ex_put_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write QA records; test empty and just blank-filled records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write information records; test empty and just blank-filled records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-
- num_nod_vars = 2;
- /* 12345678901234567890123456789012 */
- var_names[0] = "node_variable_a_very_long_name_0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- num_ele_vars = 3;
-
- /* 0 1 2 3 */
- /* 12345678901234567890123456789012 */
- var_names[0] = "this_variable_name_is_short";
- var_names[1] = "this_variable_name_is_just_right";
- var_names[2] = "this_variable_name_is_tooooo_long";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- num_nset_vars = 3;
-
- var_names[0] = "ns_var0";
- var_names[1] = "ns_var1";
- var_names[2] = "ns_var2";
-
- error = ex_put_var_param (exoid, "m", num_nset_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "m", num_nset_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
- {
- num_sset_vars = 3;
-
- var_names[0] = "ss_var0";
- var_names[1] = "ss_var1";
- var_names[2] = "ss_var2";
-
- error = ex_put_var_param (exoid, "s", num_sset_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_var_names (exoid, "s", num_sset_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (4, CPU_word_size);
- sset_var_vals = (float *) calloc (10, CPU_word_size);
- nset_var_vals = (float *) calloc (10, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write sideset variables */
-
- for (k=1; k<=num_sset_vars; k++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- for (m=0; m<num_face_in_sset[j]; m++)
- {
- sset_var_vals[m] = (float)(k+2) + (float)(j+3) +
- ((float)(m+1)*time_value);
- /* printf("sset_var_vals[%d]: %f\n",m,sset_var_vals[m]); */
- }
- error = ex_put_sset_var (exoid, whole_time_step, k, ssids[j],
- num_face_in_sset[j], sset_var_vals);
- printf ("after ex_put_sset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write nodeset variables */
-
- for (k=1; k<=num_nset_vars; k++)
- {
- for (j=0; j<num_node_sets; j++)
- {
- for (m=0; m<num_nodes_in_nset[j]; m++)
- {
- nset_var_vals[m] = (float)(k+3) + (float)(j+4) +
- ((float)(m+1)*time_value);
- /* printf("nset_var_vals[%d]: %f\n",m,nset_var_vals[m]); */
- }
- error = ex_put_nset_var (exoid, whole_time_step, k, nsids[j],
- num_nodes_in_nset[j], nset_var_vals);
- printf ("after ex_put_nset_var, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
- free(sset_var_vals);
- free(nset_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt_nossnsdf.c b/cbind/test/testwt_nossnsdf.c
deleted file mode 100644
index 575d016..0000000
--- a/cbind/test/testwt_nossnsdf.c
+++ /dev/null
@@ -1,889 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt1 - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10], num_attr[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, m, *elem_map, *connect, *node_map;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[10], ids[10];
- int num_nodes_per_set[10], num_elem_per_set[10];
- int num_df_per_set[10];
- int df_ind[10], node_ind[10], elem_ind[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float time_value;
- float x[100], y[100], z[100];
- float attrib[100], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *prop_names[2];
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* float or double */
- IO_word_size = 0; /* use system default (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 28;
- num_elem = 8;
- num_elem_blk = 7;
- num_node_sets = 2;
- num_side_sets = 5;
- /* num_side_sets = 6; Uncomment to test NULL side sets */
-
- error = ex_put_init (exoid, "This is testwt1", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Circle #1 */
- x[20] = 100.0; y[20] = 100.0; z[20] = 0.0;
-
-/* Sphere #1 */
- x[21] = 50.0; y[21] = 50.0; z[21] = 20.0;
-
-/* Wedge #1 */
- x[22] = 3.0; y[22] = 0.0; z[22] = 6.0;
- x[23] = 6.0; y[23] = 0.0; z[23] = 0.0;
- x[24] = 0.0; y[24] = 0.0; z[24] = 0.0;
- x[25] = 3.0; y[25] = 2.0; z[25] = 6.0;
- x[26] = 6.0; y[26] = 2.0; z[26] = 2.0;
- x[27] = 0.0; y[27] = 2.0; z[27] = 0.0;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- free (elem_map);
-
-/* write element numbering map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i*2;
- }
-
- error = ex_put_elem_num_map (exoid, elem_map);
- printf ("after ex_put_elem_num_map, error = %d\n", error);
-
- free (elem_map);
-
-
-/* write node numbering map */
-
- node_map = (int *) calloc(num_nodes, sizeof(int));
-
- for (i=1; i<=num_nodes; i++)
- {
- node_map[i-1] = i*3;
- }
-
- error = ex_put_node_num_map (exoid, node_map);
- printf ("after ex_put_node_num_map, error = %d\n", error);
-
- free (node_map);
-
-
-/* write element block parameters */
-
- num_elem_in_block[0] = 1; /* element 1: Quad 1 */
- num_elem_in_block[1] = 2; /* elements 2, 3: Quad 1 & 2 */
- num_elem_in_block[2] = 1; /* element 4: Hex */
- num_elem_in_block[3] = 1; /* element 5: Tetra */
- num_elem_in_block[4] = 1; /* element 6: Circle */
- num_elem_in_block[5] = 1; /* element 7: Sphere */
- num_elem_in_block[6] = 1; /* element 8: Wedge */
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #3 are 4-node tetras */
- num_nodes_per_elem[4] = 1; /* elements in block #4 are 1-node circles */
- num_nodes_per_elem[5] = 1; /* elements in block #5 are 1-node spheres */
- num_nodes_per_elem[6] = 6; /* elements in block #6 are 6-node wedges */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
- ebids[5] = 15;
- ebids[6] = 16;
-
- num_attr[0] = 3;
- num_attr[1] = 3;
- num_attr[2] = 3;
- num_attr[3] = 3;
- num_attr[4] = 3;
- num_attr[5] = 3;
- num_attr[6] = 3;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], num_attr[0]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], num_attr[1]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], num_attr[2]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], num_attr[3]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[4], "circle", num_elem_in_block[4],
- num_nodes_per_elem[4], num_attr[4]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[5], "sphere", num_elem_in_block[5],
- num_nodes_per_elem[5], num_attr[5]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[6], "wedge", num_elem_in_block[6],
- num_nodes_per_elem[6], num_attr[6]);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
-/* write element block properties */
-
- prop_names[0] = "MATL";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], "MATL", 10);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], "MATL", 20);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], "MATL", 30);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], "MATL", 40);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], "MATL", 50);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[5], "MATL", 60);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[6], "MATL", 70);
- printf ("after ex_put_prop, error = %d\n", error);
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
- connect[4] = 5; connect[5] = 6; connect[6] = 7; connect[7] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 21;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 22;
-
- error = ex_put_elem_conn (exoid, ebids[5], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 23; connect[1] = 24; connect[2] = 25;
- connect[3] = 26; connect[4] = 27; connect[5] = 28;
-
- error = ex_put_elem_conn (exoid, ebids[6], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- free (connect);
-
-
-/* write element block attributes (3 per block) */
-
- attrib[0] = 1.0; attrib[1] = 2.0; attrib[2] = 3.0;
- attrib[3] = 1.11; attrib[4] = 2.11; attrib[5] = 3.11;
- attrib[6] = 1.12; attrib[7] = 2.12; attrib[8] = 3.12;
- attrib[9] = 1.2; attrib[10] = 2.2; attrib[11] = 3.2;
- attrib[12] = 1.3; attrib[13] = 2.3; attrib[14] = 3.3;
- attrib[15] = 1.4; attrib[16] = 2.4; attrib[17] = 3.4;
- attrib[18] = 1.5; attrib[19] = 2.5; attrib[20] = 3.5;
- attrib[21] = 1.6; attrib[22] = 2.6; attrib[23] = 3.6;
-
- error = ex_put_elem_attr (exoid, ebids[0], &attrib[0]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[1], &attrib[3]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[2], &attrib[9]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[3], &attrib[12]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[4], &attrib[15]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[5], &attrib[18]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[6], &attrib[21]);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
-/* write individual node sets */
-
- /* COMMENTED OUT ...
-
- error = ex_put_node_set_param (exoid, 20, 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, 20, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 20, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
-
- error = ex_put_node_set_param (exoid, 21, 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, 21, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 21, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
- END COMMENTED OUT SECTION */
-
-/* write concatenated node sets; this produces the same information as
- * the above code which writes individual node sets
- */
-
-/* THIS SECTION IS NOT COMMENTED OUT */
-
- ids[0] = 20; ids[1] = 21;
-
- num_nodes_per_set[0] = 5;
- num_nodes_per_set[1] = 3;
- /* num_nodes_per_set[1] = 0; Uncomment to test NULL node sets */
-
- node_ind[0] = 0; node_ind[1] = 5;
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
- node_list[5] = 20; node_list[6] = 21; node_list[7] = 22;
-
- num_df_per_set[0] = 5; num_df_per_set[1] = 3;
-
- df_ind[0] = 0; df_ind[1] = 5;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
- dist_fact[5] = 1.1; dist_fact[6] = 2.1; dist_fact[7] = 3.1;
-
- error = ex_put_concat_node_sets (exoid, ids, num_nodes_per_set,
- num_df_per_set, node_ind,
- df_ind, node_list, dist_fact);
- printf ("after ex_put_concat_node_sets, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
- /* END NOT COMMENTED OUT SECTION */
-
-
-/* write individual side sets */
-
- /* COMMENTED OUT SECTION ...
-
- error = ex_put_side_set_param (exoid, 30, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 1; elem_list[1] = 1;
-
- node_list[0] = 1; node_list[1] = 2;
- node_list[2] = 5; node_list[3] = 6;
-
- side_list[0] = 1; side_list[1] = 1;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- node_list[0] = 6; node_list[1] = 7;
- node_list[2] = 7; node_list[3] = 8;
-
- side_list[0] = 3; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- END COMMENTED OUT SECTION */
-
-/* write concatenated side sets; this produces the same information as
- * the above code which writes individual side sets
- */
-
-/* THIS SECTION IS NOT COMMENTED OUT */
-
- ids[0] = 30;
- ids[1] = 31;
- ids[2] = 32;
- ids[3] = 33;
- ids[4] = 34;
- ids[5] = 35;
-
- /* side set #1 - quad */
- node_list[0] = 8; node_list[1] = 5;
- node_list[2] = 6; node_list[3] = 7;
-
- /* side set #2 - quad/hex, spanning 2 element types */
- node_list[4] = 2; node_list[5] = 3;
- node_list[6] = 7; node_list[7] = 8;
-
- /* side set #3 - hex */
- node_list[8] = 9; node_list[9] = 12;
- node_list[10] = 11; node_list[11] = 10;
-
-
- node_list[12] = 11; node_list[13] = 12;
- node_list[14] = 16; node_list[15] = 15;
-
- node_list[16] = 16; node_list[17] = 15;
- node_list[18] = 11; node_list[19] = 12;
-
- node_list[20] = 10; node_list[21] = 11;
- node_list[22] = 15; node_list[23] = 14;
-
- node_list[24] = 13; node_list[25] = 16;
- node_list[26] = 12; node_list[27] = 9;
-
- node_list[28] = 14; node_list[29] = 13;
- node_list[30] = 9; node_list[31] = 10;
-
- node_list[32] = 16; node_list[33] = 13;
- node_list[34] = 14; node_list[35] = 15;
-
- /* side set #4 - tetras */
- node_list[36] = 17; node_list[37] = 18;
- node_list[38] = 20;
-
- node_list[39] = 18; node_list[40] = 19;
- node_list[41] = 20;
-
- node_list[42] = 20; node_list[43] = 19;
- node_list[44] = 17;
-
- node_list[45] = 19; node_list[46] = 18;
- node_list[47] = 17;
-
- /* side set #5 - circle and sphere */
- node_list[48] = 21;
- node_list[49] = 22;
-
- /* side set #6 - wedges */
- node_list[50] = 27; node_list[51] = 26;
- node_list[52] = 23; node_list[53] = 24;
-
- node_list[54] = 28; node_list[55] = 27;
- node_list[56] = 24; node_list[57] = 25;
-
- node_list[58] = 28; node_list[59] = 25;
- node_list[60] = 23; node_list[61] = 26;
-
- node_list[62] = 25; node_list[63] = 24;
- node_list[64] = 23;
-
- node_list[65] = 26; node_list[66] = 27;
- node_list[67] = 28;
-
- node_ind[0] = 0;
- node_ind[1] = 4;
- node_ind[2] = 8;
- node_ind[3] = 36;
- node_ind[4] = 47;
- node_ind[5] = 49;
-
- num_elem_per_set[0] = 2; /* two sides uses 2 elements */
- num_elem_per_set[1] = 2;
- num_elem_per_set[2] = 7;
- num_elem_per_set[3] = 4;
- num_elem_per_set[4] = 2;
- num_elem_per_set[5] = 5;
- /* num_elem_per_set[5] = 0; Uncomment to test NULL side sets */
-
- num_nodes_per_set[0] = 4;
- num_nodes_per_set[1] = 4;
- num_nodes_per_set[2] = 28;
- num_nodes_per_set[3] = 12;
- num_nodes_per_set[4] = 2;
- num_nodes_per_set[5] = 18;
-
- elem_ind[0] = 0;
- elem_ind[1] = 2;
- elem_ind[2] = 4;
- elem_ind[3] = 11;
- elem_ind[4] = 15;
- elem_ind[5] = 17;
-
- elem_list[0] = 3; elem_list[1] = 3; /* side set 1: Quad #2 */
- elem_list[2] = 1; elem_list[3] = 3; /* side set 2: Quad #1 & #2 */
- elem_list[4] = 4; elem_list[5] = 4; /* side set 3: Hex */
- elem_list[6] = 4; elem_list[7] = 4;
- elem_list[8] = 4; elem_list[9] = 4;
- elem_list[10] = 4;
- elem_list[11] = 5; elem_list[12] = 5; /* side set 4: Tetra */
- elem_list[13] = 5; elem_list[14] = 5;
- elem_list[15] = 6; elem_list[16] = 7; /* side set 5: Circle & Sphere */
- elem_list[17] = 8; elem_list[18] = 8; /* side set 6: Wedge */
- elem_list[19] = 8; elem_list[20] = 8;
- elem_list[21] = 8;
-
-#if 0
- /* side set 0 */
- side_list[0]= 4; side_list[1]= 2;
- /* side set 1 */
- side_list[2]= 2; side_list[3]= 3;
- /* side set 2 */
- side_list[4]= 5; side_list[5]= 3;
- side_list[6]= 3; side_list[7]= 2;
- side_list[8]= 4; side_list[9]= 1;
- side_list[10]= 6;
- /* side set 3 */
- side_list[11]= 1; side_list[12]= 2;
- side_list[13]= 3; side_list[14]= 4;
- /* side set 4 */
- side_list[15] = 1; side_list[16] = 1;
- /* side set 5 */
- side_list[17]= 1; side_list[18]= 2;
- side_list[19]= 3; side_list[20]= 4;
- side_list[21]= 5;
-#endif
-
- error = ex_cvt_nodes_to_sides(exoid,
- num_elem_per_set,
- num_nodes_per_set,
- elem_ind,
- node_ind,
- elem_list,
- node_list,
- side_list);
- printf ("after ex_cvt_nodes_to_sides, error = %d\n", error);
-
-#if 0
- for (i=0;i<num_side_sets;i++)
- {
- printf("side set %d\n",i);
- for (j=0;j<num_elem_per_set[i];j++)
- printf(" side_list[%d]: %d\n",j,side_list[j+elem_ind[i]]);
- }
-#endif
-
- num_df_per_set[0] = 4;
- num_df_per_set[1] = 4;
- num_df_per_set[2] = 0;
- num_df_per_set[3] = 0;
- num_df_per_set[4] = 0;
- num_df_per_set[5] = 0;
-
- df_ind[0] = 0;
- df_ind[1] = 4;
-
- /* side set #1 df */
- dist_fact[0] = 30.0; dist_fact[1] = 30.1;
- dist_fact[2] = 30.2; dist_fact[3] = 30.3;
-
- /* side set #2 df */
- dist_fact[4] = 31.0; dist_fact[5] = 31.1;
- dist_fact[6] = 31.2; dist_fact[7] = 31.3;
-
- error = ex_put_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("after ex_put_concat_side_sets, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- /* END COMMENTED OUT SECTION */
-
-/* write QA records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT1";
- qa_record[0][1] = "testwt1";
- qa_record[0][2] = "03/16/94";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "FASTQ";
- qa_record[1][1] = "fastq";
- qa_record[1][2] = "07/07/93";
- qa_record[1][3] = "16:41:33";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
-
-/* write information records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "This is the second information record.";
- info[2] = "This is the third information record.";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_name(exoid, "g", 1, var_names[0]);
- printf ("after ex_put_var_name, error = %d\n", error);
-
-
- num_nod_vars = 2;
-
- var_names[0] = "nod_var0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_ele_vars = 3;
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k] = k+1;
- k++;
- }
- }
-
- truth_tab[6] = 0;
-
- /* commented out to test ex_get_elem_var_tab in testrd1
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error); */
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (4, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- if (k == 1 && j == 2)
- continue; /* skip element block 3, variable 1 */
- else
- {
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- }
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- return 0;
-}
diff --git a/cbind/test/testwt_ss.c b/cbind/test/testwt_ss.c
deleted file mode 100644
index cd40278..0000000
--- a/cbind/test/testwt_ss.c
+++ /dev/null
@@ -1,835 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwt_ss - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-/* #include "netcdf.h" */
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10];
- int num_node_sets, num_side_sets, error;
- int *connect;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[10], ids[10];
- int num_nodes_per_set[10], num_elem_per_set[10];
- int num_df_per_set[10];
- int df_ind[10], node_ind[10], elem_ind[10];
- int num_qa_rec, num_info;
- int CPU_word_size,IO_word_size;
-
- float x[100], y[100], z[100];
- float dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3];
-
- ex_opts (EX_VERBOSE|EX_ABORT);
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 33;
- num_elem = 8;
- num_elem_blk = 8;
- num_node_sets = 2;
- num_side_sets = 9;
-
- error = ex_put_init (exoid, "This is a test", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
-/* Tetra #2 */
- x[26] = 2.7; y[26] = 1.7; z[26] = 2.7;
- x[27] = 6.0; y[27] = 1.7; z[27] = 3.3;
- x[28] = 5.7; y[28] = 1.7; z[28] = 1.7;
- x[29] = 3.7; y[29] = 0.0; z[29] = 2.3;
-
-/* TriShell #1 */
- x[30] = 2.7; y[30] = 1.7; z[30] = 2.7;
- x[31] = 6.0; y[31] = 1.7; z[31] = 3.3;
- x[32] = 5.7; y[32] = 1.7; z[32] = 1.7;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write element block parameters */
-
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
- num_elem_in_block[5] = 1;
- num_elem_in_block[6] = 1;
- num_elem_in_block[7] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #4 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #5 are 6-node wedges */
- num_nodes_per_elem[5] = 8; /* elements in block #6 are 8-node tetras */
- num_nodes_per_elem[6] = 4; /* elements in block #7 are 4-node shells */
- num_nodes_per_elem[7] = 3; /* elements in block #8 are 3-node shells */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
- ebids[5] = 15;
- ebids[6] = 16;
- ebids[7] = 17;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[4], "wedge", num_elem_in_block[4],
- num_nodes_per_elem[4], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[5], "tetra", num_elem_in_block[5],
- num_nodes_per_elem[5], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[6], "shell", num_elem_in_block[6],
- num_nodes_per_elem[6], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_elem_block (exoid, ebids[7], "triangle",
- num_elem_in_block[7], num_nodes_per_elem[7], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
- connect[4] = 27; connect[5] = 28; connect[6] = 30; connect[7] = 29;
-
- error = ex_put_elem_conn (exoid, ebids[5], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[6], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- connect[0] = 30; connect[1] = 31; connect[2] = 32;
-
- error = ex_put_elem_conn (exoid, ebids[7], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- free (connect);
-
-
-/* write individual side sets */
-
- /* side set #1 - quad */
-
-/* THIS SECTION IS COMMENTED OUT
-
- error = ex_put_side_set_param (exoid, 30, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- END COMMENTED OUT SECTION */
-
- /* side set #2 - quad, spanning 2 elements */
-
-/* THIS SECTION IS COMMENTED OUT
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- END COMMENTED OUT SECTION */
-
- /* side set #3 - hex */
-
-/* THIS SECTION IS COMMENTED OUT
-
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- END COMMENTED OUT SECTION */
-
- /* side set #4 - 4-node tetras */
-
-/* THIS SECTION IS COMMENTED OUT
-
- error = ex_put_side_set_param (exoid, 33, 4, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- END COMMENTED OUT SECTION */
-
- /* side set #5 - shells; front and back faces */
-
-/* THIS SECTION IS COMMENTED OUT
-
- error = ex_put_side_set_param (exoid, 34, 2, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 7; elem_list[1] = 7;
-
- side_list[0] = 1; side_list[1] = 2;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- END COMMENTED OUT SECTION */
-
- /* side set #6 - shells; edges */
-
-/* THIS SECTION IS COMMENTED OUT
-
- error = ex_put_side_set_param (exoid, 35, 4, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- elem_list[0] = 7; elem_list[1] = 7;
- elem_list[2] = 7; elem_list[3] = 7;
-
- side_list[0] = 3; side_list[1] = 4;
- side_list[2] = 5; side_list[3] = 6;
-
- error = ex_put_side_set (exoid, 35, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- END COMMENTED OUT SECTION */
-
-/* write concatenated side sets; this produces the same information as
- * the above code which writes individual side sets
- */
-
-
- ids[0] = 30;
- ids[1] = 31;
- ids[2] = 32;
- ids[3] = 33;
- ids[4] = 34;
- ids[5] = 35;
- ids[6] = 36;
- ids[7] = 37;
- ids[8] = 38;
-
- /* side set #1 - NULL side set */
- /* do nothing except set num_elem_per_set to 0 */
-
- /* side set #2 - NULL side set */
- /* do nothing except set num_elem_per_set to 0 */
-
- /* side set #3 - quad; 2 sides */
-
- node_list[0] = 8; node_list[1] = 5;
- elem_list[0] = 2;
-
- node_list[2] = 6; node_list[3] = 7;
- elem_list[1] = 2;
-
- /* side set #4 - quad; 2 sides spanning 2 elements */
-
- node_list[4] = 2; node_list[5] = 3;
- elem_list[2] = 1;
-
- node_list[6] = 7; node_list[7] = 8;
- elem_list[3] = 2;
-
- /* side set #5 - hex; 7 sides */
-
- node_list[8] = 9; node_list[9] = 12;
- node_list[10] = 11; node_list[11] = 10;
- elem_list[4] = 3;
-
- node_list[12] = 11; node_list[13] = 12;
- node_list[14] = 16; node_list[15] = 15;
- elem_list[5] = 3;
-
- node_list[16] = 16; node_list[17] = 15;
- node_list[18] = 11; node_list[19] = 12;
- elem_list[6] = 3;
-
- node_list[20] = 10; node_list[21] = 11;
- node_list[22] = 15; node_list[23] = 14;
- elem_list[7] = 3;
-
- node_list[24] = 13; node_list[25] = 16;
- node_list[26] = 12; node_list[27] = 9;
- elem_list[8] = 3;
-
- node_list[28] = 14; node_list[29] = 13;
- node_list[30] = 9; node_list[31] = 10;
- elem_list[9] = 3;
-
- node_list[32] = 16; node_list[33] = 13;
- node_list[34] = 14; node_list[35] = 15;
- elem_list[10] = 3;
-
- /* side set #6 - 4-node tetras; 4 sides */
-
- node_list[36] = 17; node_list[37] = 18;
- node_list[38] = 20;
- elem_list[11] = 4;
-
- node_list[39] = 18; node_list[40] = 19;
- node_list[41] = 20;
- elem_list[12] = 4;
-
- node_list[42] = 17; node_list[43] = 20;
- node_list[44] = 19;
- elem_list[13] = 4;
-
- node_list[45] = 17; node_list[46] = 19;
- node_list[47] = 18;
- elem_list[14] = 4;
-
- /* side set #7 - shells; front and back faces */
-
- node_list[48] = 1; node_list[49] = 2;
- node_list[50] = 3; node_list[51] = 4;
- elem_list[15] = 7;
-
- node_list[52] = 4; node_list[53] = 3;
- node_list[54] = 2; node_list[55] = 1;
- elem_list[16] = 7;
-
- /* side set #8 - shells; 4 edges */
-
- node_list[56] = 1; node_list[57] = 2;
- elem_list[17] = 7;
-
- node_list[58] = 2; node_list[59] = 3;
- elem_list[18] = 7;
-
- node_list[60] = 3; node_list[61] = 4;
- elem_list[19] = 7;
-
- node_list[62] = 4; node_list[63] = 1;
- elem_list[20] = 7;
-
- /* side set #9 -- 3-node shells -- front and back */
-
- node_list[64] = 30;
- node_list[65] = 31;
- node_list[66] = 32;
- elem_list[21] = 8;
-
- node_list[67] = 32;
- node_list[68] = 31;
- node_list[69] = 30;
- elem_list[22] = 8;
-
- /* set up indices */
- node_ind[0] = 0;
- node_ind[1] = 0;
- node_ind[2] = 0;
- node_ind[3] = 4;
- node_ind[4] = 8;
- node_ind[5] = 36;
- node_ind[6] = 48;
- node_ind[7] = 56;
- node_ind[8] = 64;
-
- num_elem_per_set[0] = 0;
- num_elem_per_set[1] = 0;
- num_elem_per_set[2] = 2;
- num_elem_per_set[3] = 2;
- num_elem_per_set[4] = 7;
- num_elem_per_set[5] = 4;
- num_elem_per_set[6] = 2;
- num_elem_per_set[7] = 4;
- num_elem_per_set[8] = 2;
-
- num_nodes_per_set[0] = 0;
- num_nodes_per_set[1] = 0;
- num_nodes_per_set[2] = 4;
- num_nodes_per_set[3] = 4;
- num_nodes_per_set[4] = 28;
- num_nodes_per_set[5] = 12;
- num_nodes_per_set[6] = 8;
- num_nodes_per_set[7] = 8;
- num_nodes_per_set[8] = 6;
-
- elem_ind[0] = 0;
- elem_ind[1] = 0;
- elem_ind[2] = 0;
- elem_ind[3] = 2;
- elem_ind[4] = 4;
- elem_ind[5] = 11;
- elem_ind[6] = 15;
- elem_ind[7] = 17;
- elem_ind[8] = 21;
-
- error = ex_cvt_nodes_to_sides(exoid,
- num_elem_per_set,
- num_nodes_per_set,
- elem_ind,
- node_ind,
- elem_list,
- node_list,
- side_list);
- printf ("after ex_cvt_nodes_to_sides, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- num_df_per_set[0] = 0;
- num_df_per_set[1] = 0;
- num_df_per_set[2] = 4;
- num_df_per_set[3] = 4;
- num_df_per_set[4] = 0;
- num_df_per_set[5] = 0;
- num_df_per_set[6] = 0;
- num_df_per_set[7] = 0;
- num_df_per_set[8] = 0;
-
- df_ind[0] = 0;
- df_ind[1] = 0;
- df_ind[2] = 0;
- df_ind[3] = 4;
- df_ind[4] = 0;
- df_ind[5] = 0;
- df_ind[6] = 0;
- df_ind[7] = 0;
- df_ind[8] = 0;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1;
- dist_fact[2] = 30.2; dist_fact[3] = 30.3;
-
- dist_fact[4] = 31.0; dist_fact[5] = 31.1;
- dist_fact[6] = 31.2; dist_fact[7] = 31.3;
-
-
- error = ex_put_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("after ex_put_concat_side_sets, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-/* THIS SECTION IS COMMENTED OUT
- END COMMENTED OUT SECTION */
-
-
-/* write QA records; test empty and just blank-filled records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "";
- qa_record[1][1] = " ";
- qa_record[1][2] = "";
- qa_record[1][3] = " ";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* write information records; test empty and just blank-filled records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "";
- info[2] = " ";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- return 0;
-}
diff --git a/cbind/test/testwt_ss.dmp b/cbind/test/testwt_ss.dmp
deleted file mode 100644
index cc71b72..0000000
--- a/cbind/test/testwt_ss.dmp
+++ /dev/null
@@ -1,295 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 8 ;
- num_el_blk = 8 ;
- num_node_sets = 2 ;
- num_side_sets = 9 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 8 ;
- num_att_in_blk6 = 1 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 4 ;
- num_att_in_blk7 = 1 ;
- num_el_in_blk8 = 1 ;
- num_nod_per_el8 = 3 ;
- num_att_in_blk8 = 1 ;
- num_side_ss3 = 2 ;
- num_df_ss3 = 4 ;
- num_side_ss4 = 2 ;
- num_df_ss4 = 4 ;
- num_side_ss5 = 7 ;
- num_side_ss6 = 4 ;
- num_side_ss7 = 2 ;
- num_side_ss8 = 4 ;
- num_side_ss9 = 2 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- float attrib6(num_el_in_blk6, num_att_in_blk6) ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "tetra" ;
- float attrib7(num_el_in_blk7, num_att_in_blk7) ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "shell" ;
- float attrib8(num_el_in_blk8, num_att_in_blk8) ;
- char attrib_name8(num_att_in_blk8, len_name) ;
- int connect8(num_el_in_blk8, num_nod_per_el8) ;
- connect8:elem_type = "triangle" ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- float dist_fact_ss3(num_df_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- float dist_fact_ss4(num_df_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int elem_ss6(num_side_ss6) ;
- int side_ss6(num_side_ss6) ;
- int elem_ss7(num_side_ss7) ;
- int side_ss7(num_side_ss7) ;
- int elem_ss8(num_side_ss8) ;
- int side_ss8(num_side_ss8) ;
- int elem_ss9(num_side_ss9) ;
- int side_ss9(num_side_ss9) ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16, 17 ;
-
- ns_status = 0, 0 ;
-
- ns_prop1 = -1, -1 ;
-
- ss_status = 0, 0, 1, 1, 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34, 35, 36, 37, 38 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 2.7, 6, 5.7 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 1.7, 1.7, 1.7 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 2.7, 3.3, 1.7 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- attrib1 =
- 0 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 0 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 0 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 0 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 0 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- attrib6 =
- 0 ;
-
- attrib_name6 =
- "" ;
-
- connect6 =
- 17, 18, 19, 20, 27, 28, 30, 29 ;
-
- attrib7 =
- 0 ;
-
- attrib_name7 =
- "" ;
-
- connect7 =
- 1, 2, 3, 4 ;
-
- attrib8 =
- 0 ;
-
- attrib_name8 =
- "" ;
-
- connect8 =
- 30, 31, 32 ;
-
- elem_ss3 = 2, 2 ;
-
- side_ss3 = 4, 2 ;
-
- dist_fact_ss3 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss4 = 1, 2 ;
-
- side_ss4 = 2, 3 ;
-
- dist_fact_ss4 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss5 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss5 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss6 = 4, 4, 4, 4 ;
-
- side_ss6 = 1, 2, 3, 4 ;
-
- elem_ss7 = 7, 7 ;
-
- side_ss7 = 1, 2 ;
-
- elem_ss8 = 7, 7, 7, 7 ;
-
- side_ss8 = 3, 4, 5, 6 ;
-
- elem_ss9 = 8, 8 ;
-
- side_ss9 = 1, 2 ;
-
- qa_records =
- "TESTWT",
- "testwt",
- "07/07/93",
- "15:41:33",
- "",
- " ",
- "",
- " " ;
-
- info_records =
- "This is the first information record.",
- "",
- " " ;
-}
diff --git a/cbind/test/testwtbig.c b/cbind/test/testwtbig.c
deleted file mode 100644
index 193f8e6..0000000
--- a/cbind/test/testwtbig.c
+++ /dev/null
@@ -1,776 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwtbig - test write a BIG ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-#define BIG 100000
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10];
- int num_node_sets, num_sides, num_side_sets, error;
- int i, j, k, m, *elem_map, *connect;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[10], ids[10];
- int num_sides_per_set[10], num_nodes_per_set[10], num_elem_per_set[10];
- int num_df_per_set[10];
- int df_ind[10], node_ind[10], elem_ind[10], side_ind[10];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int ndims, nvars, ngatts, recdim;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float time_value;
- float *x, *y, *z, *dummy;
- float attrib[1], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char tmpstr[80];
- char *prop_names[2];
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
- dummy = 0; /* assign this so the Cray compiler doesn't complain */
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = BIG;
- num_elem = BIG;
- num_elem_blk = 5;
- num_node_sets = 2;
- num_side_sets = 5;
-
- error = ex_put_init (exoid, "This is a test", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
-/* write nodal coordinates values and names to database */
-
- if (!(x = (float *) calloc(BIG, sizeof(float))))
- {
- printf ("couldn't allocate memory for x node array%d\n");
- exit(1);
- }
-
- if (!(y = (float *) calloc(BIG, sizeof(float))))
- {
- printf ("couldn't allocate memory for y node array%d\n");
- exit(1);
- }
-
- if (!(z = (float *) calloc(BIG, sizeof(float))))
- {
- printf ("couldn't allocate memory for z node array%d\n");
- exit(1);
- }
-
- for (i=0; i<num_nodes; i++)
- {
- /* dummy up the coordinate space */
- x[i]=i;
- y[i]=i+.1;
- z[i]=i+.2;
- }
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- free (elem_map);
-
-
-/* write element block parameters */
-
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #3 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #3 are 6-node wedges */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[4], "wedge", num_elem_in_block[4],
- num_nodes_per_elem[4], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
-/* write element block properties */
-
- prop_names[0] = "MATL";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], "MATL", 10);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], "MATL", 20);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], "MATL", 30);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], "MATL", 40);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], "MATL", 50);
- printf ("after ex_put_prop, error = %d\n", error);
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- free (connect);
-
-
-/* write element block attributes */
-
- attrib[0] = 3.14159;
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- attrib[0] = 6.14159;
- error = ex_put_elem_attr (exoid, ebids[1], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[2], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[3], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[4], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
-/* write individual node sets */
-
-
- error = ex_put_node_set_param (exoid, 20, 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, 20, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 20, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
-
- error = ex_put_node_set_param (exoid, 21, 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, 21, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 21, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
-
-/* write concatenated node sets; this produces the same information as
- * the above code which writes individual node sets
- */
-
-/* THIS SECTION IS COMMENTED OUT
-
- ids[0] = 20; ids[1] = 21;
-
- num_nodes_per_set[0] = 5; num_nodes_per_set[1] = 3;
-
- node_ind[0] = 0; node_ind[1] = 5;
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
- node_list[5] = 20; node_list[6] = 21; node_list[7] = 22;
-
- num_df_per_set[0] = 5; num_df_per_set[1] = 3;
-
- df_ind[0] = 0; df_ind[1] = 5;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
- dist_fact[5] = 1.1; dist_fact[6] = 2.1; dist_fact[7] = 3.1;
-
- error = ex_put_concat_node_sets (exoid, ids, num_nodes_per_set,
- num_df_per_set, node_ind,
- df_ind, node_list, dist_fact);
- printf ("after ex_put_concat_node_sets, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
- END COMMENTED OUT SECTION */
-
-
-/* write individual side sets */
-
- /* side set #1 - quad */
-
- error = ex_put_side_set_param (exoid, 30, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
-
- /* side set #2 - quad, spanning 2 elements */
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid, 33, 4, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
-
- /* side set #5 - wedges */
-
- error = ex_put_side_set_param (exoid, 34, 5, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- /* END COMMENTED OUT SECTION */
-
-/* write concatenated side sets; this produces the same information as
- * the above code which writes individual side sets
- */
-
-/* THIS SECTION IS COMMENTED OUT
-
- ids[0] = 30;
- ids[1] = 31;
- ids[2] = 32;
- ids[3] = 33;
- ids[4] = 34;
-
- node_list[0] = 8; node_list[1] = 5;
- node_list[2] = 6; node_list[3] = 7;
-
- node_list[4] = 2; node_list[5] = 3;
- node_list[6] = 7; node_list[7] = 8;
-
- node_list[8] = 9; node_list[9] = 12;
- node_list[10] = 11; node_list[11] = 10;
-
- node_list[12] = 11; node_list[13] = 12;
- node_list[14] = 16; node_list[15] = 15;
-
- node_list[16] = 16; node_list[17] = 15;
- node_list[18] = 11; node_list[19] = 12;
-
- node_list[20] = 10; node_list[21] = 11;
- node_list[22] = 15; node_list[23] = 14;
-
- node_list[24] = 13; node_list[25] = 16;
- node_list[26] = 12; node_list[27] = 9;
-
- node_list[28] = 14; node_list[29] = 13;
- node_list[30] = 9; node_list[31] = 10;
-
- node_list[32] = 16; node_list[33] = 13;
- node_list[34] = 14; node_list[35] = 15;
-
- node_list[36] = 17; node_list[37] = 18;
- node_list[38] = 20;
-
- node_list[39] = 18; node_list[40] = 19;
- node_list[41] = 20;
-
- node_list[42] = 20; node_list[43] = 19;
- node_list[44] = 17;
-
- node_list[45] = 19; node_list[46] = 18;
- node_list[47] = 17;
-
- node_list[48] = 25; node_list[49] = 24;
- node_list[50] = 21; node_list[51] = 22;
-
- node_list[52] = 26; node_list[53] = 25;
- node_list[54] = 22; node_list[55] = 23;
-
- node_list[56] = 26; node_list[57] = 23;
- node_list[58] = 21; node_list[59] = 24;
-
- node_list[60] = 23; node_list[61] = 22;
- node_list[62] = 21;
-
- node_list[63] = 24; node_list[64] = 25;
- node_list[65] = 26;
-
- node_ind[0] = 0;
- node_ind[1] = 4;
- node_ind[2] = 8;
- node_ind[3] = 36;
- node_ind[4] = 47;
-
- num_elem_per_set[0] = 2;
- num_elem_per_set[1] = 2;
- num_elem_per_set[2] = 7;
- num_elem_per_set[3] = 4;
- num_elem_per_set[4] = 5;
-
- num_nodes_per_set[0] = 4;
- num_nodes_per_set[1] = 4;
- num_nodes_per_set[2] = 28;
- num_nodes_per_set[3] = 12;
- num_nodes_per_set[4] = 18;
-
- elem_ind[0] = 0;
- elem_ind[1] = 2;
- elem_ind[2] = 4;
- elem_ind[3] = 11;
- elem_ind[4] = 15;
-
- elem_list[0] = 2; elem_list[1] = 2;
- elem_list[2] = 1; elem_list[3] = 2;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3; elem_list[7] = 3;
- elem_list[8] = 3; elem_list[9] = 3;
- elem_list[10] = 3; elem_list[11] = 4;
- elem_list[12] = 4; elem_list[13] = 4;
- elem_list[14] = 4; elem_list[15] = 5;
- elem_list[16] = 5; elem_list[17] = 5;
- elem_list[18] = 5; elem_list[19] = 5;
-
- error = ex_cvt_nodes_to_sides(exoid,
- num_elem_per_set,
- num_nodes_per_set,
- elem_ind,
- node_ind,
- elem_list,
- node_list,
- side_list);
- printf ("after ex_cvt_nodes_to_sides, error = %d\n", error);
-
- num_df_per_set[0] = 4;
- num_df_per_set[1] = 4;
- num_df_per_set[2] = 0;
- num_df_per_set[3] = 0;
- num_df_per_set[4] = 0;
-
- df_ind[0] = 0;
- df_ind[1] = 4;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1;
- dist_fact[2] = 30.2; dist_fact[3] = 30.3;
-
- dist_fact[4] = 31.0; dist_fact[5] = 31.1;
- dist_fact[6] = 31.2; dist_fact[7] = 31.3;
-
- error = ex_put_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("after ex_put_concat_side_sets, error = %d\n", error);
-
- /* END COMMENTED OUT SECTION */
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
-
-/* write QA records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWT";
- qa_record[0][1] = "testwt";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "FASTQ";
- qa_record[1][1] = "fastq";
- qa_record[1][2] = "07/07/93";
- qa_record[1][3] = "16:41:33";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
-
-/* write information records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "This is the second information record.";
- info[2] = "This is the third information record.";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
-
- num_nod_vars = 2;
-
- var_names[0] = "nod_var0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_ele_vars = 3;
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (float *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (float *) calloc (4, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- return 0;
-}
diff --git a/cbind/test/testwtd.c b/cbind/test/testwtd.c
deleted file mode 100644
index 35acdaf..0000000
--- a/cbind/test/testwtd.c
+++ /dev/null
@@ -1,602 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwtd - test write an ExodusII database file
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines.
-*
-*
-*****************************************************************************/
-
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "netcdf.h"
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int num_elem_in_block[10], num_nodes_per_elem[10];
- int num_node_sets, num_side_sets, error;
- int i, j, k, m, *elem_map, *connect;
- int node_list[100],elem_list[100],side_list[100];
- int ebids[100];
- int num_qa_rec, num_info;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- double *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- double time_value;
- double x[100], y[100], z[100];
- double attrib[1], dist_fact[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *prop_names[2];
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 8; /* double */
- IO_word_size = 8; /* use double size (8 bytes) */
-
-/* create EXODUS II file */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 26;
- num_elem = 5;
- num_elem_blk = 5;
- num_node_sets = 2;
- num_side_sets = 5;
-
- error = ex_put_init (exoid, "This is a test", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- free (elem_map);
-
-
-/* write element block parameters */
-
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #3 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #3 are 6-node wedges */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
-
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[4], "wedge", num_elem_in_block[4],
- num_nodes_per_elem[4], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
-
-
-/* write element block properties */
-
- prop_names[0] = "MATL";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], "MATL", 10);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], "MATL", 20);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], "MATL", 30);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], "MATL", 40);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], "MATL", 50);
- printf ("after ex_put_prop, error = %d\n", error);
-
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
-
- free (connect);
-
-
-/* write element block attributes */
-
- attrib[0] = 3.14159;
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- attrib[0] = 6.14159;
- error = ex_put_elem_attr (exoid, ebids[1], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[2], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[3], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[4], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
-
-/* write individual node sets */
-
- error = ex_put_node_set_param (exoid, 20, 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, 20, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 20, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
-
- error = ex_put_node_set_param (exoid, 21, 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, 21, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 21, dist_fact);
- printf ("after ex_put_node_set_dist_fact, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
-
- /* write individual side sets */
- error = ex_put_side_set_param (exoid, 30, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- /* side set #1 - quad */
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- /* side set #2 - quad, spanning 2 elements */
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- /* side set #3 - hex */
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid, 33, 4, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- /* side set #5 - wedges */
-
- error = ex_put_side_set_param (exoid, 34, 5, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
- /* END COMMENTED OUT SECTION */
-
-/* write QA records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWTD";
- qa_record[0][1] = "testwtd";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "FASTQ";
- qa_record[1][1] = "fastq";
- qa_record[1][2] = "07/07/93";
- qa_record[1][3] = "16:41:33";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
-
-/* write information records */
-
- num_info = 3;
-
-
- info[0] = "This is the first information record.";
- info[1] = "This is the second information record.";
- info[2] = "This is the third information record.";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
-
- num_nod_vars = 2;
-
- var_names[0] = "nod_var0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_ele_vars = 3;
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (double *) calloc (num_glo_vars, CPU_word_size);
- nodal_var_vals = (double *) calloc (num_nodes, CPU_word_size);
- elem_var_vals = (double *) calloc (4, CPU_word_size);
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (double)(i+1)/100.;
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
-
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- return 0;
-}
diff --git a/cbind/test/testwtm.c b/cbind/test/testwtm.c
deleted file mode 100644
index 242bf19..0000000
--- a/cbind/test/testwtm.c
+++ /dev/null
@@ -1,1405 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/*****************************************************************************
-*
-* testwtm - test write many ExodusII database files
-*
-* author - Sandia National Laboratories
-* Larry A. Schoof - Original
-* Vic Yarberry - Added headers and error logging
-* 7/7/93 Modified for use with Exodus 2.00
-*
-*
-* environment - UNIX
-*
-* entry conditions -
-*
-* exit conditions -
-*
-* revision history -
-*
-* This is a test program for the C binding of the EXODUS II
-* database write routines. It tests multiple simultaneous output files.
-*
-*
-*****************************************************************************/
-
-#define EX_TEST_INDIV_NODESET
-#define EX_TEST_INDIV_SIDESET
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "exodusII.h"
-#include "netcdf.h"
-int main (int argc, char **argv)
-{
- int exoid, num_dim, num_nodes, num_elem, num_elem_blk;
- int exoidm[10], num_dim2, num_nodes2, num_elem2,num_elem_blk2;
- int num_elem_in_block[10], num_node_sets, num_nodes_per_elem[10];
- int num_elem_in_block2[10], num_node_sets2, num_nodes_per_elem2[10];
- int num_side_sets, error;
- int num_side_sets2, nexofiles = 5;
- int i, j, k, m, n;
- int *elem_map, *connect, node_list[100],elem_list[100],side_list[100];
- int *elem_map2, *connect2, node_list2[100],elem_list2[100],side_list2[100];
- int ebids[10], ids[10];
- int ebids2[10], ids2[10];
- int num_nodes_per_set[10], num_elem_per_set[10];
- int num_nodes_per_set2[10], num_elem_per_set2[10];
- int num_df_per_set[10], num_df_per_set2[10];
- int df_ind[10], node_ind[10], elem_ind[10];
- int df_ind2[10],node_ind2[10],elem_ind2[10];
- int num_qa_rec, num_info;
- int num_qa_rec2,num_info2;
- int num_glo_vars, num_nod_vars, num_ele_vars;
- int num_glo_vars2, num_nod_vars2, num_ele_vars2;
- int *truth_tab;
- int whole_time_step, num_time_steps;
- int CPU_word_size,IO_word_size;
- int prop_array[2];
-
- float *glob_var_vals, *nodal_var_vals, *elem_var_vals;
- float time_value;
- float time_value2;
- float x[100], y[100], z[100];
- float attrib[1], dist_fact[1008];
- float attrib2[1], dist_fact2[100];
- char *coord_names[3], *qa_record[2][4], *info[3], *var_names[3];
- char *coord_names2[3], *qa_record2[2][4], *info2[3], *var_names2[3];
- char tmpstr[80];
- char *prop_names[2];
- char exofname[256];
-
- ex_opts (EX_VERBOSE | EX_ABORT);
-
-/* Specify compute and i/o word size */
-
- CPU_word_size = 0; /* sizeof(float) */
- IO_word_size = 4; /* (4 bytes) */
-
-/* create EXODUS II files */
-
- exoid = ex_create ("test.exo", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for test.exo, exoid = %d\n", exoid);
- printf (" cpu word size: %d io word size: %d\n",CPU_word_size,IO_word_size);
-
- for (n=0; n<nexofiles; n++)
- {
- sprintf(exofname,"test%d.exo",n);
- printf("test file name: %s\n",exofname);
- exoidm[n]= ex_create (exofname, /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
- printf ("after ex_create for %s, exoid = %d\n", exofname,exoidm[n]);
-
- }
-
- /* ncopts = NC_VERBOSE; */
-
-/* initialize file with parameters */
-
- num_dim = 3;
- num_nodes = 26;
- num_elem = 5;
- num_elem_blk = 5;
- num_node_sets = 2;
- num_side_sets = 5;
-
- error = ex_put_init (exoid, "This is a test", num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- printf ("after ex_put_init, error = %d\n", error);
-
-
-
-/* initialize file n with parameters */
-
- num_dim2 = 3;
- num_nodes2 = 26;
- num_elem2 = 5;
- num_elem_blk2 = 5;
- num_node_sets2 = 2;
- num_side_sets2 = 5;
-
- for (n=0; n<nexofiles; n++)
- {
- sprintf(tmpstr,"This is test %d",n);
-
- error=ex_put_init (exoidm[n],tmpstr,num_dim2,num_nodes2,num_elem2,
- num_elem_blk2, num_node_sets2, num_side_sets2);
-
- printf ("after ex_put_init (%d), error = %d\n", n, error);
- }
-
-/* write nodal coordinates values and names to database */
-
-/* Quad #1 */
- x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
- x[1] = 1.0; y[1] = 0.0; z[1] = 0.0;
- x[2] = 1.0; y[2] = 1.0; z[2] = 0.0;
- x[3] = 0.0; y[3] = 1.0; z[3] = 0.0;
-
-/* Quad #2 */
- x[4] = 1.0; y[4] = 0.0; z[4] = 0.0;
- x[5] = 2.0; y[5] = 0.0; z[5] = 0.0;
- x[6] = 2.0; y[6] = 1.0; z[6] = 0.0;
- x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
-
-/* Hex #1 */
- x[8] = 0.0; y[8] = 0.0; z[8] = 0.0;
- x[9] = 10.0; y[9] = 0.0; z[9] = 0.0;
- x[10] = 10.0; y[10] = 0.0; z[10] =-10.0;
- x[11] = 1.0; y[11] = 0.0; z[11] =-10.0;
- x[12] = 1.0; y[12] = 10.0; z[12] = 0.0;
- x[13] = 10.0; y[13] = 10.0; z[13] = 0.0;
- x[14] = 10.0; y[14] = 10.0; z[14] =-10.0;
- x[15] = 1.0; y[15] = 10.0; z[15] =-10.0;
-
-/* Tetra #1 */
- x[16] = 0.0; y[16] = 0.0; z[16] = 0.0;
- x[17] = 1.0; y[17] = 0.0; z[17] = 5.0;
- x[18] = 10.0; y[18] = 0.0; z[18] = 2.0;
- x[19] = 7.0; y[19] = 5.0; z[19] = 3.0;
-
-/* Wedge #1 */
- x[20] = 3.0; y[20] = 0.0; z[20] = 6.0;
- x[21] = 6.0; y[21] = 0.0; z[21] = 0.0;
- x[22] = 0.0; y[22] = 0.0; z[22] = 0.0;
- x[23] = 3.0; y[23] = 2.0; z[23] = 6.0;
- x[24] = 6.0; y[24] = 2.0; z[24] = 2.0;
- x[25] = 0.0; y[25] = 2.0; z[25] = 0.0;
-
- error = ex_put_coord (exoid, x, y, z);
- printf ("after ex_put_coord, error = %d\n", error);
-
-/* write nodal coordinates values and names to database */
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_coord (exoidm[n], x, y, z);
- printf ("after ex_put_coord (%d), error = %d\n", n,error);
- }
-
- coord_names[0] = "xcoor";
- coord_names[1] = "ycoor";
- coord_names[2] = "zcoor";
-
- error = ex_put_coord_names (exoid, coord_names);
- printf ("after ex_put_coord_names, error = %d\n", error);
-
- coord_names2[0] = "xcoor";
- coord_names2[1] = "ycoor";
- coord_names2[2] = "zcoor";
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_coord_names (exoidm[n], coord_names2);
- printf ("after ex_put_coord_names (%d), error = %d\n", n, error);
- }
-
-
-/* write element order map */
-
- elem_map = (int *) calloc(num_elem, sizeof(int));
-
- for (i=1; i<=num_elem; i++)
- {
- elem_map[i-1] = i;
- }
-
- error = ex_put_map (exoid, elem_map);
- printf ("after ex_put_map, error = %d\n", error);
-
- free (elem_map);
-
- elem_map2= (int *) calloc(num_elem2, sizeof(int));
-
- for (i=1; i<=num_elem2; i++)
- {
- elem_map2[i-1] = i;
- }
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_map (exoidm[n], elem_map2);
- printf ("after ex_put_map (%d), error = %d\n", n, error);
- }
-
- free (elem_map2);
-
-
-/* write element block parameters */
-
- num_elem_in_block[0] = 1;
- num_elem_in_block[1] = 1;
- num_elem_in_block[2] = 1;
- num_elem_in_block[3] = 1;
- num_elem_in_block[4] = 1;
-
- num_nodes_per_elem[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem[3] = 4; /* elements in block #3 are 4-node tetras */
- num_nodes_per_elem[4] = 6; /* elements in block #3 are 6-node wedges */
-
- ebids[0] = 10;
- ebids[1] = 11;
- ebids[2] = 12;
- ebids[3] = 13;
- ebids[4] = 14;
-
- error = ex_put_elem_block (exoid, ebids[0], "quad", num_elem_in_block[0],
- num_nodes_per_elem[0], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1],
- num_nodes_per_elem[1], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[2], "hex", num_elem_in_block[2],
- num_nodes_per_elem[2], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[3], "tetra", num_elem_in_block[3],
- num_nodes_per_elem[3], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
- error = ex_put_elem_block (exoid, ebids[4], "wedge", num_elem_in_block[4],
- num_nodes_per_elem[4], 1);
- printf ("after ex_put_elem_block, error = %d\n", error);
-
-/* write element block properties */
-
- prop_names[0] = "MATL";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoid,EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[0], "MATL", 10);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[1], "MATL", 20);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[2], "MATL", 30);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[3], "MATL", 40);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_ELEM_BLOCK, ebids[4], "MATL", 50);
- printf ("after ex_put_prop, error = %d\n", error);
-
-/* files n */
-
- num_elem_in_block2[0] = 1;
- num_elem_in_block2[1] = 1;
- num_elem_in_block2[2] = 1;
- num_elem_in_block2[3] = 1;
- num_elem_in_block2[4] = 1;
-
- num_nodes_per_elem2[0] = 4; /* elements in block #1 are 4-node quads */
- num_nodes_per_elem2[1] = 4; /* elements in block #2 are 4-node quads */
- num_nodes_per_elem2[2] = 8; /* elements in block #3 are 8-node hexes */
- num_nodes_per_elem2[3] = 4; /* elements in block #3 are 4-node tetras */
- num_nodes_per_elem2[4] = 6; /* elements in block #3 are 6-node wedges */
-
- ebids2[0] = 10;
- ebids2[1] = 11;
- ebids2[2] = 12;
- ebids2[3] = 13;
- ebids2[4] = 14;
-
- for (n=0; n<nexofiles; n++)
- {
- error=ex_put_elem_block(exoidm[n],ebids2[0], "quad", num_elem_in_block2[0],
- num_nodes_per_elem2[0], 1);
- printf ("after ex_put_elem_block (%d), error = %d\n", n, error);
-
- error=ex_put_elem_block(exoidm[n],ebids2[1], "quad", num_elem_in_block2[1],
- num_nodes_per_elem2[1], 1);
- printf ("after ex_put_elem_block (%d), error = %d\n", n, error);
-
- error=ex_put_elem_block(exoidm[n],ebids2[2], "hex", num_elem_in_block2[2],
- num_nodes_per_elem2[2], 1);
- printf ("after ex_put_elem_block (%d), error = %d\n", n, error);
-
- error=ex_put_elem_block(exoidm[n],ebids2[3], "tetra",num_elem_in_block2[3],
- num_nodes_per_elem2[3], 1);
- printf ("after ex_put_elem_block (%d), error = %d\n", n, error);
-
- error=ex_put_elem_block(exoidm[n],ebids2[4], "wedge",num_elem_in_block2[4],
- num_nodes_per_elem2[4], 1);
- printf ("after ex_put_elem_block (%d), error = %d\n", n, error);
-
-/* write element block properties */
-
- prop_names[0] = "MATL";
- prop_names[1] = "DENSITY";
- error = ex_put_prop_names(exoidm[n],EX_ELEM_BLOCK,2,prop_names);
- printf ("after ex_put_prop_names (%d), error = %d\n", n, error);
-
- error = ex_put_prop(exoidm[n], EX_ELEM_BLOCK, ebids2[0], "MATL", 100);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
- error = ex_put_prop(exoidm[n], EX_ELEM_BLOCK, ebids2[1], "MATL", 200);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
- error = ex_put_prop(exoidm[n], EX_ELEM_BLOCK, ebids2[2], "MATL", 300);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
- error = ex_put_prop(exoidm[n], EX_ELEM_BLOCK, ebids2[3], "MATL", 400);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
- error = ex_put_prop(exoidm[n], EX_ELEM_BLOCK, ebids2[4], "MATL", 500);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
- }
-
-/* write element connectivity */
-
- connect = (int *) calloc(8, sizeof(int));
- connect[0] = 1; connect[1] = 2; connect[2] = 3; connect[3] = 4;
-
- error = ex_put_elem_conn (exoid, ebids[0], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 5; connect[1] = 6; connect[2] = 7; connect[3] = 8;
-
- error = ex_put_elem_conn (exoid, ebids[1], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 9; connect[1] = 10; connect[2] = 11; connect[3] = 12;
- connect[4] = 13; connect[5] = 14; connect[6] = 15; connect[7] = 16;
-
- error = ex_put_elem_conn (exoid, ebids[2], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 17; connect[1] = 18; connect[2] = 19; connect[3] = 20;
-
- error = ex_put_elem_conn (exoid, ebids[3], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- connect[0] = 21; connect[1] = 22; connect[2] = 23;
- connect[3] = 24; connect[4] = 25; connect[5] = 26;
-
- error = ex_put_elem_conn (exoid, ebids[4], connect);
- printf ("after ex_put_elem_conn, error = %d\n", error);
-
- free (connect);
-
- for (n=0; n<nexofiles; n++)
- {
- connect2 = (int *) calloc(8, sizeof(int));
- connect2[0] = 1; connect2[1] = 2; connect2[2] = 3; connect2[3] = 4;
-
- error = ex_put_elem_conn (exoidm[n], ebids[0], connect2);
- printf ("after ex_put_elem_conn (%d), error = %d\n", n, error);
-
- connect2[0] = 5; connect2[1] = 6; connect2[2] = 7; connect2[3] = 8;
-
- error = ex_put_elem_conn (exoidm[n], ebids[1], connect2);
- printf ("after ex_put_elem_conn (%d), error = %d\n", n, error);
-
- connect2[0] = 9; connect2[1] = 10; connect2[2] = 11; connect2[3] = 12;
- connect2[4] = 13; connect2[5] = 14; connect2[6] = 15; connect2[7] = 16;
-
- error = ex_put_elem_conn (exoidm[n], ebids2[2], connect2);
- printf ("after ex_put_elem_conn (%d), error = %d\n", n, error);
-
- connect2[0] = 17; connect2[1] = 18; connect2[2] = 19; connect2[3] = 20;
-
- error = ex_put_elem_conn (exoidm[n], ebids2[3], connect2);
- printf ("after ex_put_elem_conn (%d), error = %d\n", n, error);
-
- connect2[0] = 21; connect2[1] = 22; connect2[2] = 23;
- connect2[3] = 24; connect2[4] = 25; connect2[5] = 26;
-
- error = ex_put_elem_conn (exoidm[n], ebids2[4], connect2);
- printf ("after ex_put_elem_conn (%d), error = %d\n", n, error);
-
- free (connect2);
- }
-
-
-/* write element block attributes */
-
- attrib[0] = 3.14159;
- error = ex_put_elem_attr (exoid, ebids[0], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- attrib[0] = 6.14159;
- error = ex_put_elem_attr (exoid, ebids[1], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[2], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[3], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- error = ex_put_elem_attr (exoid, ebids[4], attrib);
- printf ("after ex_put_elem_attr, error = %d\n", error);
-
- for (n=0; n<nexofiles; n++)
- {
- attrib2[0] = 3.;
- error = ex_put_elem_attr (exoidm[n], ebids[0], attrib2);
- printf ("after ex_put_elem_attr (%d), error = %d\n", n, error);
-
- attrib2[0] = 6.;
- error = ex_put_elem_attr (exoidm[n], ebids[1], attrib2);
- printf ("after ex_put_elem_attr (%d), error = %d\n", n, error);
-
- error = ex_put_elem_attr (exoidm[n], ebids[2], attrib2);
- printf ("after ex_put_elem_attr (%d), error = %d\n", n, error);
-
- error = ex_put_elem_attr (exoidm[n], ebids[3], attrib2);
- printf ("after ex_put_elem_attr (%d), error = %d\n", n, error);
-
- error = ex_put_elem_attr (exoidm[n], ebids[4], attrib2);
- printf ("after ex_put_elem_attr (%d), error = %d\n", n, error);
- }
-
-#ifdef EX_TEST_INDIV_NODESET
-/* write individual node sets */
-
- error = ex_put_node_set_param (exoid, 20, 5, 5);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
-
- error = ex_put_node_set (exoid, 20, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 20, dist_fact);
- printf ("after ex_put_node_set, error = %d\n", error);
-
- error = ex_put_node_set_param (exoid, 21, 3, 3);
- printf ("after ex_put_node_set_param, error = %d\n", error);
-
- node_list[0] = 20; node_list[1] = 21; node_list[2] = 22;
-
- dist_fact[0] = 1.1; dist_fact[1] = 2.1; dist_fact[2] = 3.1;
-
- error = ex_put_node_set (exoid, 21, node_list);
- printf ("after ex_put_node_set, error = %d\n", error);
- error = ex_put_node_set_dist_fact (exoid, 21, dist_fact);
- printf ("after ex_put_node_set, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
-/* file 2 */
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_node_set_param (exoidm[n], 20, 5, 5);
- printf ("after ex_put_node_set_param (%d), error = %d\n", n, error);
-
- node_list2[0] = 10; node_list2[1] = 11; node_list2[2] = 12;
- node_list2[3] = 13; node_list2[4] = 14;
-
- dist_fact2[0] = 1.0; dist_fact2[1] = 2.0; dist_fact2[2] = 3.0;
- dist_fact2[3] = 4.0; dist_fact2[4] = 5.0;
-
- error = ex_put_node_set (exoidm[n], 20, node_list2);
- printf ("after ex_put_node_set (%d), error = %d\n", n, error);
- error = ex_put_node_set_dist_fact (exoidm[n], 20, dist_fact2);
- printf ("after ex_put_node_set (%d), error = %d\n", n, error);
-
- error = ex_put_node_set_param (exoidm[n], 21, 3, 3);
- printf ("after ex_put_node_set_param (%d), error = %d\n", n, error);
-
- node_list2[0] = 20; node_list2[1] = 21; node_list2[2] = 22;
-
- dist_fact2[0] = 1.1; dist_fact2[1] = 2.1; dist_fact2[2] = 3.1;
-
- error = ex_put_node_set (exoidm[n], 21, node_list2);
- printf ("after ex_put_node_set (%d), error = %d\n", n, error);
- error = ex_put_node_set_dist_fact (exoidm[n], 21, dist_fact2);
- printf ("after ex_put_node_set (%d), error = %d\n", n, error);
-
- error = ex_put_prop(exoidm[n], EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
-
- error = ex_put_prop(exoidm[n], EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoidm[n], EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
- }
-
-#else /* EX_TEST_INDIV_NODESET */
-/* write concatenated node sets; this produces the same information as
- * the above code which writes individual node sets
- */
-
- ids[0] = 20; ids[1] = 21;
-
- num_nodes_per_set[0] = 5; num_nodes_per_set[1] = 3;
-
- node_ind[0] = 0; node_ind[1] = 5;
-
- node_list[0] = 10; node_list[1] = 11; node_list[2] = 12;
- node_list[3] = 13; node_list[4] = 14;
- node_list[5] = 20; node_list[6] = 21; node_list[7] = 22;
-
- num_df_per_set[0] = 5; num_df_per_set[1] = 3;
-
- df_ind[0] = 0; df_ind[1] = 5;
-
- dist_fact[0] = 1.0; dist_fact[1] = 2.0; dist_fact[2] = 3.0;
- dist_fact[3] = 4.0; dist_fact[4] = 5.0;
- dist_fact[5] = 1.1; dist_fact[6] = 2.1; dist_fact[7] = 3.1;
-
- error = ex_put_concat_node_sets (exoid, ids, num_nodes_per_set, node_ind,
- node_list, dist_fact);
- printf ("after ex_put_concat_node_sets, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoid, EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- prop_array[0] = 1000;
- prop_array[1] = 2000;
-
- error = ex_put_prop_array(exoid, EX_NODE_SET, "VELOCITY", prop_array);
- printf ("after ex_put_prop_array, error = %d\n", error);
-
- ids2[0] = 20; ids2[1] = 21;
-
- num_nodes_per_set2[0] = 5; num_nodes_per_set2[1] = 3;
-
- node_ind2[0] = 0; node_ind2[1] = 5;
-
- node_list2[0] = 10; node_list2[1] = 11; node_list2[2] = 12;
- node_list2[3] = 13; node_list2[4] = 14;
- node_list2[5] = 20; node_list2[6] = 21; node_list2[7] = 22;
-
- num_df_per_set2[0] = 5; num_df_per_set2[1] = 3;
-
- df_ind2[0] = 0; df_ind2[1] = 5;
-
- dist_fact2[0] = 1.0; dist_fact2[1] = 2.0; dist_fact2[2] = 3.0;
- dist_fact2[3] = 4.0; dist_fact2[4] = 5.0;
- dist_fact2[5] = 1.1; dist_fact2[6] = 2.1; dist_fact2[7] = 3.1;
-
- prop_array2[0] = 1000;
- prop_array2[1] = 2000;
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_concat_node_sets (exoidm[n], ids2, num_nodes_per_set2,
- num_df_per_set2, node_ind2,
- df_ind2, node_list2, dist_fact2);
- printf ("after ex_put_concat_node_sets, error = %d\n", error);
-
-
- error = ex_put_prop(exoidm[n], EX_NODE_SET, 20, "FACE", 4);
- printf ("after ex_put_prop, error = %d\n", error);
- error = ex_put_prop(exoidm[n], EX_NODE_SET, 21, "FACE", 5);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop_array(exoidm[n], EX_NODE_SET, "VELOCITY", prop_array2);
- printf ("after ex_put_prop_array, error = %d\n", error);
- }
-
-#endif /* EX_TEST_INDIV_NODESET */
-
-#ifdef TEST_INDIV_SIDESET
-/* write individual side sets */
-
- /* side set #1 - quad */
-
- error = ex_put_side_set_param (exoid, 30, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 2; elem_list[1] = 2;
-
- side_list[0] = 4; side_list[1] = 2;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1; dist_fact[2] = 30.2;
- dist_fact[3] = 30.3;
-
- error = ex_put_side_set (exoid, 30, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 30, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- /* side set #2 - quad spanning elements */
-
- error = ex_put_side_set_param (exoid, 31, 2, 4);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 1; elem_list[1] = 2;
-
- side_list[0] = 2; side_list[1] = 3;
-
- dist_fact[0] = 31.0; dist_fact[1] = 31.1; dist_fact[2] = 31.2;
- dist_fact[3] = 31.3;
-
- error = ex_put_side_set (exoid, 31, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_side_set_dist_fact (exoid, 31, dist_fact);
- printf ("after ex_put_side_set_dist_fact, error = %d\n", error);
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoid, 32, 7, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 3; elem_list[1] = 3;
- elem_list[2] = 3; elem_list[3] = 3;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3;
-
- side_list[0] = 5; side_list[1] = 3;
- side_list[2] = 3; side_list[3] = 2;
- side_list[4] = 4; side_list[5] = 1;
- side_list[6] = 6;
-
- error = ex_put_side_set (exoid, 32, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoid, 33, 4, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 4; elem_list[1] = 4;
- elem_list[2] = 4; elem_list[3] = 4;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
-
- error = ex_put_side_set (exoid, 33, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- /* side set #5 - wedges */
-
- error = ex_put_side_set_param (exoid, 34, 5, 0);
- printf ("after ex_put_side_set_param, error = %d\n", error);
-
- elem_list[0] = 5; elem_list[1] = 5;
- elem_list[2] = 5; elem_list[3] = 5;
- elem_list[4] = 5;
-
- side_list[0] = 1; side_list[1] = 2;
- side_list[2] = 3; side_list[3] = 4;
- side_list[4] = 5;
-
- error = ex_put_side_set (exoid, 34, elem_list, side_list);
- printf ("after ex_put_side_set, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
-
-/* file 2 */
-
- for (n=0; n<nexofiles; n++)
- {
- /* side set 1 */
-
- error = ex_put_side_set_param (exoidm[n], 30, 2, 4);
- printf ("after ex_put_side_set_param (%d), error = %d\n", n, error);
-
- elem_list2[0] = 2; elem_list2[1] = 2;
-
- side_list2[0] = 4; side_list2[1] = 2;
-
- dist_fact2[0] = 30.0; dist_fact2[1] = 30.1;
- dist_fact2[2] = 30.2; dist_fact2[3] = 30.3;
-
- error = ex_put_side_set (exoidm[n], 30, elem_list2, side_list2);
- printf ("after ex_put_side_set (%d), error = %d\n", n, error);
-
- error = ex_put_side_set_dist_fact (exoidm[n], 30, dist_fact2);
- printf ("after ex_put_side_set_dist_fact (%d), error = %d\n", n, error);
-
- /* side set 2 */
-
- error = ex_put_side_set_param (exoidm[n], 31, 2, 4);
- printf ("after ex_put_side_set_param (%d), error = %d\n", n, error);
-
- elem_list2[0] = 1; elem_list2[1] = 2;
-
- side_list2[0] = 2; side_list2[1] = 3;
-
- dist_fact2[0] = 31.0; dist_fact2[1] = 31.1;
- dist_fact2[2] = 31.2; dist_fact2[3] = 31.3;
-
- error = ex_put_side_set (exoidm[n], 31, elem_list2, side_list2);
- printf ("after ex_put_side_set (%d), error = %d\n", n, error);
-
- error = ex_put_side_set_dist_fact (exoidm[n], 31, dist_fact2);
- printf ("after ex_put_side_set_dist_fact (%d), error = %d\n", n, error);
-
- /* side set #3 - hex */
-
- error = ex_put_side_set_param (exoidm[n], 32, 7, 0);
- printf ("after ex_put_side_set_param (%d), error = %d\n", n, error);
-
- elem_list2[0] = 3; elem_list2[1] = 3;
- elem_list2[2] = 3; elem_list2[3] = 3;
- elem_list2[4] = 3; elem_list2[5] = 3;
- elem_list2[6] = 3;
-
- side_list2[0] = 5; side_list2[1] = 3;
- side_list2[2] = 3; side_list2[3] = 2;
- side_list2[4] = 4; side_list2[5] = 1;
- side_list2[6] = 6;
-
- error = ex_put_side_set (exoidm[n], 32, elem_list2, side_list2);
- printf ("after ex_put_side_set (%d), error = %d\n", n, error);
-
- /* side set #4 - tetras */
-
- error = ex_put_side_set_param (exoidm[n], 33, 4, 0);
- printf ("after ex_put_side_set_param (%d), error = %d\n", n, error);
-
- elem_list2[0] = 4; elem_list2[1] = 4;
- elem_list2[2] = 4; elem_list2[3] = 4;
-
- side_list2[0] = 1; side_list2[1] = 2;
- side_list2[2] = 3; side_list2[3] = 4;
-
- error = ex_put_side_set (exoidm[n], 33, elem_list2, side_list2);
- printf ("after ex_put_side_set (%d), error = %d\n", n, error);
-
- /* side set #5 - wedges */
-
- error = ex_put_side_set_param (exoidm[n], 34, 5, 0);
- printf ("after ex_put_side_set_param (%d), error = %d\n", n, error);
-
- elem_list2[0] = 5; elem_list2[1] = 5;
- elem_list2[2] = 5; elem_list2[3] = 5;
- elem_list2[4] = 5;
-
- side_list2[0] = 1; side_list2[1] = 2;
- side_list2[2] = 3; side_list2[3] = 4;
- side_list2[4] = 5;
-
- error = ex_put_side_set (exoidm[n], 34, elem_list2, side_list2);
- printf ("after ex_put_side_set (%d), error = %d\n", n, error);
-
- error = ex_put_prop(exoidm[n], EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
-
- error = ex_put_prop(exoidm[n], EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
-
- }
-
-#else /* TEST_INDIV_SIDESET */
-/* write concatenated side sets; this produces the same information as
- * the above code which writes individual side sets
- */
-
- ids[0] = 30;
- ids[1] = 31;
- ids[2] = 32;
- ids[3] = 33;
- ids[4] = 34;
-
- node_list[0] = 8; node_list[1] = 5;
- node_list[2] = 6; node_list[3] = 7;
-
- node_list[4] = 2; node_list[5] = 3;
- node_list[6] = 7; node_list[7] = 8;
-
- node_list[8] = 9; node_list[9] = 12;
- node_list[10] = 11; node_list[11] = 10;
-
- node_list[12] = 11; node_list[13] = 12;
- node_list[14] = 16; node_list[15] = 15;
-
- node_list[16] = 16; node_list[17] = 15;
- node_list[18] = 11; node_list[19] = 12;
-
- node_list[20] = 10; node_list[21] = 11;
- node_list[22] = 15; node_list[23] = 14;
-
- node_list[24] = 13; node_list[25] = 16;
- node_list[26] = 12; node_list[27] = 9;
-
- node_list[28] = 14; node_list[29] = 13;
- node_list[30] = 9; node_list[31] = 10;
-
- node_list[32] = 16; node_list[33] = 13;
- node_list[34] = 14; node_list[35] = 15;
-
- node_list[36] = 17; node_list[37] = 18;
- node_list[38] = 20;
-
- node_list[39] = 18; node_list[40] = 19;
- node_list[41] = 20;
-
- node_list[42] = 20; node_list[43] = 19;
- node_list[44] = 17;
-
- node_list[45] = 19; node_list[46] = 18;
- node_list[47] = 17;
-
- node_list[48] = 25; node_list[49] = 24;
- node_list[50] = 21; node_list[51] = 22;
-
- node_list[52] = 26; node_list[53] = 25;
- node_list[54] = 22; node_list[55] = 23;
-
- node_list[56] = 26; node_list[57] = 23;
- node_list[58] = 21; node_list[59] = 24;
-
- node_list[60] = 23; node_list[61] = 22;
- node_list[62] = 21;
-
- node_list[63] = 24; node_list[64] = 25;
- node_list[65] = 26;
-
- node_ind[0] = 0;
- node_ind[1] = 4;
- node_ind[2] = 8;
- node_ind[3] = 36;
- node_ind[4] = 47;
-
- num_elem_per_set[0] = 2;
- num_elem_per_set[1] = 2;
- num_elem_per_set[2] = 7;
- num_elem_per_set[3] = 4;
- num_elem_per_set[4] = 5;
-
- num_nodes_per_set[0] = 4;
- num_nodes_per_set[1] = 4;
- num_nodes_per_set[2] = 28;
- num_nodes_per_set[3] = 12;
- num_nodes_per_set[4] = 18;
-
- elem_ind[0] = 0;
- elem_ind[1] = 2;
- elem_ind[2] = 4;
- elem_ind[3] = 11;
- elem_ind[4] = 15;
-
- elem_list[0] = 2; elem_list[1] = 2;
- elem_list[2] = 1; elem_list[3] = 2;
- elem_list[4] = 3; elem_list[5] = 3;
- elem_list[6] = 3; elem_list[7] = 3;
- elem_list[8] = 3; elem_list[9] = 3;
- elem_list[10] = 3; elem_list[11] = 4;
- elem_list[12] = 4; elem_list[13] = 4;
- elem_list[14] = 4; elem_list[15] = 5;
- elem_list[16] = 5; elem_list[17] = 5;
- elem_list[18] = 5; elem_list[19] = 5;
-
- error = ex_cvt_nodes_to_sides(exoid,
- num_elem_per_set,
- num_nodes_per_set,
- elem_ind,
- node_ind,
- elem_list,
- node_list,
- side_list);
- printf ("after ex_cvt_nodes_to_sides, error = %d\n", error);
-
- num_df_per_set[0] = 4;
- num_df_per_set[1] = 4;
- num_df_per_set[2] = 0;
- num_df_per_set[3] = 0;
- num_df_per_set[4] = 0;
-
- df_ind[0] = 0;
- df_ind[1] = 4;
-
- dist_fact[0] = 30.0; dist_fact[1] = 30.1;
- dist_fact[2] = 30.2; dist_fact[3] = 30.3;
-
- dist_fact[4] = 31.0; dist_fact[5] = 31.1;
- dist_fact[6] = 31.2; dist_fact[7] = 31.3;
-
- error = ex_put_concat_side_sets (exoid, ids, num_elem_per_set,
- num_df_per_set, elem_ind, df_ind,
- elem_list, side_list, dist_fact);
- printf ("after ex_put_concat_side_sets, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop, error = %d\n", error);
-
- error = ex_put_prop(exoid, EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop, error = %d\n", error);
-
-
-/* file 2 */
-
- ids2[0] = 30;
- ids2[1] = 31;
- ids2[2] = 32;
- ids2[3] = 33;
- ids2[4] = 34;
-
- node_list2[0] = 8; node_list2[1] = 5;
- node_list2[2] = 6; node_list2[3] = 7;
-
- node_list2[4] = 2; node_list2[5] = 3;
- node_list2[6] = 7; node_list2[7] = 8;
-
- node_list2[8] = 9; node_list2[9] = 12;
- node_list2[10] = 11; node_list2[11] = 10;
-
- node_list2[12] = 11; node_list2[13] = 12;
- node_list2[14] = 16; node_list2[15] = 15;
-
- node_list2[16] = 16; node_list2[17] = 15;
- node_list2[18] = 11; node_list2[19] = 12;
-
- node_list2[20] = 10; node_list2[21] = 11;
- node_list2[22] = 15; node_list2[23] = 14;
-
- node_list2[24] = 13; node_list2[25] = 16;
- node_list2[26] = 12; node_list2[27] = 9;
-
- node_list2[28] = 14; node_list2[29] = 13;
- node_list2[30] = 9; node_list2[31] = 10;
-
- node_list2[32] = 16; node_list2[33] = 13;
- node_list2[34] = 14; node_list2[35] = 15;
-
- node_list2[36] = 17; node_list2[37] = 18;
- node_list2[38] = 20;
-
- node_list2[39] = 18; node_list2[40] = 19;
- node_list2[41] = 20;
-
- node_list2[42] = 20; node_list2[43] = 19;
- node_list2[44] = 17;
-
- node_list2[45] = 19; node_list2[46] = 18;
- node_list2[47] = 17;
-
- node_list2[48] = 25; node_list2[49] = 24;
- node_list2[50] = 21; node_list2[51] = 22;
-
- node_list2[52] = 26; node_list2[53] = 25;
- node_list2[54] = 22; node_list2[55] = 23;
-
- node_list2[56] = 26; node_list2[57] = 23;
- node_list2[58] = 21; node_list2[59] = 24;
-
- node_list2[60] = 23; node_list2[61] = 22;
- node_list2[62] = 21;
-
- node_list2[63] = 24; node_list2[64] = 25;
- node_list2[65] = 26;
-
- node_ind2[0] = 0;
- node_ind2[1] = 4;
- node_ind2[2] = 8;
- node_ind2[3] = 36;
- node_ind2[4] = 47;
-
- num_elem_per_set2[0] = 2;
- num_elem_per_set2[1] = 2;
- num_elem_per_set2[2] = 7;
- num_elem_per_set2[3] = 4;
- num_elem_per_set2[4] = 5;
-
- num_nodes_per_set2[0] = 4;
- num_nodes_per_set2[1] = 4;
- num_nodes_per_set2[2] = 28;
- num_nodes_per_set2[3] = 12;
- num_nodes_per_set2[4] = 18;
-
- elem_ind2[0] = 0;
- elem_ind2[1] = 2;
- elem_ind2[2] = 4;
- elem_ind2[3] = 11;
- elem_ind2[4] = 15;
-
- elem_list2[0] = 2; elem_list2[1] = 2;
- elem_list2[2] = 1; elem_list2[3] = 2;
- elem_list2[4] = 3; elem_list2[5] = 3;
- elem_list2[6] = 3; elem_list2[7] = 3;
- elem_list2[8] = 3; elem_list2[9] = 3;
- elem_list2[10] = 3; elem_list2[11] = 4;
- elem_list2[12] = 4; elem_list2[13] = 4;
- elem_list2[14] = 4; elem_list2[15] = 5;
- elem_list2[16] = 5; elem_list2[17] = 5;
- elem_list2[18] = 5; elem_list2[19] = 5;
-
- num_df_per_set2[0] = 4;
- num_df_per_set2[1] = 4;
- num_df_per_set2[2] = 0;
- num_df_per_set2[3] = 0;
- num_df_per_set2[4] = 0;
-
- df_ind2[0] = 0;
- df_ind2[1] = 4;
-
- dist_fact2[0] = 30.0; dist_fact2[1] = 30.1;
- dist_fact2[2] = 30.2; dist_fact2[3] = 30.3;
-
- dist_fact2[4] = 31.0; dist_fact2[5] = 31.1;
- dist_fact2[6] = 31.2; dist_fact2[7] = 31.3;
-
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_cvt_nodes_to_sides(exoidm[n],
- num_elem_per_set2,
- num_nodes_per_set2,
- elem_ind2,
- node_ind2,
- elem_list2,
- node_list2,
- side_list2);
- printf ("after ex_cvt_nodes_to_sides (%d), error = %d\n", n, error);
-
- error = ex_put_concat_side_sets (exoidm[n], ids2, num_elem_per_set2,
- num_df_per_set2, elem_ind2, df_ind2,
- elem_list2, side_list2, dist_fact2);
- printf ("after ex_put_concat_side_sets (%d), error = %d\n", n, error);
-
- error = ex_put_prop(exoidm[n], EX_SIDE_SET, 30, "COLOR", 100);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
-
- error = ex_put_prop(exoidm[n], EX_SIDE_SET, 31, "COLOR", 101);
- printf ("after ex_put_prop (%d), error = %d\n", n, error);
-
-
- }
-
-
-
- /* END COMMENTED OUT SECTION */
-
-#endif /* TEST_INDIV_SIDESET */
-
-/* write QA records */
-
- num_qa_rec = 2;
-
-
- qa_record[0][0] = "TESTWTM";
- qa_record[0][1] = "testwtm";
- qa_record[0][2] = "07/07/93";
- qa_record[0][3] = "15:41:33";
- qa_record[1][0] = "FASTQ";
- qa_record[1][1] = "fastq";
- qa_record[1][2] = "07/07/93";
- qa_record[1][3] = "16:41:33";
-
- error = ex_put_qa (exoid, num_qa_rec, qa_record);
- printf ("after ex_put_qa, error = %d\n", error);
-
- num_qa_rec2 = 2;
-
- qa_record2[0][0] = "TESTWTM";
- qa_record2[0][1] = "testwtm";
- qa_record2[0][2] = "07/07/93";
- qa_record2[0][3] = "15:41:33";
- qa_record2[1][0] = "FASTQ";
- qa_record2[1][1] = "fastq";
- qa_record2[1][2] = "07/07/93";
- qa_record2[1][3] = "16:41:33";
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_qa (exoidm[n], num_qa_rec2, qa_record2);
- printf ("after ex_put_qa (%d), error = %d\n", n, error);
- }
-
-
-/* write information records */
-
- num_info = 3;
-
- info[0] = "This is the first information record.";
- info[1] = "This is the second information record.";
- info[2] = "This is the third information record.";
-
- error = ex_put_info (exoid, num_info, info);
- printf ("after ex_put_info, error = %d\n", error);
-
- num_info2 = 3;
-
- info2[0] = "This is the first information record.";
- info2[1] = "This is the second information record.";
- info2[2] = "This is the third information record.";
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_info (exoidm[n], num_info2, info2);
- printf ("after ex_put_info (%d), error = %d\n", n, error);
- }
-
-
-/* write results variables parameters and names */
-
- num_glo_vars = 1;
-
- var_names[0] = "glo_vars";
-
- error = ex_put_var_param (exoid, "g", num_glo_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "g", num_glo_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_glo_vars2 = 1;
-
- var_names2[0] = "glo_vars";
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_var_param (exoidm[n], "g", num_glo_vars2);
- printf ("after ex_put_var_param (%d), error = %d\n", n, error);
- error = ex_put_var_names (exoidm[n], "g", num_glo_vars2, var_names2);
- printf ("after ex_put_var_names (%d), error = %d\n", n, error);
- }
-
- num_nod_vars = 2;
-
- var_names[0] = "nod_var0";
- var_names[1] = "nod_var1";
-
- error = ex_put_var_param (exoid, "n", num_nod_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "n", num_nod_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_nod_vars2 = 2;
-
- var_names2[0] = "nod_var0";
- var_names2[1] = "nod_var1";
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_var_param (exoidm[n], "n", num_nod_vars2);
- printf ("after ex_put_var_param (%d), error = %d\n", n, error);
- error = ex_put_var_names (exoidm[n], "n", num_nod_vars2, var_names2);
- printf ("after ex_put_var_names (%d), error = %d\n", n, error);
- }
-
-
- num_ele_vars = 3;
-
- var_names[0] = "ele_var0";
- var_names[1] = "ele_var1";
- var_names[2] = "ele_var2";
-
- error = ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, error = %d\n", error);
- error = ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, error = %d\n", error);
-
- num_ele_vars2 = 3;
-
- var_names2[0] = "ele_var20";
- var_names2[1] = "ele_var21";
- var_names2[2] = "ele_var22";
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_var_param (exoidm[n], "e", num_ele_vars2);
- printf ("after ex_put_var_param (%d), error = %d\n", n, error);
- error = ex_put_var_names (exoidm[n], "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names (%d), error = %d\n", n, error);
- }
-
-
-
-/* write element variable truth table */
-
- truth_tab = (int *) calloc ((num_elem_blk*num_ele_vars), sizeof(int));
-
- k = 0;
- for (i=0; i<num_elem_blk; i++)
- {
- for (j=0; j<num_ele_vars; j++)
- {
- truth_tab[k++] = 1;
- }
- }
-
- error = ex_put_elem_var_tab (exoid, num_elem_blk, num_ele_vars, truth_tab);
- printf ("after ex_put_elem_var_tab, error = %d\n", error);
-
- for (n=0; n<nexofiles; n++)
- {
- error=ex_put_elem_var_tab(exoidm[n],num_elem_blk,num_ele_vars,truth_tab);
- printf ("after ex_put_elem_var_tab (%d), error = %d\n", n, error);
- }
-
- free (truth_tab);
-
-
-/* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- whole_time_step = 1;
- num_time_steps = 10;
-
- glob_var_vals = (float *) calloc (num_glo_vars, sizeof(CPU_word_size));
- nodal_var_vals = (float *) calloc (num_nodes, sizeof(CPU_word_size));
- elem_var_vals = (float *) calloc (4, sizeof(CPU_word_size));
-
- for (i=0; i<num_time_steps; i++)
- {
- time_value = (float)(i+1)/100.;
- time_value2 = (float)(i+1)/100.;
-
-
-/* write time value */
-
- error = ex_put_time (exoid, whole_time_step, &time_value);
- printf ("after ex_put_time, error = %d\n", error);
-
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_time (exoidm[n], whole_time_step, &time_value2);
- printf ("after ex_put_time (%d), error = %d\n", n, error);
- }
-
-/* write global variables */
-
- for (j=0; j<num_glo_vars; j++)
- {
- glob_var_vals[j] = (float)(j+2) * time_value;
- }
-
- error = ex_put_glob_vars (exoid, whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars, error = %d\n", error);
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_glob_vars (exoidm[n], whole_time_step, num_glo_vars,
- glob_var_vals);
- printf ("after ex_put_glob_vars (%d), error = %d\n", n, error);
-
- }
-/* write nodal variables */
-
- for (k=1; k<=num_nod_vars; k++)
- {
- for (j=0; j<num_nodes; j++)
- {
- nodal_var_vals[j] = (float)k + ((float)(j+1) * time_value);
- }
-
- error = ex_put_nodal_var (exoid, whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var, error = %d\n", error);
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_nodal_var (exoidm[n], whole_time_step, k, num_nodes,
- nodal_var_vals);
- printf ("after ex_put_nodal_var (%d), error = %d\n", n, error);
- }
- }
-
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- error = ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, error = %d\n", error);
-
- for (n=0; n<nexofiles; n++)
- {
- error = ex_put_elem_var (exoidm[n], whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var (%d), error = %d\n", n, error);
- }
- }
- }
-
- whole_time_step++;
-
-/* update the data file; this should be done at the end of every time step
- * to ensure that no data is lost if the analysis dies
- */
- error = ex_update (exoid);
- printf ("after ex_update, error = %d\n", error);
- for (n=0; n<nexofiles; n++)
- {
- error = ex_update (exoidm[n]);
- printf ("after ex_update (%d), error = %d\n", n, error);
- }
- }
- free(glob_var_vals);
- free(nodal_var_vals);
- free(elem_var_vals);
-
-
-/* close the EXODUS files
- */
- error = ex_close (exoid);
- printf ("after ex_close, error = %d\n", error);
- for (n=0; n<nexofiles; n++)
- {
- error = ex_close (exoidm[n]);
- printf ("after ex_close (%d), error = %d\n", n, error);
- }
- return 0;
-}
diff --git a/cbind/test/twod.c b/cbind/test/twod.c
deleted file mode 100644
index 1fe69d3..0000000
--- a/cbind/test/twod.c
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include "exodusII.h"
-
-int main (int argc, char **argv)
-{
- int num_glo_vars = 10;
- int num_nod_vars = 2;
- int CPU_word_size = 8;
- int IO_word_size = 8;
- const char* title = "This is a 2D mesh example with tri, quad, beam, truss, circle";
- int ebids[] = {100, 200, 300, 400, 500};
- int num_dim = 2;
- int num_nodes = 13;
- int num_elem = 20;
- int num_elem_blk = 5;
- int num_node_sets = 2;
- int num_side_sets = 2;
-
- /* create EXODUS II file */
- int exoid = ex_create ("twod.e", /* filename path */
- EX_CLOBBER, /* create mode */
- &CPU_word_size, /* CPU float word size in bytes */
- &IO_word_size); /* I/O float word size in bytes */
-
- ex_opts(EX_VERBOSE);
-
- /* initialize file with parameters */
- ex_put_init (exoid, title, num_dim, num_nodes, num_elem,
- num_elem_blk, num_node_sets, num_side_sets);
-
- /* write nodal coordinates values and names to database */
- {
- double x[13], y[13];
- x[0] = 0.0; y[0] = 0.0;
- x[1] = -0.5; y[1] = -0.5;
- x[2] = 0.5; y[2] = -0.5;
- x[3] = 0.5; y[3] = 0.5;
- x[4] = -0.5; y[4] = 0.5;
- x[5] = -1.0; y[5] = -1.0;
- x[6] = 1.0; y[6] = -1.0;
- x[7] = 1.0; y[7] = 1.0;
- x[8] = -1.0; y[8] = 1.0;
- x[9] = -2.0; y[9] = 0.0;
- x[10] = 0.0; y[10] = -2.0;
- x[11] = 2.0; y[11] = 0.0;
- x[12] = 0.0; y[12] = 2.0;
-
- ex_put_coord (exoid, x, y, 0);
- }
-
- {
- const char* coord_names[] = {"xcoor", "ycoor"};
- ex_put_coord_names (exoid, (char**)coord_names);
- }
-
-
- {
- int node_map[] = {10,20,30,40,50,60,70,80,90,100,110,120,130};
- ex_put_node_num_map(exoid, node_map);
- }
-
- /* write element order map */
- {
- int elem_map[] = {11,21,31,41, 52, 62, 72, 82, 93,103,113,123,133,143,153,163, 174,184,194,204};
- ex_put_elem_num_map (exoid, elem_map);
- }
-
- /* write element block parameters */
- {
- const char* block_names[] = {"Triangles", "Quadrilaterals", "", "Trusses", "Circles"};
- int num_elem_in_block[] = {4, 4, 4, 4, 4};
- int num_nodes_per_elem[] = {3, 4, 2, 2, 1};
-
- ex_put_elem_block (exoid, ebids[0], "triangle", num_elem_in_block[0], num_nodes_per_elem[0], 0);
- ex_put_elem_block (exoid, ebids[1], "quad", num_elem_in_block[1], num_nodes_per_elem[1], 0);
- ex_put_elem_block (exoid, ebids[2], "beam", num_elem_in_block[2], num_nodes_per_elem[2], 3);
- ex_put_elem_block (exoid, ebids[3], "truss", num_elem_in_block[3], num_nodes_per_elem[3], 1);
- ex_put_elem_block (exoid, ebids[4], "circle", num_elem_in_block[4], num_nodes_per_elem[4], 2);
-
- /* Write element block names */
- ex_put_names(exoid, EX_ELEM_BLOCK, (char**)block_names);
- }
-
- /* write element connectivity */
- {
- int conn_t[] = {2,3,1, 3,4,1, 4,5,1, 5,2,1};
- int conn_q[] = {6,7,3,2, 7,8,4,3, 8,9,5,4, 9,6,2,5};
- int conn_B[] = {11,7, 8,13, 13,9, 6,11};
- int conn_T[] = {10,6, 9,10, 7,12, 12,8};
- int conn_c[] = {6,7,8,9};
-
- ex_put_elem_conn (exoid, ebids[0], conn_t);
- ex_put_elem_conn (exoid, ebids[1], conn_q);
- ex_put_elem_conn (exoid, ebids[2], conn_B);
- ex_put_elem_conn (exoid, ebids[3], conn_T);
- ex_put_elem_conn (exoid, ebids[4], conn_c);
- }
-
- /* write element block attributes */
- {
- const char* attn_T[] = {"Area"};
- double attr_T[] = {1.0, 1.1, 1.2, 1.3};
-
- const char* attn_B[] = {"A", "I", "J"};
- double attr_B[] = {1.0, 100.0, 200.0, 1.1, 100.1, 200.1, 1.2, 100.2, 200.2, 1.3, 100.3, 200.3};
-
- const char* attn_c[] = {"Radius", "A"};
- double attr_c[] = {1.0, 3.14, 1.1, 4.14, 1.2, 5.14, 1.3, 6.14};
-
- ex_put_elem_attr (exoid, ebids[2], attr_B);
- ex_put_elem_attr (exoid, ebids[3], attr_T);
- ex_put_elem_attr (exoid, ebids[4], attr_c);
-
- ex_put_elem_attr_names (exoid, ebids[2], (char**)attn_B);
- ex_put_elem_attr_names (exoid, ebids[3], (char**)attn_T);
- ex_put_elem_attr_names (exoid, ebids[4], (char**)attn_c);
- }
-
- /* write individual node sets */
- {
- int num_nodes_in_nset[] = {5, 8};
- int nsids[] = {20, 22};
- int nod1[] = {5,4,3,2,1};
- int nod2[] = {6,7,8,9,2,3,4,5};
- const char* nset_names[] = {"Triangle_Nodes", "Quadrilateral_Nodes"};
-
- ex_put_set_param (exoid, EX_NODE_SET, nsids[0], num_nodes_in_nset[0], 0);
- ex_put_set_param (exoid, EX_NODE_SET, nsids[1], num_nodes_in_nset[1], 0);
-
- ex_put_set (exoid, EX_NODE_SET, nsids[0], nod1, 0);
- ex_put_set (exoid, EX_NODE_SET, nsids[1], nod2, 0);
- ex_put_names(exoid, EX_NODE_SET, (char**)nset_names);
- }
-
- {
- /* write individual side sets */
- int num_face_in_sset[] = {4,4};
- int ssids[] = {100,200};
- int ss1el[] = {1,2,3,4};
- int ss1si[] = {1,1,1,1};
-
- int ss2el[] = {5,7,6,8};
- int ss2si[] = {1,1,1,1};
- const char* sset_names[] = {"A", "B"};
-
- ex_put_set_param (exoid, EX_SIDE_SET, ssids[0], num_face_in_sset[0], 0);
- ex_put_set_param (exoid, EX_SIDE_SET, ssids[1], num_face_in_sset[1], 0);
-
- ex_put_set (exoid, EX_SIDE_SET, ssids[0], ss1el, ss1si);
- ex_put_set (exoid, EX_SIDE_SET, ssids[1], ss2el, ss2si);
- ex_put_names(exoid, EX_SIDE_SET, (char**)sset_names);
- }
-
-
- /* write results variables parameters and names */
- {
- const char* gvarn[] = {"g_01", "g_02", "g_03", "g_04", "g_05", "g_06", "g_07", "g_08", "g_09", "g_10"};
- ex_put_variable_param (exoid, EX_GLOBAL, num_glo_vars);
- ex_put_variable_names (exoid, EX_GLOBAL, num_glo_vars, (char**)gvarn);
- }
-
- {
- const char* nvarn[] = {"disp_x", "disp_y"};
- ex_put_variable_param (exoid, EX_NODAL, num_nod_vars);
- ex_put_variable_names (exoid, EX_NODAL, num_nod_vars, (char**)nvarn);
- }
-
-
-#if 0
- num_ele_vars = 3;
- /* 0 1 2 3 */
- /* 12345678901234567890123456789012 */
- var_names[0] = "this_variable_name_is_short";
- var_names[1] = "this_variable_name_is_just_right";
- var_names[2] = "this_variable_name_is_tooooo_long";
-
- ex_put_var_param (exoid, "e", num_ele_vars);
- printf ("after ex_put_var_param, %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- ex_put_var_names (exoid, "e", num_ele_vars, var_names);
- printf ("after ex_put_var_names, %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- {
- num_nset_vars = 3;
-
- var_names[0] = "ns_var0";
- var_names[1] = "ns_var1";
- var_names[2] = "ns_var2";
-
- ex_put_var_param (exoid, "m", num_nset_vars);
- printf ("after ex_put_var_param, %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- ex_put_var_names (exoid, "m", num_nset_vars, var_names);
- printf ("after ex_put_var_names, %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-
- {
- num_sset_vars = 3;
-
- var_names[0] = "ss_var0";
- var_names[1] = "ss_var1";
- var_names[2] = "ss_var2";
-
- ex_put_var_param (exoid, "s", num_sset_vars);
- printf ("after ex_put_var_param, %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
-
- ex_put_var_names (exoid, "s", num_sset_vars, var_names);
- printf ("after ex_put_var_names, %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
-#endif
-
- /* for each time step, write the analysis results;
- * the code below fills the arrays glob_var_vals,
- * nodal_var_vals, and elem_var_vals with values for debugging purposes;
- * obviously the analysis code will populate these arrays
- */
-
- {
- int i, j, k;
- int whole_time_step = 1;
- int num_time_steps = 10;
-
- double gvar[10];
- double nvar[20];
-
- for (i=0; i<num_time_steps; i++) {
- double time_value = (double)(i)/100.;
-
- ex_put_time (exoid, whole_time_step, &time_value);
-
- for (j=0; j<num_glo_vars; j++) {
- gvar[j] = (double)(j+2) * time_value;
- }
- ex_put_glob_vars (exoid, whole_time_step, num_glo_vars, gvar);
-
- /* write nodal variables */
- for (k=0; k < num_nod_vars; k++) {
- for (j=0; j<num_nodes; j++) {
- nvar[j] = (double)k + ((double)(j+1) * time_value);
- }
-
- ex_put_nodal_var (exoid, whole_time_step, k+1, num_nodes, nvar);
- }
-
-#if 0
-/* write element variables */
-
- for (k=1; k<=num_ele_vars; k++)
- {
- for (j=0; j<num_elem_blk; j++)
- {
- for (m=0; m<num_elem_in_block[j]; m++)
- {
- elem_var_vals[m] = (float)(k+1) + (float)(j+2) +
- ((float)(m+1)*time_value);
- /* printf("elem_var_vals[%d]: %f\n",m,elem_var_vals[m]); */
- }
- ex_put_elem_var (exoid, whole_time_step, k, ebids[j],
- num_elem_in_block[j], elem_var_vals);
- printf ("after ex_put_elem_var, %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write sideset variables */
-
- for (k=1; k<=num_sset_vars; k++)
- {
- for (j=0; j<num_side_sets; j++)
- {
- for (m=0; m<num_face_in_sset[j]; m++)
- {
- sset_var_vals[m] = (float)(k+2) + (float)(j+3) +
- ((float)(m+1)*time_value);
- /* printf("sset_var_vals[%d]: %f\n",m,sset_var_vals[m]); */
- }
- ex_put_sset_var (exoid, whole_time_step, k, ssids[j],
- num_face_in_sset[j], sset_var_vals);
- printf ("after ex_put_sset_var, %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-
-/* write nodeset variables */
-
- for (k=1; k<=num_nset_vars; k++)
- {
- for (j=0; j<num_node_sets; j++)
- {
- for (m=0; m<num_nodes_in_nset[j]; m++)
- {
- nset_var_vals[m] = (float)(k+3) + (float)(j+4) +
- ((float)(m+1)*time_value);
- /* printf("nset_var_vals[%d]: %f\n",m,nset_var_vals[m]); */
- }
- ex_put_nset_var (exoid, whole_time_step, k, nsids[j],
- num_nodes_in_nset[j], nset_var_vals);
- printf ("after ex_put_nset_var, %d\n", error);
- if (error) {
- ex_close (exoid);
- exit(-1);
- }
- }
- }
-#endif
-
- whole_time_step++;
- }
- }
- ex_close (exoid);
- return 0;
-}
diff --git a/cbind/test/update_all_tests b/cbind/test/update_all_tests
deleted file mode 100644
index 08041aa..0000000
--- a/cbind/test/update_all_tests
+++ /dev/null
@@ -1,232 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# script to run all tests and compare them to saved dump files.
-#
-# To run the tests with valgrind checking, uncomment the next line and comment the
-# following line. Can also define other prefixes if wanted.
-
-#set PREFIX = "valgrind --tool=memcheck"
-set PREFIX = ""
-set SRCDIR = .
-set NCDUMP = /Users/gdsjaar/src/SEACAS/bin/ncdump
-echo "************************************************************************"
-echo "************************************************************************"
-rm -f test.output
-echo "testwt - single precision write test..."
-echo "begin testwt" > test.output
-${PREFIX} ${SRCDIR}/testwt >> test.output
-echo "end testwt" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/test.dmp
-
-echo "testrd - single precision read test..."
-echo "begin testrd" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version > ${SRCDIR}/testrd.dmp
-echo "end testrd" >> test.output
-
-echo "testrdv - single precision read test with varid..."
-echo "begin testrdv" >> test.output
-${PREFIX} ${SRCDIR}/testrdv | grep -v version > ${SRCDIR}/testrdv.dmp
-echo "end testrdv" >> test.output
-
-echo "testcp_ss - single-to-single precision copy test..."
-echo "begin testcp_ss" >> test.output
-${PREFIX} ${SRCDIR}/testcp >> test.output
-echo "end testcp_ss" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version > ${SRCDIR}/testcp_ss.dmp
-
-echo "testcp_sd - single-to-double precision copy test..."
-echo "begin testcp_sd" >> test.output
-${PREFIX} ${SRCDIR}/testcpd >> test.output
-echo "end testcp_sd" >> test.output
-${NCDUMP} -d5,5 testcpd.exo | grep -v version > ${SRCDIR}/testcp_sd.dmp
-
-echo "testcp_ln - large model to normal model single precision copy test..."
-echo "begin testcp_ln" >> test.output
-${PREFIX} ${SRCDIR}/testcp_ln >> test.output
-echo "end testcp_ln" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version > ${SRCDIR}/testcp_ln.dmp
-
-echo "testcp_nl - normal_model to large_model single precision copy test..."
-echo "begin testcp_nl" >> test.output
-${PREFIX} ${SRCDIR}/testcp_nl >> test.output
-echo "end testcp_nl" >> test.output
-${NCDUMP} -d5,5 testcp_nl.exo | grep -v version > ${SRCDIR}/testcp_nl.dmp
-
-echo "testwt_clb - single precision write test using concatenated puts..."
-echo "begin testwt_clb" >> test.output
-${PREFIX} ${SRCDIR}/testwt_clb >> test.output
-echo "end testwt_clb" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/test_clb.dmp
-
-echo "testwtd - double precision write test..."
-echo "begin testwtd" >> test.output
-${PREFIX} ${SRCDIR}/testwtd >> test.output
-echo "end testwtd" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/testd.dmp
-
-echo "testrdd - double precision read test..."
-echo "begin testrdd" >> test.output
-${PREFIX} ${SRCDIR}/testrdd | grep -v version >- ${SRCDIR}/testrdd.dmp
-echo "end testrdd" >> test.output
-
-echo "testcp_dd - double-to-double precision copy test..."
-echo "begin testcp_dd" >> test.output
-${PREFIX} ${SRCDIR}/testcpd >> test.output
-echo "end testcp_dd" >> test.output
-${NCDUMP} -d5,5 testcpd.exo | grep -v version > ${SRCDIR}/testcp_dd.dmp
-
-echo "testcp_ds - double-to-single precision copy test..."
-echo "begin testcp_ds" >> test.output
-${PREFIX} ${SRCDIR}/testcp >> test.output
-echo "end testcp_ds" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version > ${SRCDIR}/testcp_ds.dmp
-
-echo "testwt1 - single precision write files with several side sets..."
-echo "testwt1 ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt1" >> test.output
-${PREFIX} ${SRCDIR}/testwt1 >> test.output
-echo "end testwt1" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/test1.dmp
-
-echo "testrd1 - single precision read test of a file with several side sets..."
-echo "testrd1 ... [Expect file create failure error, NOCLOBBER]"
-echo "testrd1 ... [Expect failure locating elem var 1 for elem block 12]"
-echo "begin testrd1" >> test.output
-${PREFIX} ${SRCDIR}/testrd1 | grep -v version > ${SRCDIR}/testrd1.dmp
-echo "end testrd1" >> test.output
-
-echo "testwt_ss - write files to test side sets..."
-echo "testwt_ss ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt_ss" >> test.output
-${PREFIX} ${SRCDIR}/testwt_ss >> test.output
-echo "end testwt_ss" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/testwt_ss.dmp
-
-echo "testrd_ss - read test of a file with several side sets..."
-echo "testrd_ss ... [Expect warning for NULL sidesets 30 and 31]"
-echo "begin testrd_ss" >> test.output
-${PREFIX} ${SRCDIR}/testrd_ss | grep -v version > ${SRCDIR}/testrd_ss.dmp
-echo "end testrd_ss" >> test.output
-
-echo "testwt2 - single precision write 2 files (simultaneously open) test..."
-echo "begin testwt2" >> test.output
-${PREFIX} ${SRCDIR}/testwt2 >> test.output
-echo "end testwt2" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/test2-1.dmp
-${NCDUMP} -d5,5 test2.exo | grep -v version > ${SRCDIR}/test2-2.dmp
-
-echo "testrdwt - read from one and write to another (simutaneously open) file..."
-echo "begin testrdwt" >> test.output
-${PREFIX} ${SRCDIR}/testrdwt >> test.output
-echo "end testrdwt" >> test.output
-${NCDUMP} -d5,5 test2.exo | grep -v version > ${SRCDIR}/test2.dmp
-
-echo "testwt_nc - write x y z components of coordinates separately..."
-echo "begin testwt_nc" >> test.output
-${PREFIX} ${SRCDIR}/testwt_nc >> test.output
-echo "end testwt_nc" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/test.dmp
-
-echo "testrd_nc - read x y z components of coordinates separately..."
-echo "begin testrd_nc" >> test.output
-${PREFIX} ${SRCDIR}/testrd_nc | grep -v version > ${SRCDIR}/testrd_nc.dmp
-echo "end testrd" >> test.output
-
-echo "testwt-zeron - write file with zero nodes and elements..."
-echo "begin testwt-zeron" >> test.output
-${PREFIX} ${SRCDIR}/testwt-zeron >> test.output
-echo "end testwt-zeron" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/testwt-zeron.dmp
-
-echo "testrd - read test of file with zero nodes and elements..."
-echo "begin testrd zero nodes" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version > ${SRCDIR}/testrd_zeron.dmp
-echo "end testrd zero nodes" >> test.output
-
-echo "testwt-zeroe - write file with zero elements..."
-echo "begin testwt-zeroe" >> test.output
-${PREFIX} ${SRCDIR}/testwt-zeroe >> test.output
-echo "end testwt-zeroe" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/testwt-zeroe.dmp
-
-echo "testrd - read test of file with zero elements..."
-echo "begin testrd zero elements" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version > ${SRCDIR}/testrd_zeroe.dmp
-echo "end testrd zero elements" >> test.output
-
-echo "testwt-one-attrib - read/write test of element attributes - read one at a time..."
-echo "begin testwt-one-attrib - read attributes one at a time" >> test.output
-${PREFIX} ${SRCDIR}/testwt-one-attrib | tee testrd_zeroe.res
-echo "end testwt-one-attrib - read attributes one at a time" >> test.output
-
-echo "testwt-nsided - write file with nsided elements..."
-echo "begin testwt-nsided" >> test.output
-${PREFIX} ${SRCDIR}/testwt-nsided >> test.output
-echo "end testwt-nsided" >> test.output
-${NCDUMP} -d5,5 test-nsided.exo | grep -v version > ${SRCDIR}/testwt-nsided.dmp
-
-echo "testrd-nsided - read file with nsided elements..."
-echo "begin testrd-nsided" >> test.output
-${PREFIX} ${SRCDIR}/testrd-nsided | grep -v version > ${SRCDIR}/testrd-nsided.dmp
-echo "end testrd-nsided" >> test.output
-
-echo "testwt-nfaced - write file with nfaced elements..."
-echo "begin testwt-nfaced" >> test.output
-${PREFIX} ${SRCDIR}/testwt-nfaced >> test.output
-echo "end testwt-nfaced" >> test.output
-${NCDUMP} -d5,5 test-nfaced.exo | grep -v version > ${SRCDIR}/testwt-nfaced.dmp
-
-echo "testrd-nfaced - read file with nfaced elements..."
-echo "begin testrd-nfaced" >> test.output
-${PREFIX} ${SRCDIR}/testrd-nfaced | grep -v version > ${SRCDIR}/testrd-nfaced.dmp
-echo "end testrd-nfaced" >> test.output
-
-echo "testwt-long-name - write file with long (64-character) names..."
-echo "begin testwt-long-name" >> test.output
-${PREFIX} ${SRCDIR}/testwt-long-name >> test.output
-echo "end testwt-long-name" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version > ${SRCDIR}/testwt-long-name.dmp
-
-echo "testrd - read long name file truncating to 32 characters on read..."
-echo "begin testrd (truncate)" >> test.output
-${PREFIX} ${SRCDIR}/testrd | grep -v version > ${SRCDIR}/testrd-nm32.dmp
-echo "end testrd (truncate)" >> test.output
-
-echo "testrd-long-name - read long name file..."
-echo "begin testrd-long-name" >> test.output
-${PREFIX} ${SRCDIR}/testrd-long-name | grep -v version > ${SRCDIR}/testrd-long-name.dmp
-echo "end testrd-long-name" >> test.output
-
-echo "************************************************************************"
-echo "************************************************************************"
diff --git a/cmake-script b/cmake-script
deleted file mode 100755
index 0880188..0000000
--- a/cmake-script
+++ /dev/null
@@ -1,21 +0,0 @@
-EXTRA_ARGS=$@
-
-FC=/opt/local/bin/gfortran-mp-4.8
-
-ACCESS=/Users/gdsjaar/src/SEACAS
-
-rm -f CMakeCache.txt
-
-cmake \
--DBUILD_SHARED=ON \
--DCMAKE_Fortran_COMPILER:FILEPATH=${FC} \
--DNETCDF_NCDUMP:PATH=${ACCESS}/bin/ncdump \
--DNETCDF_INCLUDE_DIR:PATH=${ACCESS}/include \
--DNETCDF_LIBRARY:PATH=${ACCESS}/lib/libnetcdf.a \
--DHDF5HL_LIBRARY:PATH=${ACCESS}/lib/libhdf5_hl.a \
--DHDF5_LIBRARY:PATH=${ACCESS}/lib/libhdf5.a \
-$EXTRA_ARGS
-
-
-
-
diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
deleted file mode 100644
index 4d0922a..0000000
--- a/cmake/Dependencies.cmake
+++ /dev/null
@@ -1,8 +0,0 @@
-SET(LIB_REQUIRED_DEP_PACKAGES)
-SET(LIB_OPTIONAL_DEP_PACKAGES)
-SET(TEST_REQUIRED_DEP_PACKAGES)
-SET(TEST_OPTIONAL_DEP_PACKAGES)
-SET(LIB_REQUIRED_DEP_TPLS Netcdf)
-SET(LIB_OPTIONAL_DEP_TPLS HDF5)
-SET(TEST_REQUIRED_DEP_TPLS Netcdf)
-SET(TEST_OPTIONAL_DEP_TPLS)
diff --git a/customdoxygen.css b/customdoxygen.css
deleted file mode 100644
index 27dfe7f..0000000
--- a/customdoxygen.css
+++ /dev/null
@@ -1,686 +0,0 @@
-/* The standard CSS for doxygen */
-
-body, table, div, p, dl {
- font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
- font-size: 12px;
-}
-
-/* @group Heading Levels */
-
-h1 {
- font-size: 150%;
-}
-
-h2 {
- font-size: 120%;
-}
-
-h3 {
- font-size: 100%;
-}
-
-dt {
- font-weight: bold;
-}
-
-div.multicol {
- -moz-column-gap: 1em;
- -webkit-column-gap: 1em;
- -moz-column-count: 3;
- -webkit-column-count: 3;
-}
-
-p.startli, p.startdd, p.starttd {
- margin-top: 2px;
-}
-
-p.endli {
- margin-bottom: 0px;
-}
-
-p.enddd {
- margin-bottom: 4px;
-}
-
-p.endtd {
- margin-bottom: 2px;
-}
-
-/* @end */
-
-caption {
- font-weight: bold;
-}
-
-span.legend {
- font-size: 70%;
- text-align: center;
-}
-
-h3.version {
- font-size: 90%;
- text-align: center;
-}
-
-div.qindex, div.navtab{
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
- margin: 2px;
- padding: 2px;
-}
-
-div.qindex, div.navpath {
- width: 100%;
- line-height: 140%;
-}
-
-div.navtab {
- margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
- color: #3D578C;
- font-weight: normal;
- text-decoration: none;
-}
-
-.contents a:visited {
- color: #4665A2;
-}
-
-a:hover {
- text-decoration: underline;
-}
-
-a.qindex {
- font-weight: bold;
-}
-
-a.qindexHL {
- font-weight: bold;
- background-color: #9CAFD4;
- color: #ffffff;
- border: 1px double #869DCA;
-}
-
-.contents a.qindexHL:visited {
- color: #ffffff;
-}
-
-a.el {
- font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code {
- color: #4665A2;
-}
-
-a.codeRef {
- color: #4665A2;
-}
-
-/* @end */
-
-dl.el {
- margin-left: -1cm;
-}
-
-.fragment {
- font-family: monospace, fixed;
- font-size: 105%;
-}
-
-pre.fragment {
- border: 1px solid #C4CFE5;
- background-color: #EEEEFF;
- padding: 4px 6px;
- margin: 4px 8px 4px 8px;
- overflow: auto;
- word-wrap: break-word;
- font-size: 9pt;
- line-height: 125%;
-}
-
-div.ah {
- background-color: black;
- font-weight: bold;
- color: #ffffff;
- margin-bottom: 3px;
- margin-top: 3px;
- padding: 0.2em;
- border: solid thin #333;
- border-radius: 0.5em;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- box-shadow: 2px 2px 3px #999;
- -webkit-box-shadow: 2px 2px 3px #999;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
- background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
-div.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- font-weight: bold;
-}
-
-div.groupText {
- margin-left: 16px;
- font-style: italic;
-}
-
-body {
- background: white;
- color: black;
- margin: 0;
-}
-
-div.contents {
- margin-top: 10px;
- margin-left: 10px;
- margin-right: 10px;
-}
-
-td.indexkey {
- background-color: #EBEFF6;
- font-weight: bold;
- border: 1px solid #C4CFE5;
- margin: 2px 0px 2px 0;
- padding: 2px 10px;
-}
-
-td.indexvalue {
- background-color: #EBEFF6;
- border: 1px solid #C4CFE5;
- padding: 2px 10px;
- margin: 2px 0px;
-}
-
-tr.memlist {
- background-color: #EEF1F7;
-}
-
-p.formulaDsp {
- text-align: center;
-}
-
-img.formulaDsp {
-
-}
-
-img.formulaInl {
- vertical-align: middle;
-}
-
-div.center {
- text-align: center;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
-}
-
-div.center img {
- border: 0px;
-}
-
-address.footer {
- text-align: right;
- padding-right: 12px;
-}
-
-img.footer {
- border: 0px;
- vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
- color: #008000
-}
-
-span.keywordtype {
- color: #604020
-}
-
-span.keywordflow {
- color: #e08000
-}
-
-span.comment {
- color: #800000
-}
-
-span.preprocessor {
- color: #806020
-}
-
-span.stringliteral {
- color: #002080
-}
-
-span.charliteral {
- color: #008080
-}
-
-span.vhdldigit {
- color: #ff00ff
-}
-
-span.vhdlchar {
- color: #000000
-}
-
-span.vhdlkeyword {
- color: #700070
-}
-
-span.vhdllogic {
- color: #ff0000
-}
-
-/* @end */
-
-/*
-.search {
- color: #003399;
- font-weight: bold;
-}
-
-form.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-
-input.search {
- font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
-}
-*/
-
-td.tiny {
- font-size: 75%;
-}
-
-.dirtab {
- padding: 4px;
- border-collapse: collapse;
- border: 1px solid #A3B4D7;
-}
-
-th.dirtab {
- background: #EBEFF6;
- font-weight: bold;
-}
-
-hr {
- height: 0px;
- border: none;
- border-top: 1px solid #4A6AAA;
-}
-
-hr.footer {
- height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
- border-spacing: 0px;
- padding: 0px;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #F9FAFC;
- border: none;
- margin: 4px;
- padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
- padding: 0px 8px 4px 8px;
- color: #555;
-}
-
-.memItemLeft, .memItemRight, .memTemplParams {
- border-top: 1px solid #C4CFE5;
-}
-
-.memItemLeft, .memTemplItemLeft {
- white-space: nowrap;
-}
-
-.memTemplParams {
- color: #4665A2;
- white-space: nowrap;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
- font-size: 80%;
- color: #4665A2;
- font-weight: normal;
- margin-left: 9px;
-}
-
-.memnav {
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-
-.memitem {
- padding: 0;
- margin-bottom: 10px;
-}
-
-.memname {
- white-space: nowrap;
- font-weight: bold;
- margin-left: 6px;
-}
-
-.memproto {
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 0px 6px 0px;
- color: #253555;
- font-weight: bold;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- /* opera specific markup */
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- border-top-right-radius: 8px;
- border-top-left-radius: 8px;
- /* firefox specific markup */
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- -moz-border-radius-topright: 8px;
- -moz-border-radius-topleft: 8px;
- /* webkit specific markup */
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -webkit-border-top-right-radius: 8px;
- -webkit-border-top-left-radius: 8px;
- background-image:url('nav_f.png');
- background-repeat:repeat-x;
- background-color: #E2E8F2;
-
-}
-
-.memdoc {
- border-bottom: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 2px 5px;
- background-color: #FBFCFD;
- border-top-width: 0;
- /* opera specific markup */
- border-bottom-left-radius: 8px;
- border-bottom-right-radius: 8px;
- box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- /* firefox specific markup */
- -moz-border-radius-bottomleft: 8px;
- -moz-border-radius-bottomright: 8px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
- /* webkit specific markup */
- -webkit-border-bottom-left-radius: 8px;
- -webkit-border-bottom-right-radius: 8px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
-}
-
-.paramkey {
- text-align: right;
-}
-
-.paramtype {
- white-space: nowrap;
-}
-
-.paramname {
- color: #602020;
- white-space: nowrap;
-}
-.paramname em {
- font-style: normal;
-}
-
-.params, .retval, .exception, .tparams {
- border-spacing: 6px 2px;
-}
-
-.params .paramname, .retval .paramname {
- font-weight: bold;
- vertical-align: top;
-}
-
-.params .paramtype {
- font-style: italic;
- vertical-align: top;
-}
-
-.params .paramdir {
- font-family: "courier new",courier,monospace;
- vertical-align: top;
-}
-
-
-
-
-/* @end */
-
-/* @group Directory (tree) */
-
-/* for the tree view */
-
-.ftvtree {
- font-family: sans-serif;
- margin: 0px;
-}
-
-/* these are for tree view when used as main index */
-
-.directory {
- font-size: 9pt;
- font-weight: bold;
- margin: 5px;
-}
-
-.directory h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-/*
-The following two styles can be used to replace the root node title
-with an image of your choice. Simply uncomment the next two styles,
-specify the name of your image and be sure to set 'height' to the
-proper pixel height of your image.
-*/
-
-/*
-.directory h3.swap {
- height: 61px;
- background-repeat: no-repeat;
- background-image: url("yourimage.gif");
-}
-.directory h3.swap span {
- display: none;
-}
-*/
-
-.directory > h3 {
- margin-top: 0;
-}
-
-.directory p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory div {
- display: none;
- margin: 0px;
-}
-
-.directory img {
- vertical-align: -30%;
-}
-
-/* these are for tree view when not used as main index */
-
-.directory-alt {
- font-size: 100%;
- font-weight: bold;
-}
-
-.directory-alt h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-.directory-alt > h3 {
- margin-top: 0;
-}
-
-.directory-alt p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory-alt div {
- display: none;
- margin: 0px;
-}
-
-.directory-alt img {
- vertical-align: -30%;
-}
-
-/* @end */
-
-div.dynheader {
- margin-top: 8px;
-}
-
-address {
- font-style: normal;
- color: #2A3D61;
-}
-
-table.doxtable {
- border-collapse:collapse;
-}
-
-table.doxtable td, table.doxtable th {
- border: 1px solid #2D4068;
- padding: 3px 7px 2px;
-}
-
-table.doxtable th {
- background-color: #374F7F;
- color: #FFFFFF;
- font-size: 110%;
- padding-bottom: 4px;
- padding-top: 5px;
- text-align:left;
-}
-
-.tabsearch {
- top: 0px;
- left: 10px;
- height: 36px;
- background-image: url('tab_b.png');
- z-index: 101;
- overflow: hidden;
- font-size: 13px;
-}
-
-.navpath ul
-{
- font-size: 11px;
- background-image:url('tab_b.png');
- background-repeat:repeat-x;
- height:30px;
- line-height:30px;
- color:#8AA0CC;
- border:solid 1px #C2CDE4;
- overflow:hidden;
- margin:0px;
- padding:0px;
-}
-
-.navpath li
-{
- list-style-type:none;
- float:left;
- padding-left:10px;
- padding-right: 15px;
- background-image:url('bc_s.png');
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
-}
-
-.navpath a
-{
- height:32px;
- display:block;
- text-decoration: none;
- outline: none;
-}
-
-.navpath a:hover
-{
- color:#6884BD;
-}
-
-div.summary
-{
- float: right;
- font-size: 8pt;
- padding-right: 5px;
- width: 50%;
- text-align: right;
-}
-
-div.summary a
-{
- white-space: nowrap;
-}
-
-div.header
-{
- background-image:url('nav_h.png');
- background-repeat:repeat-x;
- background-color: #F9FAFC;
- margin: 0px;
- border-bottom: 1px solid #C4CFE5;
-}
-
-div.headertitle
-{
- padding: 5px 5px 5px 10px;
-}
-
diff --git a/doc/doc.poly.txt b/doc/doc.poly.txt
deleted file mode 100644
index 1f0153e..0000000
--- a/doc/doc.poly.txt
+++ /dev/null
@@ -1,216 +0,0 @@
-Storage of 3d arbitrary polyhedra elements in exodusII.
-
-The 3d polyhedra elements are represented as elements with a variable
-number of faces in their connectivity. The faces can either be
-regular faces such as quadrilateral or triangles; or they can be
-topologically two-dimensional arbitary polyhedra themselves.
-
-An arbitrary polyhedra 3D element block will have an element type of
-"nfaced" or "NFACED".
-
-The faces that are used in the connectivity of this block should be
-defined in one or more face blocks. If the faces are arbitrary
-polyhedra, then they will have a face type of "nsided" or "NSIDED".
-
-An annotated example of defining an arbitrary polyhedral element block
-consisting of 3 elements is shown below. The geometry is shown in
-Figure 1.
-
-The three elements have the following geometry:
-* Element 1: 5 faces.
- * Face 1: triangle with nodes 5, 6, 8
- * Face 2: triangle with nodes 2, 1, 4
- * Face 3: quadrilateral with nodes 6, 2, 4, 8
- * Face 4: quadrilateral with nodes 8, 4, 1, 5
- * Face 5: quadrilateral with nodes 1, 2, 6, 5
-
-* Element 2: 5 faces.
- * Face 6: triangle with nodes 5, 8, 7
- * Face 7: triangle with nodes 1, 3, 4
- * Face 8: quadrilateral with nodes 7, 8, 4, 3
- * Face 9: quadrilateral with nodes 7, 3, 1, 5
- * Face 4: quadrilateral with nodes 8, 4, 1, 5 (shared with element 1)
-
-Element 3: 7 faces.
- * Face 8: quadrilateral with nodes 7, 8, 4, 3 (shared with element 2)
- * Face 10: pentagonal with nodes 8, 4, 14, 10, 12
- * Face 11: pentagonal with nodes 7, 11, 9, 13, 3
- * Face 12: quadrilateral with nodes 7, 8, 12, 11
- * Face 13: quadrilateral with nodes 11, 12, 10, 9
- * Face 14: quadrilateral with nodes 9, 10, 14, 13
- * Face 15: quadrilateral with nodes 12, 14, 4, 3
-
-The exodusII model is created via the following calls:
-
-* Output the initial information. Since the model contains faces and
- a face block, the "extended" version of the ex_put_init_ext call must be used:
-
- ex_init_params par;
- strcpy( par.title, "This is the title" );
- par.num_dim = 3;
- par.num_nodes = 14;
- par.num_edge = 0;
- par.num_edge_blk = 0;
- par.num_face = 15;
- par.num_face_blk = 1;
- par.num_elem = 3;
- par.num_elem_blk = 1;
- par.num_node_sets = 0;
- par.num_edge_sets = 0;
- par.num_face_sets = 0;
- par.num_side_sets = 0;
- par.num_elem_sets = 0;
- par.num_node_maps = 0;
- par.num_edge_maps = 0;
- par.num_face_maps = 0;
- par.num_elem_maps = 0;
-
- ex_put_init_ext (exoid, &par);
-
-* Coordinate output is normal...
-
-* Define the face block.
-
- block_name = "face_block_1";
- num_face_in_block[0] = 15;
- num_total_nodes_per_blk[0] = 58;
- block_id = 10;
-
- ex_put_block (exoid, EX_FACE_BLOCK, block_id, "nsided",
- num_face_in_block[0],
- num_total_nodes_per_blk[0],
- 0, 0, 0);
- ex_put_name(exoid, EX_FACE_BLOCK, block_id, block_name);
-
-* Output the face connectivity for face_block_1.
- The data for the face connectivity is listed above; a portion is shown below...
-
- connect = (int *) calloc(num_total_nodes_per_blk[0], sizeof(int));
- i = 0
- connect[i++] = 5;
- connect[i++] = 6;
- connect[i++] = 8; /* connectivity of face 1 of element 1 */
-
- connect[i++] = 2;
- connect[i++] = 1;
- connect[i++] = 4; /* face 2 of element 1 */
-
- connect[i++] = 6;
- connect[i++] = 2;
- connect[i++] = 4;
- connect[i++] = 8; /* face 3 of element 1 */
-
- connect[i++] = 8;
- connect[i++] = 4;
- connect[i++] = 1;
- connect[i++] = 5; /* face 4 of element 1 */
-
- connect[i++] = 1;
- connect[i++] = 2;
- connect[i++] = 6;
- connect[i++] = 5; /* face 5 of element 1 */
-
- connect[i++] = 5;
- connect[i++] = 8;
- connect[i++] = 7; /* connectivity of face 1 of element 2 */
-
- ... and so on....
- assert(i == num_total_nodes_per_blk[0]);
-
- ex_put_conn (exoid, EX_FACE_BLOCK, block_id, connect, NULL, NULL);
-
-* Output the number of nodes per face count for face_block_1:
-
- j = 0;
- nnpe[ 1] = 3; /* Face 1 */
- nnpe[ 2] = 3;
- nnpe[ 3] = 4;
- nnpe[ 4] = 4;
- nnpe[ 5] = 4;
- nnpe[ 6] = 3;
- nnpe[ 7] = 3;
- nnpe[ 8] = 4;
- nnpe[ 9] = 4;
- nnpe[10] = 5;
- nnpe[11] = 5;
- nnpe[12] = 4;
- nnpe[13] = 4;
- nnpe[14] = 4;
- nnpe[15] = 4;
-
- ex_put_entity_count_per_polyhedra(exoid, EX_FACE_BLOCK, block_id, nnpe);
-
-* The face block is now fully defined; now define the nfaced element
- block which uses these faces.
-
- block_name = "nfaced_1";
-
- num_elem_in_block = 3;
- num_total_faces_per_blk = 5 + 5 + 7;
- block_id = 10;
-
- ex_put_block (exoid, EX_ELEM_BLOCK, block_id, "nfaced",
- num_elem_in_block,
- 0, /* nodes */
- 0, /* edges */
- num_total_faces_per_blk,
- 0); /* attribute count */
- ex_put_name(exoid, EX_ELEM_BLOCK, block_id, block_name);
-
-
- In the "ex_put_block" function, the element type is "nfaced". The
- connectivity is defined in terms of the faces, so the node and edge
- arguments are passed zeros. The nodal connectivity can be defined,
- but it isn't required. The face connectivity argument for an
- nfaced block is the total number of faces in the connectivity for all
- elements in the nfaced block.
-
-* Write the face connectivity:
- /* write element-face connectivity */
- connect = (int *) calloc(num_total_faces_per_blk, sizeof(int));
-
- i = 0;
- connect[i++] = 1;
- connect[i++] = 2;
- connect[i++] = 3;
- connect[i++] = 4;
- connect[i++] = 5;
-
- connect[i++] = 4;
- connect[i++] = 6;
- connect[i++] = 7;
- connect[i++] = 8;
- connect[i++] = 9;
-
- connect[i++] = 8;
- connect[i++] = 10;
- connect[i++] = 11;
- connect[i++] = 12;
- connect[i++] = 13;
- connect[i++] = 14;
- connect[i++] = 15;
-
- assert(i == num_total_faces_per_blk);
- ex_put_conn (exoid, EX_ELEM_BLOCK, block_id, NULL, NULL, connect);
-
-* Output the number of faces per element count for "nfaced_1":
-
- nnpe[1] = 5; /* Number of faces per element 1 */
- nnpe[2] = 5; /* Number of faces per element 2 */
- nnpe[3] = 7; /* Number of faces per element 3 */
-
- ex_put_entity_count_per_polyhedra(exoid, EX_ELEM_BLOCK, block_id, nnpe);
-
-* That's all; the rest of the calls are the same as normal exodusII except:
-
- * There is a similar "ex_get_entity_count_per_polyhedra" function for read.
- * The ex_get_block functions return the total number of nodes or
- faces for all faces or element for "nfaced" and "nsided" blocks
- and not the number per element
-
-* An example read/write usage is shown in the the
- cbind/test/testwt-nfaced.c and cbind/test/testrd-nfaced.c files.
-
-* These changes are in exodusII version bv4.93 and later.
-
-
diff --git a/doc/exodus-face-edge.pdf b/doc/exodus-face-edge.pdf
deleted file mode 100644
index b3d13bf..0000000
Binary files a/doc/exodus-face-edge.pdf and /dev/null differ
diff --git a/doc/exodus.pdf b/doc/exodus.pdf
deleted file mode 100644
index a0a6aa5..0000000
Binary files a/doc/exodus.pdf and /dev/null differ
diff --git a/doc/nemesis.pdf b/doc/nemesis.pdf
deleted file mode 100644
index 169b3df..0000000
Binary files a/doc/nemesis.pdf and /dev/null differ
diff --git a/exodusii.dsp b/exodusii.dsp
deleted file mode 100644
index 9a60605..0000000
--- a/exodusii.dsp
+++ /dev/null
@@ -1,497 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# Microsoft Developer Studio Project File - Name="exodusii" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=exodusii - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "exodusii.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "exodusii.mak" CFG="exodusii - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "exodusii - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "exodusii - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "exodusii - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "$(CUBITROOT)/netcdf/netcdf-3.4.snl/include" /I "../../include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "EX_ERR_STR" /D "NT" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"../../lib/nt/libexoIIv2c406.lib"
-
-!ELSEIF "$(CFG)" == "exodusii - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "$(CUBITROOT)/netcdf/netcdf-3.4.snl/include" /I "../../include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "EX_ERR_STR" /D "NT" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo /out:"../../lib/nt/libexoIIv2c406_db.lib"
-
-!ENDIF
-
-# Begin Target
-
-# Name "exodusii - Win32 Release"
-# Name "exodusii - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\ex_conv.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\ex_utils.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exclos.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\excn2s.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\excopy.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\excre.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exerr.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgatm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgcns.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgcon.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgcor.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgcss.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgeat.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgebi.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgelb.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgelc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgem.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgenm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgev.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgevt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgfrm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exggv.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exggvt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exginf.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgini.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgmap.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgmp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgnm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgnnm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgnp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgns.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgnsd.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgnsi.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgnv.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgnvt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgpa.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgpn.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgqa.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgsnl.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgsp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgss.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgssc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgssd.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgssi.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgssn.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgtim.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgvan.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgvnm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgvp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exgvtt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exinq.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exopen.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exopts.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expclb.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expcns.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expcon.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expcor.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expcss.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expeat.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expelb.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expelc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expem.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expenm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expev.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expfrm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expgv.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expinf.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expini.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expmap.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expmp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expnm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expnnm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expnp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expns.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expnsd.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expnv.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exppa.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exppn.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expqa.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expsp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expss.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expssd.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exptim.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expvan.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expvnm.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expvp.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expvpc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\expvtt.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\exupda.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\include\exodusII.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\exodusII_int.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/forbind/CMakeLists.txt b/forbind/CMakeLists.txt
deleted file mode 100644
index 5ee026c..0000000
--- a/forbind/CMakeLists.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-# Set Mangling by hand
-# Assume _name mangling see src/exo_jack.c code for how ADDC_ will be used in
-# Fortran mangling
-add_definitions (-DADDC_)
-
-
-find_path( NETCDF_INCLUDE_DIR netcdf.h
- $ENV{ACCESS}/inc
- $ENV{NETCDF_DIR}/inc
- $ENV{NETCDF_DIR}/include
- $ENV{NETCDF_DIR}/libsrc
-)
-
-find_library( NETCDF_LIBRARY
- NAMES netcdf
- PATHS "$ENV{ACCESS}/lib"
- "$ENV{NETCDF_DIR}/lib"
- "$ENV{NETCDF_DIR}/libsrc/.libs"
-)
-
-find_program (NETCDF_NCDUMP ncdump
- $ENV{ACCESS}/bin
- $ENV{NETCDF_DIR}/bin
- $ENV{NETCDF_DIR}/ncdump
-)
-
-# Hack for HDF5
-find_library( HDF5_LIBRARY hdf5
- $ENV{ACCESS}/lib/shared
- $ENV{ACCESS}/lib
- $ENV{NETCDF_DIR}/lib
- $ENV{NETCDF_DIR}/libsrc/.libs
- /usr/local/hdf5/lib
- )
-find_library( HDF5HL_LIBRARY hdf5_hl
- $ENV{ACCESS}/lib/shared
- $ENV{ACCESS}/lib
- $ENV{NETCDF_DIR}/lib
- $ENV{NETCDF_DIR}/libsrc/.libs
- /usr/local/hdf5/lib
- )
-
-INCLUDE_DIRECTORIES(
- "${CMAKE_CURRENT_SOURCE_DIR}/include"
- "${CMAKE_CURRENT_SOURCE_DIR}/../cbind/include"
- "${CMAKE_CURRENT_BINARY_DIR}/include"
- "${NETCDF_INCLUDE_DIR}"
-)
-
-SET(forbind_SRCS
- src/exo_jack.c
-)
-
-ADD_LIBRARY(exoIIv2for ${EXODUS_LIBRARY_TYPE} ${forbind_SRCS})
-
-TARGET_LINK_LIBRARIES(exoIIv2for exoIIv2c ${NETCDF_LIBRARY} ${HDF5_LIBRARY} ${HDF5HL_LIBRARY})
-
-IF(EXODUS_LIBRARY_PROPERTIES)
- SET_TARGET_PROPERTIES(exoIIv2for PROPERTIES ${EXODUS_LIBRARY_PROPERTIES})
-ENDIF(EXODUS_LIBRARY_PROPERTIES)
-
-IF(NOT EXODUS_INSTALL_NO_LIBRARIES)
- INSTALL(TARGETS exoIIv2for
- RUNTIME DESTINATION lib COMPONENT Runtime
- LIBRARY DESTINATION lib COMPONENT Runtime
- ARCHIVE DESTINATION lib COMPONENT Development)
- INSTALL(FILES ${forbind_HEADERS} DESTINATION include COMPONENT Development)
-ENDIF(NOT EXODUS_INSTALL_NO_LIBRARIES)
-
-
-INCLUDE (${CMAKE_ROOT}/Modules/Dart.cmake)
-
-IF (BUILD_TESTING)
- ENABLE_TESTING()
- SUBDIRS(test)
-ENDIF (BUILD_TESTING)
-
diff --git a/forbind/include/Imakefile b/forbind/include/Imakefile
deleted file mode 100644
index 8044031..0000000
--- a/forbind/include/Imakefile
+++ /dev/null
@@ -1,6 +0,0 @@
-XCOMM $Id: Imakefile,v 1.5 2008/07/24 21:40:41 gdsjaar Exp $
-
-INCLIST=exodusII.inc exodusII_int.inc
-
-InstallIncludeList(install,$(INCLIST),$(INCDIR))
-
diff --git a/forbind/include/exodusII.inc b/forbind/include/exodusII.inc
deleted file mode 100644
index d732d70..0000000
--- a/forbind/include/exodusII.inc
+++ /dev/null
@@ -1,193 +0,0 @@
- ! -*- mode: fortran -*-
-!
-! Copyright 1994 Sandia Corporation. Under the terms of Contract
-! DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-! retains certain rights in this software.
-!
-! See the COPYRIGHT file for copying and redistribution conditions.
-!
-!***************************************************************
-!
-! Name: exodusII.inc - Exodus II Application include file
-!
-! Use this include file to define general Exodus II parameters
-!
-!*****************************************************************************
-!
-! Define Exodus functions that return values
-!
- integer excre,exopen,exlgmd, exinqi
- external excre, exopen, exlgmd, exinqi
-!
-! Define access modes
-!
- integer EXNOCL,EXCLOB,EXREAD,EXWRIT,EXWRT,EXNORM,EXLARG
- integer EXNET4, EXNOSH, EXSHAR
-
- integer EX_READ,EX_WRITE,EX_NOCLOBBER,EX_CLOBBER,EX_NORMAL_MODEL
- integer EX_LARGE_MODEL,EX_NETCDF4,EX_NOSHARE,EX_SHARE
- integer EX_NOCLASSIC,EX_MAPS_INT64_DB,EX_IDS_INT64_DB
- integer EX_BULK_INT64_DB,EX_ALL_INT64_DB
- integer EX_MAPS_INT64_API
- integer EX_IDS_INT64_API,EX_BULK_INT64_API,EX_ALL_INT64_API
-
- parameter (EXREAD = 0) ! EXREAD - File open for read
- parameter (EXWRIT = 1) ! EXWRIT - File open for write
- parameter (EXWRT = 1) ! EXWRT - File open for write (alternate to EXWRIT)
-
- parameter (EXNOCL = 4) ! EXNOCL - File create with no overwrite (no clobber), default
- parameter (EXCLOB = 8) ! EXCLOB - File create with overwrite (clobber)
- parameter (EXNORM = 16) ! EXNORM - Disable large model modifications
- parameter (EXLARG = 32) ! EXLARG - Large model modifications
- parameter (EXNET4 = 64) ! EXNET4 - use the hdf5-based netcdf4 output
- parameter (EXNOSH = 128) ! EXNOSH - Do not open netcdf file in "share" mode
- parameter (EXSHAR = 256) ! EXSHAR - Do open netcdf file in "share" mode
-
-! Some of these are repeated from above, but use the same name as the C/C++ versions...
-
- parameter (EX_READ = 0) !ex_open(): open file for reading (default)
- parameter (EX_WRITE = 1) ! ex_open(): open existing file for appending.
-
- parameter (EX_NOCLOBBER = 4) ! Don't overwrite existing database, default
- parameter (EX_CLOBBER = 8) ! Overwrite existing database if it exists
- parameter (EX_NORMAL_MODEL = 16) ! disable mods that permit storage of larger models
- parameter (EX_LARGE_MODEL = 32) ! enable mods that permit storage of larger models
- parameter (EX_NETCDF4 = 64) ! use the hdf5-based netcdf4 output
- parameter (EX_NOSHARE = 128) ! Do not open netcdf file in "share" mode
- parameter (EX_SHARE = 256) ! Do open netcdf file in "share" mode
- parameter (EX_NOCLASSIC = 512) ! Do not force netcdf to classic mode in netcdf4 mode
-
-! Need to distinguish between storage on database (DB in name) and
-! passed through the API functions (API in name).
-
- parameter (EX_MAPS_INT64_DB = 1024) ! All maps (id, order, ...) store int64_t values
- parameter (EX_IDS_INT64_DB = 2048) ! All entity ids (sets, blocks, maps) are int64_t values
- parameter (EX_BULK_INT64_DB = 4096) ! All integer bulk data (local indices, counts, maps); not ids
- parameter (EX_ALL_INT64_DB = 1024+2048+4096) ! All of the above...
-
- parameter (EX_MAPS_INT64_API= 8192) ! All maps (id, order, ...) store int64_t values
- parameter (EX_IDS_INT64_API = 16384) ! All entity ids (sets, blocks, maps) are int64_t values
- parameter (EX_BULK_INT64_API= 32768) ! All integer bulk data (local indices, counts, maps); not ids
- parameter (EX_ALL_INT64_API = 8192+16384+32768) ! All of the above...
-
-!
-! --INQUIRE FLAGS
- integer EXTYPE, EXVERS, EXDBVR, EXTITL, EXDIM, EXNODE
- integer EXELEM, EXELBL, EXNODS, EXSIDS, EXQA, EXINFO
- integer EXTIMS, EXSSNL, EXSSEL, EXNSNL, EXNEBP, EXNNSP
- integer EXNSSP, EXNSDF, EXSSDF, EXLBVR, EXNEMP, EXNNMP
- integer EXNEM, EXNNM, EXNEDG, EXNEDB, EXNEDS, EXESL
- integer EXESDL, EXEDBP, EXEDSP, EXNFAC, EXNFB , EXNFS
- integer EXFSL , EXFSDL, EXFABP, EXFASP, EXNELS, EXELSL
- integer EXELSD, EXELSP, EXNEDM, EXNFAM, EXNCF, EXDBMXALNM
- integer EXDBMXUSNM, EXMXRDNM
-
-!
- parameter (EXTYPE = 1) ! -- inquire EXODUS II file type
- parameter (EXVERS = 2) ! -- inquire API version number
- parameter (EXDBVR = 3) ! -- inquire database version number
- parameter (EXTITL = 4) ! -- inquire database title
- parameter (EXDIM = 5) ! -- inquire number of dimensions
- parameter (EXNODE = 6) ! -- inquire number of nodes
- parameter (EXELEM = 7) ! -- inquire number of elements
- parameter (EXELBL = 8) ! -- inquire number of element blocks
- parameter (EXNODS = 9) ! -- inquire number of node sets
- parameter (EXNSNL = 10) ! -- inquire length of node set node list
- parameter (EXSIDS = 11) ! -- inquire number of side sets
- parameter (EXSSNL = 12) ! -- inquire length of side set node list
- parameter (EXSSEL = 13) ! -- inquire length of side set element list
- parameter (EXQA = 14) ! -- inquire number of QA records
- parameter (EXINFO = 15) ! -- inquire number of info records
- parameter (EXTIMS = 16) ! -- inquire number of time steps in the database
- parameter (EXNEBP = 17) ! -- inquire number of element block properties
- parameter (EXNNSP = 18) ! -- inquire number of node set properties
- parameter (EXNSSP = 19) ! -- inquire number of side set properties
- parameter (EXNSDF = 20) ! -- inquire length of node set distribution factor list
- parameter (EXSSDF = 21) ! -- inquire length of side set distribution factor list
- parameter (EXLBVR = 22) ! -- inquire API Lib vers number
- parameter (EXNEMP = 23) ! -- inquire number of element map properties
- parameter (EXNNMP = 24) ! -- inquire number of node map properties
- parameter (EXNEM = 25) ! -- inquire number of element maps
- parameter (EXNNM = 26) ! -- inquire number of node maps
- parameter (EXNEDG = 27) ! -- inquire number of edges
- parameter (EXNEDB = 28) ! -- inquire number of edge blocks
- parameter (EXNEDS = 29) ! -- inquire number of edge sets
- parameter (EXESL = 30) ! -- inquire length of concat edge set edge list
- parameter (EXESDL = 31) ! -- inquire length of concat edge set dist factor list
- parameter (EXEDBP = 32) ! -- inquire number of properties stored per edge block
- parameter (EXEDSP = 33) ! -- inquire number of properties stored per edge set
- Parameter (EXNFAC = 34) ! -- inquire number of faces
- parameter (EXNFB = 35) ! -- inquire number of face blocks
- parameter (EXNFS = 36) ! -- inquire number of face sets
- parameter (EXFSL = 37) ! -- inquire length of concat face set face list
- parameter (EXFSDL = 38) ! -- inquire length of concat face set dist factor list
- parameter (EXFABP = 39) ! -- inquire number of properties stored per face block
- parameter (EXFASP = 40) ! -- inquire number of properties stored per face set
- parameter (EXNELS = 41) ! -- inquire number of element sets
- parameter (EXELSL = 42) ! -- inquire length of concat element set element list
- parameter (EXELSD = 43) ! -- inquire length of concat element set dist factor list
- parameter (EXELSP = 44) ! -- inquire number of properties stored per elem set
- parameter (EXNEDM = 45) ! -- inquire number of edge maps
- parameter (EXNFAM = 46) ! -- inquire number of face maps
- parameter (EXNCF = 47) ! -- inquire number of coordinate frames
- parameter (EXDBMXALNM = 48)! -- inquire size of MAX_NAME_LENGTH dimension on database
- parameter (EXDBMXUSNM = 49)! -- inquire max size of any name existing on database
- parameter (EXMXRDNM = 50) ! -- inquire user-specified max size of names returned; truncated if longer
-!
-! Define limits
-!
- integer MXSTLN, MXLNLN, MXNAME
-! MXSTLN - Maximum string length: used for store strings
- parameter (MXSTLN = 32)
-! MXLNLN - Maximum line string length
- parameter (MXLNLN = 80)
-! MXNAME - Maximum possible length of a name (due to netcdf NC_MAX_NAME)
- parameter (MXNAME = 256)
-!
-! properties
-!
- integer EXEBLK, EXNSET, EXSSET, EXEMAP, EXNMAP
-
- parameter (EXEBLK = 1) ! EXEBLK - element block property code
- parameter (EXNSET = 2) ! EXNSPR - node set property code
- parameter (EXSSET = 3) ! EXSSPR - side set property code
- parameter (EXEMAP = 4) ! EXEMAP - element map property code
- parameter (EXNMAP = 5) ! EXNMAP - node map property code
-!
-! Define options codes
-!
- integer EXVRBS, EXDEBG, EXABRT
-
- parameter (EXVRBS = 1) ! EXVRBS - verbose mode message flag
- parameter (EXDEBG = 2) ! EXDEBG - debug mode message flag
- parameter (EXABRT = 4) ! EXABRT - abort mode flag
-!
-! Define coordinate frames
-!
- integer EXCFREC, EXCFCYL, EXCFSPH
- parameter (EXCFREC = 1) ! Rectangular
- parameter (EXCFCYL = 2) ! Cylindrical
- parameter (EXCFSPH = 3) ! Spherical
-
-!
-! Define error return codes
-!
- integer EXFATL, EXOK, EXWARN
-
- parameter (EXFATL = -1) ! EXFATL - fatal error flag def
- parameter (EXOK = 0) ! EXOK - no err (success) flag def
- parameter (EXWARN = 1) ! EXWARN - warning flag def
-!
-! Define error return codes and flags
-!
- integer EXMEMF, EXBFMD, EXBFID, EXBTID, EXBPRM, EXNULL
- integer EXPMSG, EXLMSG
-
- parameter (EXMEMF = 1000) ! EXMEMF - memory allocation failure flag def
- parameter (EXBFMD = 1001) ! EXBFMD - wrong file mode
- parameter (EXBFID = 1002) ! EXBFID - bad file id def
- parameter (EXBTID = 1004) ! EXBTID - id table lookup failed
- parameter (EXBPRM = 1005) ! EXBPRM - bad parameter passed
- parameter (EXNULL = -1006) ! EXNULL - null entity found
- parameter (EXPMSG = -1000) ! EXPMSG - message print code - no error implied
- parameter (EXLMSG = -1001) ! EXLMSG - print last error message msg code
diff --git a/forbind/include/exodusII_int.inc b/forbind/include/exodusII_int.inc
deleted file mode 100644
index f117ec3..0000000
--- a/forbind/include/exodusII_int.inc
+++ /dev/null
@@ -1,167 +0,0 @@
-C*****************************************************************************
-C Copyright 1994 Sandia Corporation. Under the terms of Contract
-C DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-C retains certain rights in this software.
-C
-C See the COPYRIGHT file for copying and redistribution conditions.
-C
-C*****************************************************************************
-C
-C EXODUSII_INT - exodus II internals include file
-C
-C author - Victor R. Yarberry, Sandia National Laboratories
-C
-C environment - UNIX F77
-C
-C revision history -
-C
-C Based on original written by Lynn Clements (RE/SPEC)
-C
-C $Id: exodusII_int.inc,v 1.8 2008/07/24 21:40:41 gdsjaar Exp $
-C
-C*****************************************************************************
-C --
-C -- This file contains define constants that are used to refer to
-C -- netCDF variables, attributes, or dimensions in which the EXODUS
-C -- II data are stored. Using the defined constants will allow the
-C -- names of the netCDF entities to be changed easily in the future
-C -- if needed.
-C --
-C --Constants:
-C --
-C --ATTRIBUTES
-C --
-C -- A_TYPE The EXODUS II file type:
-C "r" = regular
-C "h" = history
-C -- A_TITLE The database title
-C -- A_VERSION The EXODUS II version number
-C -- A_NAMELB The element type name for a given element block
-C --
-C --DIMENSIONS
-C --
-C -- D_NUMNOD The number of nodes
-C -- D_NDIM The number of coordinates per node
-C -- D_NUMEL The number of elements
-C -- D_NELBLK the number of element blocks
-C -- D_NUMELB The number of elements in a given element block
-C -- D_NELNOD The number of nodes per element in a given element
-C -- block
-C -- D_NATRIB The number of attributes in a given element block
-C -- D_NUMESS The number of side sets
-C -- D_NEESS The number of elements in a given side set
-C -- D_NNESS The number of nodes in a given side set
-C -- D_NUMNPS The number of node sets
-C -- D_NNNPS The number of nodes in a given node set
-C -- D_NQAREC The number of QA records
-C -- D_NINFO The number of information records
-C -- D_NVARGL The number of global variables
-C -- D_NVARNP The number of nodal variables
-C -- D_NVAREL The number of element variables
-C -- D_NVARHI The number of history variables
-C -- D_N4 General dimension of length 4
-C -- D_STRLEN General dimension of length MXSTLN used for lengths
-C -- of names
-C -- D_LINLEN General dimension of length MXLNLN used for lengths
-C -- of long strings
-C -- D_TIMSTP The number of whole time steps
-C -- D_HTMSTP The number of history time steps
-C --
-C --VARIABLES
-C --
-C -- V_COORD The nodal coordinates
-C -- V_NAMECO The names of coordinates
-C -- V_IDEBLK The element block IDs
-C -- V_ICONK The element connectivity for a given element block
-C -- V_ATRIBK The list of attributes for a given element block
-C -- V_MAP The element order map
-C -- V_IDESS The side set Ids
-C -- V_FACESS The distribution factor for each node in a given
-C -- side set
-C -- V_ELSSET The list of elements in a given side set
-C -- V_NDSSET The list of nodes in a given side set
-C -- V_IDNPS The node set IDs
-C -- V_NODSET The list of nodes in a given node set
-C -- V_FNPS The list of distribution factors in a given node set
-C -- V_INFO The information records
-C -- V_TIMEHS The simulation times for history time steps
-C -- V_TIME The simulation times for whole time steps
-C -- V_QATITL The QA records
-C -- V_ISEVOK The element variable truth table
-C -- V_NAMEGV The names of global variables
-C -- V_VARGL The values of global variables
-C -- V_NAMENV The names of nodal variables
-C -- V_VARNP The values of nodal variables
-C -- V_NAMEEV The names of element variables
-C -- V_VAREL The values of element variables for a given element
-C -- block and given element within that block
-C -- V_NAMEHV The names of the history variables
-C -- V_VARHI The values of the history variables
-C --
-
- character A_TYPE*4, A_TITLE*5, A_VERSION*7, A_NAMELB*9,
- 1 D_NUMNOD*9, D_NDIM*7, D_NUMEL*8, D_NELBLK*10, D_NUMELB*13,
- 1 D_NELNOD*14, D_NATRIB*14, D_NUMESS*13, D_NEESS*9, D_NNESS*10,
- 1 D_NUMNPS*13, D_NNNPS*10, D_NQAREC*10, D_NINFO*8, D_NVARGL*11,
- 1 D_NVARNP*11, D_NVAREL*12, D_NVARHI*11, D_N4*4, D_STRLEN*10,
- 1 D_LINLEN*8, V_COORD*5, V_NAMECO*10, V_IDEBLK*9, V_ICONK*7,
- 1 V_ATRIBK*6, V_MAP*8, V_IDESS*12, V_FACESS*12, V_ELSSET*7,
- 1 V_NDSSET*7, V_IDNPS*12, V_NODSET*7, V_FNPS*12, V_INFO*12,
- 1 V_TIMEHS*9, V_TIME*10, V_QATITL*10, V_ISEVOK*12, V_NAMEGV*12,
- 1 V_VARGL*12, V_NAMENV*12, V_VARNP*12, V_NAMEEV*13, V_VAREL*13,
- 1 V_NAMEHV*12, V_VARHI*12, D_TIMSTP*9, D_HTMSTP*14
-
-c
-c Define attributes
-c
- parameter (A_TYPE = 'type', A_TITLE = 'title')
- parameter (A_VERSION = 'version')
-c
-c Define dimensions
-c
- parameter (D_NUMNOD = 'num_nodes', D_NDIM = 'num_dim')
- parameter (D_NUMEL ='num_elem')
- parameter (D_NELBLK = 'num_el_blk', D_NUMELB ='num_el_in_blk')
- parameter (D_NELNOD = 'num_nod_per_el')
- parameter (D_NATRIB = 'num_att_in_blk')
- parameter (D_NUMESS = 'num_side_sets', D_NEESS = 'num_el_ss')
- parameter (D_NNESS = 'num_nod_ss', D_NUMNPS = 'num_node_sets')
- parameter (D_NNNPS = 'num_nod_ns', D_NQAREC = 'num_qa_rec')
- parameter (D_NINFO = 'num_info', D_NVARGL ='num_glo_var')
- parameter (D_NVARNP = 'num_nod_var', D_NVAREL ='num_elem_var')
- parameter (D_NVARHI = 'num_his_var', D_N4 = 'four')
- parameter (D_STRLEN = 'len_string', D_LINLEN = 'len_line')
- parameter (D_TIMSTP = 'time_step', D_HTMSTP ='hist_time_step')
-c
-c Define variables
-c
- parameter (V_COORD = 'coord', V_NAMECO = 'coor_names')
- parameter (V_IDEBLK = 'el_blk_id', V_ICONK = 'connect')
- parameter (V_ATRIBK = 'attrib', A_NAMELB = 'elem_type')
- parameter (V_MAP ='elem_map', V_IDESS = 'side_set_ids')
- parameter (V_FACESS = 'dist_fact_ss')
- parameter (V_ELSSET = 'elem_ss', V_NDSSET = 'node_ss')
- parameter (V_IDNPS = 'node_set_ids', V_NODSET ='node_ns')
- parameter (V_FNPS = 'dist_fact_ns', V_INFO = 'info_records')
- parameter (V_TIMEHS = 'time_hist')
- parameter (V_TIME = 'time_whole', V_QATITL = 'qa_records')
- parameter (V_ISEVOK = 'elem_var_tab', V_NAMEGV ='name_glo_var')
- parameter (V_VARGL ='vals_glo_var', V_NAMENV = 'name_nod_var')
- parameter (V_VARNP = 'vals_nod_var')
- parameter (V_NAMEEV = 'name_elem_var', V_VAREL = 'vals_elem_var')
- parameter (V_NAMEHV = 'name_his_var', V_VARHI = 'vals_his_var')
-c
-c dummy character variables used through out EXODUS
-c
- character name*32
-
-c
-c dummy integer variables used throughout EXODUS
-c
- integer istart(3), icount(3), id
-c
-c declaration for various functions
-c
- integer chkfil
-
-
diff --git a/forbind/src/Imakefile b/forbind/src/Imakefile
deleted file mode 100644
index fea7803..0000000
--- a/forbind/src/Imakefile
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-
-/* Use *.h files in ../../cbind/include/ instead of installed *.h files */
-INCLUDES = IncRef-I../../cbind/include
-F77EXTRAOPTIONS = IncRef-I../include
-
-F77CPPFLAGS = F77CppFlags
-
-SRCS = exo_jack.c
-SRCSF = addrwrap.F
-
-OBJS = ${SRCS:.c=.o} ${SRCSF:.F=.o}
-LibraryTargetSubdirsCopy(libexoIIv2for.a,$(OBJS),../../)
-CleanupCapF(addrwrap.f)
-
-#if Build64BitAccess == YES
-/* Need to compile exo_jack.c without the -DBuild64 option
- * real* -> float* (actually void* since it handles both float* and double*)
- */
-exo_jack32.o: exo_jack.c
- $(CC) -o exo_jack32.o -c $(CFLAGS) -DDEFAULT_REAL_INT exo_jack.c
-
-all:: libexoIIv2for32.a
-libexoIIv2for32.a: exo_jack32.o
- $(AR) $@ $?
- $(_NULLCMD_)
- $(_NULLCMD_)
- $(CP) $@ ../../
-
-#endif
-
-/*
- * 32-bit build:
- * Compile exo_jack.c and put in libexoIIv2for.a archive.
- *
- * 64-bit build: (using 8-byte integer/real)
- * Compile addrwrap.F (contains main api name 'func'; calls 'func4' name)
- * Compile exo_jack.c with -DBuild64 (adds 4_ to function names)
- * -- put above two object files into libexoIIv2for.a
- *
- */
-
-DependTarget()
-
diff --git a/forbind/src/Makefile.standalone b/forbind/src/Makefile.standalone
deleted file mode 100644
index f58e3e7..0000000
--- a/forbind/src/Makefile.standalone
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-INCLUDES = -I../../cbind/include
-F77EXTRAOPTIONS = -I../include
-
-SRCS = exo_jack.c
-
-SRCSF = addrwrap.F
-
-OBJS = ${SRCS:.c=.o} ${SRCSF:.F=.o}
-
-all:: libexoIIv2for.a
-libexoIIv2for.a: $(OBJS)
- $(AR) $@ $?
- $(RANLIB) $@
- cp libexoIIv2for.a ../../
-
-clean::
- rm -f *.CKP *.ln *.BAK *.bak *.o *.M *.mod core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"*
-
-.SUFFIXES: .c .F .f
-.c.o:
- $(CC) -c $(CFLAGS) $*.c
-.f.o:
- $(FC) -c $(FFLAGS) $*.f
-.F.o:
- $(FC) -c $(DEFINES) $(FFLAGS) $*.F
-
-# ----------------------------------------------------------------------
-# dependencies generated by makedepend or sfmakedepend
-
diff --git a/forbind/src/addrwrap.F b/forbind/src/addrwrap.F
deleted file mode 100644
index 482e8ff..0000000
--- a/forbind/src/addrwrap.F
+++ /dev/null
@@ -1,3832 +0,0 @@
-C Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-C DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-C retains certain rights in this software.
-C
-C Redistribution and use in source and binary forms, with or without
-C modification, are permitted provided that the following conditions are
-C met:
-C
-C * Redistributions of source code must retain the above copyright
-C notice, this list of conditions and the following disclaimer.
-C
-C * Redistributions in binary form must reproduce the above
-C copyright notice, this list of conditions and the following
-C disclaimer in the documentation and/or other materials provided
-C with the distribution.
-C
-C * Neither the name of Sandia Corporation nor the names of its
-C contributors may be used to endorse or promote products derived
-C from this software without specific prior written permission.
-C
-C THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-C "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-C LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-C A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-C OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-C SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-C LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-C DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-C THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-C (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-C OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-C
-
- SUBROUTINE ADRDUM
- END
-
-#ifdef Build64
- SUBROUTINE EXCLOS (IDEXO, IERR)
-C
-C CLOSE EXODUS II FILE
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXCLOS4 (IDEXO4, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXCN2S (IDEXO, NSESS, NDESS, IXEESS, IXNESS,
- & LTEESS, LTNESS, LTSESS, IERR)
-C
-C CONVERT SIDE SET NODES TO SIDES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NSESS (*) ! (R)
- INTEGER NDESS (*) ! (R)
- INTEGER IXEESS (*) ! (R)
- INTEGER IXNESS (*) ! (R)
- INTEGER LTEESS (*) ! (R)
- INTEGER LTNESS (*) ! (R)
- INTEGER LTSESS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXCN2S4 (IDEXO4, NSESS, NDESS, IXEESS, IXNESS,
- & LTEESS, LTNESS, LTSESS, IERR4)
- IERR = IERR4
- END
-
- INTEGER FUNCTION EXCRE (PATH, ICMODE, ICOMPWS, IOWS, IERR)
-C
-C CREATE EXODUS II FILE
-C
- IMPLICIT NONE
- CHARACTER* (*) PATH ! (R)
- INTEGER ICMODE ! (R)
- INTEGER ICOMPWS ! (RW)
- INTEGER IOWS ! (RW)
- INTEGER IERR ! (W)
-
- INTEGER*4 EXCRE4
- EXTERNAL EXCRE4
- INTEGER*4 IRET4
- INTEGER IRET
- INTEGER*4 ICMODE4 ! (R)
- INTEGER*4 ICOMPWS4 ! (RW)
- INTEGER*4 IOWS4 ! (RW)
- INTEGER*4 IERR4 ! (W)
- INTEGER*4 IFLAG4
-
-C ... This is hardwired instead of getting from exodusII.inc due to compiler errors about
-C exopen/excre already having a type...
- integer EX_MAPS_INT64_API
- integer EX_BULK_INT64_API
- integer EX_IDS_INT64_API
- integer EX_INQ_INT64_API
- parameter (EX_MAPS_INT64_API= 8192) ! All maps (id, order, ...) store int64_t values
- parameter (EX_IDS_INT64_API = 16384) ! All entity ids
- parameter (EX_BULK_INT64_API= 32768) ! All integer bulk data
- parameter (EX_INQ_INT64_API = 65536) ! All integer inquire arguments
-
-C ... All wrapper routines are passing INTEGER*8, but at this
-C time, only the maps are supported...
- ICMODE4 = ICMODE
- IFLAG4 = EX_MAPS_INT64_API+EX_IDS_INT64_API+EX_BULK_INT64_API+
- * EX_INQ_INT64_API
- ICMODE4 = IOR(ICMODE4, IFLAG4)
-
-C ... This needs to be set explicitly since all wrapper routines
-C are passing REAL*8 and the exo_jack.c routines all take double*
- ICOMPWS4 = 8
- IOWS4 = IOWS
-
- IRET4 = EXCRE4 (PATH, ICMODE4, ICOMPWS4, IOWS4, IERR4)
- ICOMPWS = ICOMPWS4
- IOWS = IOWS4
- IERR = IERR4
- IRET = IRET4
- EXCRE = IRET
- END
-
- SUBROUTINE EXERR (MODNAM, MSG, ERRNUM)
-C
-C ERROR REPORTING
-C
- CHARACTER* (*) MODNAM ! (R)
- CHARACTER* (*) MSG ! (R)
- INTEGER ERRNUM ! (R)
-
- INTEGER*4 ERRNUM4 ! (R)
-
- ERRNUM4 = ERRNUM
- CALL EXERR4 (MODNAM, MSG, ERRNUM4)
- END
-
- SUBROUTINE EXGATM (IDEXO, TIME, IERR)
-C
-C READ ALL TIME VALUES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- REAL TIME (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGATM4 (IDEXO4, TIME, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGCNS (IDEXO, IDNPSS, NNNPS, NDNPS, IXNNPS,
- & IXDNPS, LTNNPS, FACNPS, IERR)
-C
-C READ CONCATENATED NODE SETS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDNPSS (*) ! (W)
- INTEGER NNNPS (*) ! (W)
- INTEGER NDNPS (*) ! (W)
- INTEGER IXNNPS (*) ! (W)
- INTEGER IXDNPS (*) ! (W)
- INTEGER LTNNPS (*) ! (W)
- REAL FACNPS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXGCNS4 (IDEXO4, IDNPSS, NNNPS, NDNPS, IXNNPS,
- & IXDNPS, LTNNPS, FACNPS, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXGFRM (IDEXO, NFRAME, IDSCF, COORD, ITAGS, IERR)
-C
-C READ COORDINATE FRAMES
-C
- implicit none
- include 'exodusII.inc'
-
- INTEGER IDEXO ! (R)
- INTEGER NFRAME ! (R)
- INTEGER IDSCF(*) ! (W)
- INTEGER ITAGS(*) ! (W)
- INTEGER IERR ! (W)
-
- REAL COORD(*) ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- integer*4 nframe4 ! (R)
- integer*4 itags4(1) ! (W)
- INTEGER*4 IERR4 ! (W)
-
- POINTER (PITAGS4, ITAGS4)
-
- idexo4 = idexo
-
- NFRAME = EXINQI (IDEXO, EXNCF)
- NFRAME4 = NFRAME
-
- CALL I4ALLOC (NFRAME, PITAGS4)
-
- call exgfrm4(idexo4, nframe4, idscf, coord, itags4, ierr4)
-
- CALL I4I8 (NFRAME, PITAGS4, ITAGS)
- ierr = ierr4
-
- END
-
- SUBROUTINE EXPFRM (IDEXO, NFRAME, IDSCF, COORD, ITAGS, IERR)
-C
-C DEFINE/WRITE COORDINATE FRAMES
-C
- implicit none
- include 'exodusII.inc'
-
- INTEGER IDEXO ! (R)
- INTEGER NFRAME ! (R)
- INTEGER IDSCF(*) ! (R)
- INTEGER ITAGS(*) ! (R)
- INTEGER IERR ! (W)
-
- REAL COORD(*) ! (R)
-
- INTEGER*4 IDEXO4 ! (R)
- integer*4 nframe4 ! (R)
- integer*4 itags4(1) ! (R)
- INTEGER*4 IERR4 ! (W)
-
- POINTER (PITAGS4, ITAGS4)
-
- idexo4 = idexo
- NFRAME4 = NFRAME
-
- CALL I8I4 (NFRAME, ITAGS, PITAGS4)
-
- call expfrm4(idexo4, nframe4, idscf, coord, itags4, ierr4)
-
- CALL I4FREE (PITAGS4)
- ierr = ierr4
-
- END
-
- SUBROUTINE EXGCON (IDEXO, NAMECO, IERR)
-C
-C READ COORDINATE NAMES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER* (*) NAMECO (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGCON4 (IDEXO4, NAMECO, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGCOR (IDEXO, XN, YN, ZN, IERR)
-C
-C READ NODAL COORDINATES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- REAL XN (*) ! (W)
- REAL YN (*) ! (W)
- REAL ZN (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGCOR4 (IDEXO4, XN, YN, ZN, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXGCSS (IDEXO, IDESSS, NSESS, NDESS, IXEESS,
- & IXDESS, LTEESS, LTSESS, FACESS, IERR)
-C
-C READ CONCATENATED SIDE SETS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESSS (*) ! (W)
- INTEGER NSESS (*) ! (W)
- INTEGER NDESS (*) ! (W)
- INTEGER IXEESS (*) ! (W)
- INTEGER IXDESS (*) ! (W)
- INTEGER LTEESS (*) ! (W)
- INTEGER LTSESS (*) ! (W)
- REAL FACESS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXGCSS4 (IDEXO4, IDESSS, NSESS, NDESS, IXEESS,
- & IXDESS, LTEESS, LTSESS, FACESS, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXGCSSF (IDEXO, IDESSS, NSESS, NDESS, IXEESS,
- & IXDESS, LTEESS, LTSESS, IERR)
-C
-C READ CONCATENATED SIDE SETS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESSS (*) ! (W)
- INTEGER NSESS (*) ! (W)
- INTEGER NDESS (*) ! (W)
- INTEGER IXEESS (*) ! (W)
- INTEGER IXDESS (*) ! (W)
- INTEGER LTEESS (*) ! (W)
- INTEGER LTSESS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXGCSSF4 (IDEXO4, IDESSS, NSESS, NDESS, IXEESS,
- & IXDESS, LTEESS, LTSESS, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXGEAT (IDEXO, IDELB, ATRIB, IERR)
-C
-C READ ELEMENT BLOCK ATTRIBUTES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB ! (R)
- REAL ATRIB (*) ! (NUMATR,NUMELB) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGEAT4 (IDEXO4, IDELB, ATRIB, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGEAN (IDEXO, IDELB, NATTR, NAMES, IERR)
-C
-C READ ELEMENT BLOCK ATTRIBUTES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB ! (R)
- INTEGER NATTR ! (R)
- CHARACTER* (*) NAMES (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NATTR4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NATTR4 = NATTR
- CALL EXGEAN4 (IDEXO4, IDELB, NATTR4, NAMES, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGEBI (IDEXO, IDELBS, IERR)
-C
-C READ ELEMENT BLOCK IDS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELBS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGEBI4 (IDEXO4, IDELBS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGELB (IDEXO, IDELB, NAMELB, NUMELB, NUMLNK,
- & NUMATR, IERR)
-C
-C READ ELEMENT BLOCK PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB ! (R)
- CHARACTER* (*) NAMELB ! (W)
- INTEGER NUMELB ! (W)
- INTEGER NUMLNK ! (W)
- INTEGER NUMATR ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGELB4 (IDEXO4, IDELB, NAMELB, NUMELB, NUMLNK,
- & NUMATR, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGELC (IDEXO, IDELB, LINK, IERR)
-C
-C READ ELEMENT BLOCK CONNECTIVITY
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB ! (R)
- INTEGER LINK (*) ! (NUMLNK,NUMELB) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGELC4 (IDEXO4, IDELB, LINK, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGECPP (IDEXO, ITYPE, IDELB, COUNTS, IERR)
-C
-C READ ENTITY_COUNT-PER-POLYHEDRA
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB ! (R)
- INTEGER ITYPE ! (R)
- INTEGER COUNTS (*) ! (NUMELB) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 COUNTS4 (1) ! (NUMELB) ! (W)
- POINTER (PCOUNTS4, COUNTS4)
- INTEGER*4 IERR4 ! (W)
-
- CHARACTER* (MXSTLN) NAMELB
-
- INTEGER NUMELB
- INTEGER NUMATR
- INTEGER NUMLNK
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
- CALL EXGELB4 (IDEXO4, IDELB, NAMELB, NUMELB, NUMLNK,
- & NUMATR, IERR4)
-
- CALL I4ALLOC (NUMELB, PCOUNTS4)
- CALL EXGECPP4 (IDEXO4, ITYPE4, IDELB, COUNTS4, IERR4)
- CALL I4I8 (NUMELB, PCOUNTS4, COUNTS)
- IERR = IERR4
- END
-
- SUBROUTINE EXGENM (IDEXO, MAPEL, IERR)
-C
-C READ ELEMENT NUMBER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPEL (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGENM4 (IDEXO4, MAPEL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGEM (IDEXO, MAPID, MAPEL, IERR)
-C
-C READ ELEMENT ORDER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPID ! (R)
- INTEGER MAPEL (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGEM4 (IDEXO4, MAPID, MAPEL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGPEM (IDEXO, MAPID, ISTART, ICOUNT, MAPEL, IERR)
-C
-C READ ELEMENT ORDER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPID ! (R)
- INTEGER ISTART ! (R)
- INTEGER ICOUNT ! (R)
- INTEGER MAPEL (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGPEM4 (IDEXO4, MAPID, ISTART, ICOUNT, MAPEL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGEV (IDEXO, ISTEP, IXELEV, IDELB, NUMELB,
- & VALEV, IERR)
-C
-C READ ELEMENT VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER IXELEV ! (R)
- INTEGER IDELB ! (R)
- INTEGER NUMELB ! (R)
- REAL VALEV (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 IXELEV4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- IXELEV4 = IXELEV
- CALL EXGEV4 (IDEXO4, ISTEP4, IXELEV4, IDELB, NUMELB,
- & VALEV, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGEVT (IDEXO, IXELEV, IELNUM, ISTPB, ISTPE,
- & VALEV, IERR)
-C
-C READ ELEMENT VARIABLE VALUES THROUGH TIME
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IXELEV ! (R)
- INTEGER IELNUM ! (R)
- INTEGER ISTPB ! (R)
- INTEGER ISTPE ! (R)
- REAL VALEV (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IXELEV4 ! (R)
- INTEGER*4 ISTPB4 ! (R)
- INTEGER*4 ISTPE4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- IXELEV4 = IXELEV
- ISTPB4 = ISTPB
- ISTPE4 = ISTPE
-
- CALL EXGEVT4 (IDEXO4, IXELEV4, IELNUM, ISTPB4, ISTPE4,
- & VALEV, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNSV (IDEXO, ISTEP, IXV, ID, NUM, VAL, IERR)
-C
-C READ NODESET VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER IXV ! (R)
- INTEGER ID ! (R)
- INTEGER NUM ! (R)
- REAL VAL (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 IXV4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- IXV4 = IXV
- CALL EXGNSV4 (IDEXO4, ISTEP4, IXV4, ID, NUM, VAL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGSSV (IDEXO, ISTEP, IXV, ID, NUM, VAL, IERR)
-C
-C READ SIDESET VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER IXV ! (R)
- INTEGER ID ! (R)
- INTEGER NUM ! (R)
- REAL VAL (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 IXV4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- IXV4 = IXV
- CALL EXGSSV4 (IDEXO4, ISTEP4, IXV4, ID, NUM, VAL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGGV (IDEXO, ISTEP, NVARGL, VALGV, IERR)
-C
-C READ GLOBAL VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER NVARGL ! (R)
- REAL VALGV (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 NVARGL4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- NVARGL4 = NVARGL
- CALL EXGGV4 (IDEXO4, ISTEP4, NVARGL4, VALGV, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGGVT (IDEXO, IXGLOV, ISTPB, ISTPE, VALGV, IERR)
-C
-C READ GLOBAL VARIABLE VALUES THROUGH TIME
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IXGLOV ! (R)
- INTEGER ISTPB ! (R)
- INTEGER ISTPE ! (R)
- REAL VALGV (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IXGLOV4 ! (R)
- INTEGER*4 ISTPB4 ! (R)
- INTEGER*4 ISTPE4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- IXGLOV4 = IXGLOV
- ISTPB4 = ISTPB
- ISTPE4 = ISTPE
- CALL EXGGVT4 (IDEXO4, IXGLOV4, ISTPB4, ISTPE4, VALGV, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGINF (IDEXO, INFO, IERR)
-C
-C READ INFORMATION RECORDS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER* (*) INFO (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGINF4 (IDEXO4, INFO, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGINI (IDEXO, TITLE, NDIM, NUMNP, NUMEL, NELBLK,
- & NUMNPS, NUMESS, IERR)
-C
-C READ INITIALIZATION PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER* (*) TITLE ! (W)
- INTEGER NDIM ! (W)
- INTEGER NUMNP ! (W)
- INTEGER NUMEL ! (W)
- INTEGER NELBLK ! (W)
- INTEGER NUMNPS ! (W)
- INTEGER NUMESS ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGINI4 (IDEXO4, TITLE, NDIM, NUMNP, NUMEL, NELBLK,
- & NUMNPS, NUMESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGMP (IDEXO, NNMAP, NEMAP, IERR)
-C
-C GET MAP PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NNMAP ! (W)
- INTEGER NEMAP ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NNMAP4 ! (W)
- INTEGER*4 NEMAP4 ! (W)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGMP4 (IDEXO4, NNMAP4, NEMAP4, IERR4)
- NNMAP = NNMAP4
- NEMAP = NEMAP4
- IERR = IERR4
- END
-
- SUBROUTINE EXPMP (IDEXO, NNMAP, NEMAP, IERR)
-C
-C PUT MAP PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NNMAP ! (W)
- INTEGER NEMAP ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NNMAP4 ! (W)
- INTEGER*4 NEMAP4 ! (W)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NNMAP4 = NNMAP
- NEMAP4 = NEMAP
- CALL EXPMP4 (IDEXO4, NNMAP4, NEMAP4, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGMAP (IDEXO, MAPEL, IERR)
-C
-C READ ELEMENT ORDER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPEL (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGMAP4 (IDEXO4, MAPEL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNNM (IDEXO, MAPNOD, IERR)
-C
-C READ NODE NUMBER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPNOD (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGNNM4 (IDEXO4, MAPNOD, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNM (IDEXO, MAPID, MAPNOD, IERR)
-C
-C READ NODE ORDER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPID ! (R)
- INTEGER MAPNOD (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGNM4 (IDEXO4, MAPID, MAPNOD, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNP (IDEXO, IDNPS, NNNPS, NDNPS, IERR)
-C
-C READ NODE SET PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDNPS ! (R)
- INTEGER NNNPS ! (W)
- INTEGER NDNPS ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGNP4 (IDEXO4, IDNPS, NNNPS, NDNPS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNS (IDEXO, IDNPS, LTNNPS, IERR)
-C
-C READ NODE SET
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDNPS ! (R)
- INTEGER LTNNPS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGNS4 (IDEXO4, IDNPS, LTNNPS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNSD (IDEXO, IDNPS, FACNPS, IERR)
-C
-C READ NODE SET DISTRIBUTION FACTORS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDNPS ! (R)
- REAL FACNPS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXGNSD4 (IDEXO4, IDNPS, FACNPS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNSI (IDEXO, IDNPSS, IERR)
-C
-C READ NODE SET IDS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDNPSS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGNSI4 (IDEXO4, IDNPSS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNV (IDEXO, ISTEP, IXNODV, NUMNP, VALNV, IERR)
-C
-C READ NODAL VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER IXNODV ! (R)
- INTEGER NUMNP ! (R)
- REAL VALNV (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 IXNODV4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- IXNODV4 = IXNODV
- CALL EXGNV4 (IDEXO4, ISTEP4, IXNODV4, NUMNP, VALNV, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNVT (IDEXO, IXNODV, NODNUM, ISTPB, ISTPE,
- & VALNV, IERR)
-C
-C READ NODAL VARIABLE VALUES THROUGH TIME
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IXNODV ! (R)
- INTEGER NODNUM ! (R)
- INTEGER ISTPB ! (R)
- INTEGER ISTPE ! (R)
- REAL VALNV (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IXNODV4 ! (R)
- INTEGER*4 ISTPB4 ! (R)
- INTEGER*4 ISTPE4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- IXNODV4 = IXNODV
- ISTPB4 = ISTPB
- ISTPE4 = ISTPE
- CALL EXGNVT4 (IDEXO4, IXNODV4, NODNUM, ISTPB4, ISTPE4,
- & VALNV, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGP (IDEXO, ITYPE, ID, NAMEPR, IVAL, IERR)
-C
-C READ OBJECT PROPERTY
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ITYPE ! (R)
- INTEGER ID ! (R)
- CHARACTER* (*) NAMEPR ! (R)
- INTEGER IVAL ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
- CALL EXGP4 (IDEXO4, ITYPE4, ID, NAMEPR, IVAL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGPA (IDEXO, ITYPE, NAMEPR, IVAL, IERR)
-C
-C READ OBJECT PROPERTY ARRAY
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ITYPE ! (R)
- CHARACTER* (*) NAMEPR ! (R)
- INTEGER IVAL (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
- CALL EXGPA4 (IDEXO4, ITYPE4, NAMEPR, IVAL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGPN (IDEXO, ITYPE, NAMEPR, IERR)
-C
-C READ PROPERTY ARRAY NAMES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ITYPE ! (R)
- CHARACTER* (*) NAMEPR (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
- CALL EXGPN4 (IDEXO4, ITYPE4, NAMEPR, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGQA (IDEXO, QAREC, IERR)
-C
-C READ QA RECORDS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER* (*) QAREC (4,*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGQA4 (IDEXO4, QAREC, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGSP (IDEXO, IDESS, NSESS, NDESS, IERR)
-C
-C READ SIDE SET PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESS ! (R)
- INTEGER NSESS ! (W)
- INTEGER NDESS ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGSP4 (IDEXO4, IDESS, NSESS, NDESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGSNL (IDEXO, IDESS, NNESS, IERR)
-C
-C GET SIDE SET NODELIST LENGTH
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESS ! (R)
- INTEGER NNESS ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGSNL4 (IDEXO4, IDESS, NNESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGSS (IDEXO, IDESS, LTEESS, LTSESS, IERR)
-C
-C READ SIDE SET
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESS ! (R)
- INTEGER LTEESS (*) ! (W)
- INTEGER LTSESS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGSS4 (IDEXO4, IDESS, LTEESS, LTSESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGSSD (IDEXO, IDESS, FACESS, IERR)
-C
-C READ SIDE SET DISTRIBUTION FACTORS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESS ! (R)
- REAL FACESS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGSSD4 (IDEXO4, IDESS, FACESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGSSI (IDEXO, IDESSS, IERR)
-C
-C READ SIDE SET IDS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESSS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGSSI4 (IDEXO4, IDESSS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGSSN (IDEXO, IDESS, INCNT, LTNESS, IERR)
-C
-C READ SIDE SET NODE LIST
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESS ! (R)
- INTEGER INCNT (*) ! (W)
- INTEGER LTNESS (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGSSN4 (IDEXO4, IDESS, INCNT, LTNESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGSSC (IDEXO, IDESS, INCNT, IERR)
-C
-C READ SIDE SET NODE LIST COUNT
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESS ! (R)
- INTEGER INCNT (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 INCNT4 (1) ! (W)
- POINTER (PINCNT4, INCNT4)
- INTEGER*4 IERR4 ! (W)
-
- integer*4 nsess4
- integer*4 ndess4
- INTEGER NINCNT
-
- IDEXO4 = IDEXO
- CALL EXGSP4 (IDEXO4, IDESS, NSESS4, NDESS4, IERR4)
- NINCNT = NSESS4
- CALL I4ALLOC (NINCNT, PINCNT4)
-
- CALL EXGSSC4 (IDEXO4, IDESS, INCNT4, IERR4)
-
- CALL I4I8 (NINCNT, PINCNT4, INCNT)
- IERR = IERR4
- END
-
- SUBROUTINE EXGCSSC (IDEXO, INCNT, IERR)
-C
-C READ CONCATENATED SIDE SET NODE COUNT LIST
-C (nodes/face for all faces)
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER INCNT (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 INCNT4 (1) ! (W)
- POINTER (PINCNT4, INCNT4)
- INTEGER*4 IERR4 ! (W)
-
- INTEGER NINCNT
-
- IDEXO4 = IDEXO
- NINCNT = EXINQI (IDEXO, EXSSEL)
-
- CALL I4ALLOC (NINCNT, PINCNT4)
-
- CALL EXGCSSC4 (IDEXO4, INCNT4, IERR4)
-
- CALL I4I8 (NINCNT, PINCNT4, INCNT)
- IERR = IERR4
- END
-
- SUBROUTINE EXGTIM (IDEXO, NSTEP, TIME, IERR)
-C
-C READ TIME VALUE FOR A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NSTEP ! (R)
- REAL TIME ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NSTEP4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NSTEP4 = NSTEP
- CALL EXGTIM4 (IDEXO4, NSTEP4, TIME, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGVAN (IDEXO, VARTYP, NVAR, NAMES, IERR)
-C
-C READ RESULTS VARIABLE NAMES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER*1 VARTYP ! (R)
- INTEGER NVAR ! (R)
- CHARACTER* (*) NAMES (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NVAR4 = NVAR
- CALL EXGVAN4 (IDEXO4, VARTYP, NVAR4, NAMES, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGVNM (IDEXO, VARTYP, NVAR, NAME, IERR)
-C
-C READ RESULTS VARIABLE NAME
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER*1 VARTYP ! (R)
- INTEGER NVAR ! (R)
- CHARACTER* (*) NAME ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NVAR4 = NVAR
- CALL EXGVNM4 (IDEXO4, VARTYP, NVAR4, NAME, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPVNM (IDEXO, VARTYP, NVAR, NAME, IERR)
-C
-C WRITE RESULTS VARIABLE NAME
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER*1 VARTYP ! (R)
- INTEGER NVAR ! (R)
- CHARACTER* (*) NAME ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NVAR4 = NVAR
- CALL EXPVNM4 (IDEXO4, VARTYP, NVAR4, NAME, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGVP (IDEXO, VARTYP, NVAR, IERR)
-C
-C READ RESULTS VARIABLE PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER*1 VARTYP ! (R)
- INTEGER NVAR ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NVAR4 ! (W)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXGVP4 (IDEXO4, VARTYP, NVAR4, IERR4)
- NVAR = NVAR4
- IERR = IERR4
- END
-
- SUBROUTINE EXGVTT (IDEXO, NELBLK, NVAREL, ISEVOK, IERR)
-C
-C READ ELEMENT VARIABLE TRUTH TABLE
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NELBLK ! (R)
- INTEGER NVAREL ! (R)
- INTEGER ISEVOK(*) ! (NVAREL,NELBLK) (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NELBLK4 ! (R)
- INTEGER*4 NVAREL4 ! (R)
- INTEGER*4 ISEVOK4(1) ! (NVAREL,NELBLK) (W)
- POINTER (PISEVOK4, ISEVOK4)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NELBLK4 = NELBLK
- NVAREL4 = NVAREL
- CALL I4ALLOC (NVAREL*NELBLK, PISEVOK4)
- CALL EXGVTT4 (IDEXO4, NELBLK4, NVAREL4, ISEVOK4, IERR4)
- CALL I4I8 (NVAREL*NELBLK, PISEVOK4, ISEVOK)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNSTT (IDEXO, NBLK, NVAR, ISVOK, IERR)
-C
-C READ NODESET VARIABLE TRUTH TABLE
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NBLK ! (R)
- INTEGER NVAR ! (R)
- INTEGER ISVOK(*) ! (NVAR,NBLK) (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NBLK4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 ISVOK4(1) ! (NVAR,NBLK) (W)
- POINTER (PISVOK4, ISVOK4)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NBLK4 = NBLK
- NVAR4 = NVAR
- CALL I4ALLOC (NVAR*NBLK, PISVOK4)
- CALL EXGNSTT4 (IDEXO4, NBLK4, NVAR4, ISVOK4, IERR4)
- CALL I4I8 (NVAR*NBLK, PISVOK4, ISVOK)
- IERR = IERR4
- END
-
- SUBROUTINE EXGSSTT (IDEXO, NBLK, NVAR, ISVOK, IERR)
-C
-C READ SIDESET VARIABLE TRUTH TABLE
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NBLK ! (R)
- INTEGER NVAR ! (R)
- INTEGER ISVOK(*) ! (NVAR,NBLK) (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NBLK4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 ISVOK4(1) ! (NVAR,NBLK) (W)
- POINTER (PISVOK4, ISVOK4)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NBLK4 = NBLK
- NVAR4 = NVAR
- CALL I4ALLOC (NVAR*NBLK, PISVOK4)
- CALL EXGSSTT4 (IDEXO4, NBLK4, NVAR4, ISVOK4, IERR4)
- CALL I4I8 (NVAR*NBLK, PISVOK4, ISVOK)
- IERR = IERR4
- END
-
- SUBROUTINE EXINQ (IDEXO, INFREQ, INTRET, RELRET, CHRRET, IERR)
-C
-C INQUIRE EXODUS PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER INFREQ ! (R)
- INTEGER INTRET ! (W)
- REAL RELRET ! (W)
- CHARACTER* (*) CHRRET ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 INFREQ4 ! (R)
- REAL*4 RELRET4 ! (W)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- INFREQ4 = INFREQ
- CALL EXINQ4 (IDEXO4, INFREQ4, INTRET, RELRET4, CHRRET, IERR4)
- RELRET = RELRET4
- IERR = IERR4
- END
-
- INTEGER FUNCTION EXINQI (IDEXO, INFREQ)
-C
-C INQUIRE EXODUS PARAMETERS
-C
- IMPLICIT NONE
- INTEGER IDEXO ! (R)
- INTEGER INFREQ ! (R)
-
- INTEGER*4 EXINQI4
- EXTERNAL EXINQI4
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 INFREQ4 ! (R)
-
- IDEXO4 = IDEXO
- INFREQ4 = INFREQ
- EXINQI = EXINQI4 (IDEXO4, INFREQ4)
- END
-
- INTEGER FUNCTION EXOPEN (PATH, IMODE, ICOMPWS, IOWS, VERS, IERR)
-C
-C OPEN EXODUS II FILE
-C
- IMPLICIT NONE
- CHARACTER* (*) PATH ! (R)
- INTEGER IMODE ! (R)
- INTEGER ICOMPWS ! (RW)
- INTEGER IOWS ! (RW)
- REAL VERS ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 EXOPEN4
- EXTERNAL EXOPEN4
- INTEGER*4 IRET4
- INTEGER IRET
- INTEGER*4 IMODE4 ! (R)
- INTEGER*4 ICOMPWS4 ! (RW)
- INTEGER*4 IOWS4 ! (RW)
- REAL*4 VERS4 ! (W)
- INTEGER*4 IERR4 ! (W)
- INTEGER*4 IFLAG4
-
-C ... This is hardwired instead of getting from exodusII.inc due to compiler errors about
-C exopen/excre already having a type...
- integer EX_MAPS_INT64_API
- integer EX_BULK_INT64_API
- integer EX_IDS_INT64_API
- integer EX_INQ_INT64_API
- parameter (EX_MAPS_INT64_API= 8192) ! All maps (id, order, ...) store int64_t values
- parameter (EX_IDS_INT64_API = 16384) ! All entity ids
- parameter (EX_BULK_INT64_API= 32768) ! All integer bulk data
- parameter (EX_INQ_INT64_API = 65536) ! All integer inquire arguments
-
- IMODE4 = IMODE
-
-C ... This needs to be set explicitly since all wrapper routines
-C are passing REAL*8 and the exo_jack.c routines all take double*
- ICOMPWS4 = 8
- IOWS4 = IOWS
-
-C ... All wrapper routines are passing INTEGER*8, but at this
-C time, only the maps are supported...
- IFLAG4 = EX_MAPS_INT64_API+EX_IDS_INT64_API+EX_BULK_INT64_API+
- * EX_INQ_INT64_API
- IMODE4 = IOR(IMODE4, IFLAG4)
-
- IRET4 = EXOPEN4 (PATH, IMODE4, ICOMPWS4, IOWS4, VERS4, IERR4)
- ICOMPWS = ICOMPWS4
- IOWS = IOWS4
- VERS = VERS4
- IERR = IERR4
- IRET = IRET4
- EXOPEN = IRET
- END
-
- INTEGER FUNCTION EXLGMD (IDEXO)
- IMPLICIT NONE
- INTEGER IDEXO ! (R)
- INTEGER IRET
-
- INTEGER*4 EXLGMD4
- EXTERNAL EXLGMD4
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IRET4
-
- IDEXO4 = IDEXO
- IRET4 = EXLGMD4(IDEXO4)
- IRET = IRET4
- EXLGMD = IRET
- END
-
- SUBROUTINE EXOPTS (OPTVAL, IERR)
-C
-C SET ERROR REPORTING LEVEL
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER OPTVAL ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 OPTVAL4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- OPTVAL4 = OPTVAL
- CALL EXOPTS4 (OPTVAL4, IERR4)
- IERR = IERR4
- END
-
-
- SUBROUTINE EXMXNM (IDEXO, LENGTH, IERR)
-C
-C SET MAXIMUM NAME LENGTH
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER LENGTH ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 LENGTH4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- LENGTH4 = LENGTH
- CALL EXMXNM4 (IDEXO4, LENGTH4, IERR4)
- IERR = IERR4
- END
-
-
- SUBROUTINE EXPCNS (IDEXO, IDNPSS, NNNPS, NDNPS, IXNNPS,
- & IXDNPS, LTNNPS, FACNPS, IERR)
-C
-C WRITE CONCATENATED NODE SETS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDNPSS (*) ! (R)
- INTEGER NNNPS (*) ! (R)
- INTEGER NDNPS (*) ! (R)
- INTEGER IXNNPS (*) ! (R)
- INTEGER IXDNPS (*) ! (R)
- INTEGER LTNNPS (*) ! (R)
- REAL FACNPS (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXPCNS4 (IDEXO4, IDNPSS, NNNPS, NDNPS, IXNNPS,
- & IXDNPS, LTNNPS, FACNPS, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXPCON (IDEXO, NAMECO, IERR)
-C
-C WRITE COORDINATE NAMES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER* (*) NAMECO (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXPCON4 (IDEXO4, NAMECO, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXPCOR (IDEXO, XN, YN, ZN, IERR)
-C
-C WRITE NODAL COORDINATES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- REAL XN (*) ! (R)
- REAL YN (*) ! (R)
- REAL ZN (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXPCOR4 (IDEXO4, XN, YN, ZN, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXPCSS (IDEXO, IDESSS, NSESS, NDESS, IXEESS,
- & IXDESS, LTEESS, LTSESS, FACESS, IERR)
-C
-C WRITE CONCATENATED SIDE SETS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESSS (*) ! (R)
- INTEGER NSESS (*) ! (R)
- INTEGER NDESS (*) ! (R)
- INTEGER IXEESS (*) ! (R)
- INTEGER IXDESS (*) ! (R)
- INTEGER LTEESS (*) ! (R)
- INTEGER LTSESS (*) ! (R)
- REAL FACESS (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXPCSS4 (IDEXO4, IDESSS, NSESS, NDESS, IXEESS,
- & IXDESS, LTEESS, LTSESS, FACESS, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXPEAT (IDEXO, IDELB, ATRIB, IERR)
-C
-C WRITE ELEMENT BLOCK ATTRIBUTES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB ! (R)
- REAL ATRIB(*) ! (NUMATR,NUMELB) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXPEAT4 (IDEXO4, IDELB, ATRIB, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXPEAN (IDEXO, IDELB, NATTR, NAMES, IERR)
-C
-C WRITE ELEMENT BLOCK ATTRIBUTE NAMES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB ! (R)
- INTEGER NATTR ! (R)
- CHARACTER* (*) NAMES (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NATTR4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NATTR4 = NATTR
-
- CALL EXPEAN4 (IDEXO4, IDELB, NATTR4, NAMES, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXPCLB (IDEXO, IDELB, NAMELB, NUMELB, NUMLNK,
- & NUMATR, MKMAP, IERR)
-C
-C WRITE ELEMENT BLOCK PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB(*) ! (R)
- CHARACTER*(*) NAMELB(*) ! (R)
- INTEGER NUMELB(*) ! (R)
- INTEGER NUMLNK(*) ! (R)
- INTEGER NUMATR(*) ! (R)
- INTEGER MKMAP ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 MKMAP4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- MKMAP4 = MKMAP
-
- CALL EXPCLB4 (IDEXO4, IDELB, NAMELB, NUMELB, NUMLNK,
- & NUMATR, MKMAP4, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPELB (IDEXO, IDELB, NAMELB, NUMELB, NUMLNK,
- & NUMATR, IERR)
-C
-C WRITE ELEMENT BLOCK PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB ! (R)
- CHARACTER* (*) NAMELB ! (R)
- INTEGER NUMELB ! (R)
- INTEGER NUMLNK ! (R)
- INTEGER NUMATR ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXPELB4 (IDEXO4, IDELB, NAMELB, NUMELB, NUMLNK,
- & NUMATR, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXPELC (IDEXO, IDELB, LINK, IERR)
-C
-C WRITE ELEMENT BLOCK CONNECTIVITY
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDELB ! (R)
- INTEGER LINK (*) ! (NUMLNK,NUMELB) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXPELC4 (IDEXO4, IDELB, LINK, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXPECPP (IDEXO, ITYPE, IDELB, COUNTS, IERR)
-C
-C WRITE ELEMENT BLOCK ELEMENT COUNT PER POLYHEDRA
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ITYPE ! (R)
- INTEGER IDELB ! (R)
- INTEGER COUNTS (*) ! (NUMELB) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 COUNTS4 (1) ! (NUMELB) ! (R)
- POINTER (PCOUNTS4, COUNTS4)
- INTEGER*4 IERR4 ! (W)
-
- CHARACTER* (MXSTLN) NAMELB
-
- INTEGER NUMELB
- INTEGER NUMLNK
- INTEGER NUMATR
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
-
- CALL EXGELB4 (IDEXO4, IDELB, NAMELB, NUMELB, NUMLNK,
- & NUMATR, IERR4)
-
- CALL I8I4 (NUMELB, COUNTS, PCOUNTS4)
- CALL EXPECPP4 (IDEXO4, ITYPE4, IDELB, COUNTS4, IERR4)
- CALL I4FREE (PCOUNTS4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPENM (IDEXO, MAPEL, IERR)
-C
-C WRITE ELEMENT NUMBER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPEL (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPENM4 (IDEXO4, MAPEL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPEM (IDEXO, MAPID, MAPEL, IERR)
-C
-C WRITE ELEMENT NUMBER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPID ! (R)
- INTEGER MAPEL (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPEM4 (IDEXO4, MAPID, MAPEL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPPEM (IDEXO, MAPID, ISTART, ICOUNT, MAPEL, IERR)
-C
-C WRITE ELEMENT NUMBER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPID ! (R)
- INTEGER ISTART ! (R)
- INTEGER ICOUNT ! (R)
- INTEGER MAPEL (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
-
- CALL EXPPEM4 (IDEXO4, MAPID, ISTART, ICOUNT, MAPEL, IERR4)
-
- IERR = IERR4
- END
-
- SUBROUTINE EXPEV (IDEXO, ISTEP, IXELEV, IDELB, NUMELB,
- & VALEV, IERR)
-C
-C WRITE ELEMENT VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER IXELEV ! (R)
- INTEGER IDELB ! (R)
- INTEGER NUMELB ! (R)
- REAL VALEV (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 IXELEV4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- IXELEV4 = IXELEV
- CALL EXPEV4 (IDEXO4, ISTEP4, IXELEV4, IDELB, NUMELB,
- & VALEV, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPNSV (IDEXO, ISTEP, IXV, ID, NUM, VAL, IERR)
-C
-C WRITE NODESET VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER IXV ! (R)
- INTEGER ID ! (R)
- INTEGER NUM ! (R)
- REAL VAL (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 IXV4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- IXV4 = IXV
- CALL EXPNSV4 (IDEXO4, ISTEP4, IXV4, ID, NUM, VAL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPSSV (IDEXO, ISTEP, IXV, ID, NUM, VAL, IERR)
-C
-C WRITE SIDESET VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER IXV ! (R)
- INTEGER ID ! (R)
- INTEGER NUM ! (R)
- REAL VAL (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 IXV4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- IXV4 = IXV
- CALL EXPSSV4 (IDEXO4, ISTEP4, IXV4, ID, NUM, VAL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPGV (IDEXO, ISTEP, NVARGL, VALGV, IERR)
-C
-C WRITE GLOBAL VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER NVARGL ! (R)
- REAL VALGV (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 NVARGL4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- NVARGL4 = NVARGL
- CALL EXPGV4 (IDEXO4, ISTEP4, NVARGL4, VALGV, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPINF (IDEXO, NINFO, INFO, IERR)
-C
-C WRITE INFORMATION RECORDS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NINFO ! (R)
- CHARACTER* (*) INFO (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NINFO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NINFO4 = NINFO
- CALL EXPINF4 (IDEXO4, NINFO4, INFO, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPINI (IDEXO, TITLE, NDIM, NUMNP, NUMEL, NELBLK,
- & NUMNPS, NUMESS, IERR)
-C
-C WRITE INITIALIZATION PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER* (*) TITLE ! (R)
- INTEGER NDIM ! (R)
- INTEGER NUMNP ! (R)
- INTEGER NUMEL ! (R)
- INTEGER NELBLK ! (R)
- INTEGER NUMNPS ! (R)
- INTEGER NUMESS ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPINI4 (IDEXO4, TITLE, NDIM, NUMNP, NUMEL, NELBLK,
- & NUMNPS, NUMESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPMAP (IDEXO, MAPEL, IERR)
-C
-C WRITE ELEMENT ORDER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPEL (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPMAP4 (IDEXO4, MAPEL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPNNM (IDEXO, MAPNOD, IERR)
-C
-C WRITE NODE NUMBER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPNOD (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPNNM4 (IDEXO4, MAPNOD, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPNM (IDEXO, MAPID, MAPNOD, IERR)
-C
-C WRITE NODE NUMBER MAP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER MAPID ! (R)
- INTEGER MAPNOD (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPNM4 (IDEXO4, MAPID, MAPNOD, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPNP (IDEXO, IDNPS, NNNPS, NDNPS, IERR)
-C
-C WRITE NODE SET PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDNPS ! (R)
- INTEGER NNNPS ! (R)
- INTEGER NDNPS ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPNP4 (IDEXO4, IDNPS, NNNPS, NDNPS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPNS (IDEXO, IDNPS, LTNNPS, IERR)
-C
-C WRITE NODE SET
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDNPS ! (R)
- INTEGER LTNNPS (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPNS4 (IDEXO4, IDNPS, LTNNPS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPNSD (IDEXO, IDNPS, FACNPS, IERR)
-C
-C WRITE NODE SET DISTRIBUTION FACTORS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDNPS ! (R)
- REAL FACNPS (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPNSD4 (IDEXO4, IDNPS, FACNPS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPNV (IDEXO, ISTEP, IXNODV, NUMNP, VALNV, IERR)
-C
-C WRITE NODAL VARIABLE VALUES AT A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ISTEP ! (R)
- INTEGER IXNODV ! (R)
- INTEGER NUMNP ! (R)
- REAL VALNV (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ISTEP4 ! (R)
- INTEGER*4 IXNODV4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ISTEP4 = ISTEP
- IXNODV4 = IXNODV
- CALL EXPNV4 (IDEXO4, ISTEP4, IXNODV4, NUMNP, VALNV, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPP (IDEXO, ITYPE, ID, NAMEPR, IVAL, IERR)
-C
-C WRITE OBJECT PROPERTY
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ITYPE ! (R)
- INTEGER ID ! (R)
- CHARACTER* (*) NAMEPR ! (R)
- INTEGER IVAL ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
- CALL EXPP4 (IDEXO4, ITYPE4, ID, NAMEPR, IVAL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPPA (IDEXO, ITYPE, NAMEPR, IVAL, IERR)
-C
-C WRITE OBJECT PROPERTY ARRAY
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ITYPE ! (R)
- CHARACTER* (*) NAMEPR ! (R)
- INTEGER IVAL (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
- CALL EXPPA4 (IDEXO4, ITYPE4, NAMEPR, IVAL, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPPN (IDEXO, ITYPE, NPROPS, NAMEPR, IERR)
-C
-C WRITE PROPERTY ARRAY NAMES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER ITYPE ! (R)
- INTEGER NPROPS ! (R)
- CHARACTER* (*) NAMEPR (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 NPROPS4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
- NPROPS4 = NPROPS
- CALL EXPPN4 (IDEXO4, ITYPE4, NPROPS4, NAMEPR, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPQA (IDEXO, NQAREC, QAREC, IERR)
-C
-C WRITE QA RECORDS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NQAREC ! (R)
- CHARACTER* (*) QAREC (4,*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NQAREC4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NQAREC4 = NQAREC
- CALL EXPQA4 (IDEXO4, NQAREC4, QAREC, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPSP (IDEXO, IDESS, NSESS, NDESS, IERR)
-C
-C WRITE SIDE SET PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESS ! (R)
- INTEGER NSESS ! (R)
- INTEGER NDESS ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPSP4 (IDEXO4, IDESS, NSESS, NDESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPSS (IDEXO, IDESS, LTEESS, LTSESS, IERR)
-C
-C WRITE SIDE SET
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESS ! (R)
- INTEGER LTEESS (*) ! (R)
- INTEGER LTSESS (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPSS4 (IDEXO4, IDESS, LTEESS, LTSESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPSSD (IDEXO, IDESS, FACESS, IERR)
-C
-C WRITE SIDE SET DISTRIBUTION FACTORS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IDESS ! (R)
- REAL FACESS (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXPSSD4 (IDEXO4, IDESS, FACESS, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPTIM (IDEXO, NSTEP, TIME, IERR)
-C
-C WRITE TIME VALUE FOR A TIME STEP
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NSTEP ! (R)
- REAL TIME ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NSTEP4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NSTEP4 = NSTEP
- CALL EXPTIM4 (IDEXO4, NSTEP4, TIME, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPVAN (IDEXO, VARTYP, NVAR, NAMES, IERR)
-C
-C WRITE RESULTS VARIABLE NAMES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER*1 VARTYP ! (R)
- INTEGER NVAR ! (R)
- CHARACTER* (*) NAMES (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NVAR4 = NVAR
- CALL EXPVAN4 (IDEXO4, VARTYP, NVAR4, NAMES, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPVP (IDEXO, VARTYP, NVAR, IERR)
-C
-C WRITE RESULTS VARIABLE PARAMETERS
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- CHARACTER*1 VARTYP ! (R)
- INTEGER NVAR ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NVAR4 = NVAR
- CALL EXPVP4 (IDEXO4, VARTYP, NVAR4, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPVTT (IDEXO, NELBLK, NVAREL, ISEVOK, IERR)
-C
-C WRITE ELEMENT VARIABLE TRUTH TABLE
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NELBLK ! (R)
- INTEGER NVAREL ! (R)
- INTEGER ISEVOK (*) ! (NVAREL,NELBLK) (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NELBLK4 ! (R)
- INTEGER*4 NVAREL4 ! (R)
- INTEGER*4 ISEVOK4 (1) ! (NVAREL,NELBLK) (R)
- POINTER (PISEVOK4, ISEVOK4)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NELBLK4 = NELBLK
- NVAREL4 = NVAREL
- CALL I8I4 (NVAREL*NELBLK, ISEVOK, PISEVOK4)
- CALL EXPVTT4 (IDEXO4, NELBLK4, NVAREL4, ISEVOK4, IERR4)
- CALL I4FREE (PISEVOK4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPNSTT (IDEXO, NBLK, NVAR, ISVOK, IERR)
-C
-C WRITE NODESET VARIABLE TRUTH TABLE
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NBLK ! (R)
- INTEGER NVAR ! (R)
- INTEGER ISVOK (*) ! (NVAR,NBLK) (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NBLK4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 ISVOK4 (1) ! (NVAR,NBLK) (R)
- POINTER (PISVOK4, ISVOK4)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NBLK4 = NBLK
- NVAR4 = NVAR
- CALL I8I4 (NVAR*NBLK, ISVOK, PISVOK4)
- CALL EXPNSTT4 (IDEXO4, NBLK4, NVAR4, ISVOK4, IERR4)
- CALL I4FREE (PISVOK4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPSSTT (IDEXO, NBLK, NVAR, ISVOK, IERR)
-C
-C WRITE SIDESET VARIABLE TRUTH TABLE
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NBLK ! (R)
- INTEGER NVAR ! (R)
- INTEGER ISVOK (*) ! (NVAR,NBLK) (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 NBLK4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 ISVOK4 (1) ! (NVAR,NBLK) (R)
- POINTER (PISVOK4, ISVOK4)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- NBLK4 = NBLK
- NVAR4 = NVAR
- CALL I8I4 (NVAR*NBLK, ISVOK, PISVOK4)
- CALL EXPSSTT4 (IDEXO4, NBLK4, NVAR4, ISVOK4, IERR4)
- CALL I4FREE (PISVOK4)
- IERR = IERR4
- END
-
- SUBROUTINE EXGNAMS (IDEXO, ITYPE, NVAR, NAMES, IERR)
-C
-C READ OBJECT NAMES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NVAR ! (R)
- INTEGER ITYPE ! (R)
- CHARACTER* (*) NAMES (*) ! (W)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
- NVAR4 = NVAR
- CALL EXGNAMS4 (IDEXO4, ITYPE4, NVAR4, NAMES, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXPNAMS (IDEXO, ITYPE, NVAR, NAMES, IERR)
-C
-C WRITE OBJECT NAMES
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER NVAR ! (R)
- INTEGER ITYPE ! (R)
- CHARACTER* (*) NAMES (*) ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 ITYPE4 ! (R)
- INTEGER*4 NVAR4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- ITYPE4 = ITYPE
- NVAR4 = NVAR
- CALL EXPNAMS4 (IDEXO4, ITYPE4, NVAR4, NAMES, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXUPDA (IDEXO, IERR)
-C
-C UPDATE EXODUS II FILE
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO4 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO4 = IDEXO
- CALL EXUPDA4 (IDEXO4, IERR4)
- IERR = IERR4
- END
-
- SUBROUTINE EXCOPY (IDEXO1, IDEXO2, IERR)
-C
-C COPY EXODUS II FILE
-C
- IMPLICIT NONE
- INCLUDE 'exodusII.inc'
- INTEGER IDEXO1 ! (R)
- INTEGER IDEXO2 ! (R)
- INTEGER IERR ! (W)
-
- INTEGER*4 IDEXO14 ! (R)
- INTEGER*4 IDEXO24 ! (R)
- INTEGER*4 IERR4 ! (W)
-
- IDEXO14 = IDEXO1
- IDEXO24 = IDEXO2
- CALL EXCOPY4 (IDEXO14, IDEXO24, IERR4)
- IERR = IERR4
- END
-
-
-C-----------------------------------------------------------------------
-C
-C Get initial information from nemesis file
-C
- subroutine exgii (idexo, nproc, nproc_in_f, ftype, ierr)
- implicit none
- integer idexo
- integer nproc
- integer nproc_in_f
- character*(*) ftype
- integer ierr
-C
- integer*4 idexo4
- integer*4 nproc4
- integer*4 nproc_in_f4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgii4 (idexo4, nproc4, nproc_in_f4, ftype, ierr4)
- nproc = nproc4
- nproc_in_f = nproc_in_f4
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write initial information from nemesis file
-C
- subroutine expii (idexo, nproc, nproc_in_f, ftype, ierr)
- implicit none
- integer idexo
- integer nproc
- integer nproc_in_f
- character*(*) ftype
- integer ierr
-C
- integer*4 idexo4
- integer*4 nproc4
- integer*4 nproc_in_f4
- integer*4 ierr4
-C
- idexo4 = idexo
- nproc4 = nproc
- nproc_in_f4 = nproc_in_f
- call expii4 (idexo4, nproc4, nproc_in_f4, ftype, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read initial global information
-C
- subroutine exgig (idexo, nnodes_g, nelems_g, nelem_blks_g,
- $ nnode_sets_g, nside_sets_g, ierr)
- implicit none
- integer idexo
- integer nnodes_g
- integer nelems_g
- integer nelem_blks_g
- integer nnode_sets_g
- integer nside_sets_g
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgig4 (idexo4, nnodes_g, nelems_g, nelem_blks_g,
- $ nnode_sets_g, nside_sets_g, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write initial global information
-C
- subroutine expig (idexo, nnodes_g, nelems_g, nelem_blks_g,
- $ nnode_sets_g, nside_sets_g, ierr)
- implicit none
- integer idexo
- integer nnodes_g
- integer nelems_g
- integer nelem_blks_g
- integer nnode_sets_g
- integer nside_sets_g
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expig4 (idexo4, nnodes_g, nelems_g, nelem_blks_g,
- $ nnode_sets_g, nside_sets_g, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read load balance parameters
-C
- subroutine exglbp (idexo, nint_nodes, nbor_nodes, next_nodes,
- $ nint_elems, nbor_elems, nnode_cmaps, nelem_cmaps,
- $ processor, ierr)
- implicit none
- integer idexo
- integer nint_nodes
- integer nbor_nodes
- integer next_nodes
- integer nint_elems
- integer nbor_elems
- integer nnode_cmaps
- integer nelem_cmaps
- integer processor
- integer ierr
-C
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call exglbp4 (idexo4, nint_nodes, nbor_nodes, next_nodes,
- $ nint_elems, nbor_elems, nnode_cmaps, nelem_cmaps,
- $ processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write load balance parameters
-C
- subroutine explbp (idexo, nint_nodes, nbor_nodes, next_nodes,
- $ nint_elems, nbor_elems, nnode_cmaps, nelem_cmaps,
- $ processor, ierr)
- implicit none
- integer idexo
- integer nint_nodes
- integer nbor_nodes
- integer next_nodes
- integer nint_elems
- integer nbor_elems
- integer nnode_cmaps
- integer nelem_cmaps
- integer processor
- integer ierr
-C
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call explbp4 (idexo4, nint_nodes, nbor_nodes, next_nodes,
- $ nint_elems, nbor_elems, nnode_cmaps, nelem_cmaps,
- $ processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write concatenated load balance parameters
-C
- subroutine explbpc (idexo, nint_nodes, nbor_nodes, next_nodes,
- $ nint_elems, nbor_elems, nnode_cmaps, nelem_cmaps, ierr)
- implicit none
- integer idexo
- integer nint_nodes(*)
- integer nbor_nodes(*)
- integer next_nodes(*)
- integer nint_elems(*)
- integer nbor_elems(*)
- integer nnode_cmaps(*)
- integer nelem_cmaps(*)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call explbpc4 (idexo4, nint_nodes, nbor_nodes, next_nodes,
- $ nint_elems, nbor_elems, nnode_cmaps, nelem_cmaps,
- $ ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read global node set parameters
-C
- subroutine exgnspg (idexo, ns_ids_glob, ns_n_cnt_glob,
- $ ns_df_cnt_glob, ierr)
- implicit none
- integer idexo
- integer ns_ids_glob(*)
- integer ns_n_cnt_glob(*)
- integer ns_df_cnt_glob(*)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgnspg4 (idexo4, ns_ids_glob, ns_n_cnt_glob,
- $ ns_df_cnt_glob, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write global node set parameters
-C
- subroutine expnspg (idexo, global_ids, global_n_cnts,
- $ global_df_cnts, ierr)
- integer idexo
- integer global_ids(*)
- integer global_n_cnts(*)
- integer global_df_cnts(*)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expnspg4 (idexo4, global_ids, global_n_cnts,
- $ global_df_cnts, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read global side set parameters
-C
- subroutine exgsspg (idexo, ss_ids_glob, ss_n_cnt_glob,
- $ ss_df_cnt_glob, ierr)
- implicit none
- integer idexo
- integer ss_ids_glob(*)
- integer ss_n_cnt_glob(*)
- integer ss_df_cnt_glob(*)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgsspg4 (idexo4, ss_ids_glob, ss_n_cnt_glob,
- $ ss_df_cnt_glob, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write global side set parameters
-C
- subroutine expsspg (idexo, global_ids, global_el_cnts,
- $ global_df_cnts, ierr)
- implicit none
- integer idexo
- integer global_ids(*)
- integer global_el_cnts(*)
- integer global_df_cnts(*)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expsspg4 (idexo4, global_ids, global_el_cnts,
- $ global_df_cnts, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read global element block information
-C
- subroutine exgebig (idexo, el_blk_ids, el_blk_cnts, ierr)
- implicit none
- integer idexo
- integer el_blk_ids(*)
- integer el_blk_cnts(*)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgebig4 (idexo4, el_blk_ids, el_blk_cnts, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write global element block information
-C
- subroutine expebig (idexo, el_blk_ids, el_blk_cnts, ierr)
- implicit none
- integer idexo
- integer el_blk_ids(*)
- integer el_blk_cnts(*)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expebig4 (idexo4, el_blk_ids, el_blk_cnts, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read side set element list and side set side list
-C
- subroutine exgnss (idexo, ss_id, start_side_num, num_sides,
- $ ss_elem_list, ss_side_list, ierr)
- implicit none
- integer idexo
- integer ss_id
- integer start_side_num
- integer num_sides
- integer ss_elem_list(num_sides)
- integer ss_side_list(num_sides)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgnss4 (idexo4, ss_id, start_side_num, num_sides,
- $ ss_elem_list, ss_side_list, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write side set element list and side set side list
-C
- subroutine expnss (idexo, ss_id, start_side_num, num_sides,
- $ ss_elem_list, ss_side_list, ierr)
- implicit none
- integer idexo
- integer ss_id
- integer start_side_num
- integer num_sides
- integer ss_elem_list(num_sides)
- integer ss_side_list(num_sides)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expnss4 (idexo4, ss_id, start_side_num, num_sides,
- $ ss_elem_list, ss_side_list, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read side set distribution factor
-C
- subroutine exgnssd (idexo, ss_id, start_num, num_df_to_get,
- $ ss_df, ierr)
- implicit none
- integer idexo
- integer ss_id
- integer start_num
- integer num_df_to_get
- real ss_df(num_df_to_get)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgnssd4 (idexo4, ss_id, start_num, num_df_to_get,
- $ ss_df, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write side set distribution factor
-C
- subroutine expnssd (idexo, ss_id, start_num, num_df_to_get,
- $ ss_df, ierr)
- implicit none
- integer idexo
- integer ss_id
- integer start_num
- integer num_df_to_get
- real ss_df(num_df_to_get)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expnssd4 (idexo4, ss_id, start_num, num_df_to_get,
- $ ss_df, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read node set list for a single node set
-C
- subroutine exgnns (idexo, ns_id, start_node_num, num_node,
- $ ns_node_list, ierr)
- implicit none
- integer idexo
- integer ns_id
- integer start_node_num
- integer num_node
- integer ns_node_list(num_node)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgnns4 (idexo4, ns_id, start_node_num, num_node,
- $ ns_node_list, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write node set list for a single node set
-C
- subroutine expnns (idexo, ns_id, start_node_num, num_node,
- $ ns_node_list, ierr)
- implicit none
- integer idexo
- integer ns_id
- integer start_node_num
- integer num_node
- integer ns_node_list(num_node)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expnns4 (idexo4, ns_id, start_node_num, num_node,
- $ ns_node_list, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read node set distribution factor
-C
- subroutine exgnnsd (idexo, ns_id, start_num, num_df_to_get,
- $ ns_df, ierr)
- implicit none
- integer idexo
- integer ns_id
- integer start_num
- integer num_df_to_get
- real ns_df(num_df_to_get)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgnnsd4 (idexo4, ns_id, start_num, num_df_to_get,
- $ ns_df, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write node set distribution factor
-C
- subroutine expnnsd (idexo, ns_id, start_num, num_df_to_get,
- $ ns_df, ierr)
- implicit none
- integer idexo
- integer ns_id
- integer start_num
- integer num_df_to_get
- real ns_df(num_df_to_get)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expnnsd4 (idexo4, ns_id, start_num, num_df_to_get,
- $ ns_df, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read coordinates of the nodes
-C
- subroutine exgncor (idexo, start_node_num, num_nodes, x_coor,
- $ y_coor, z_coor, ierr)
- implicit none
- integer idexo
- integer start_node_num
- integer num_nodes
- real x_coor(num_nodes)
- real y_coor(num_nodes)
- real z_coor(num_nodes)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgcor4 (idexo4, start_node_num, num_nodes, x_coor,
- $ y_coor, z_coor, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write coordinates of the nodes
-C
- subroutine expncor (idexo, start_node_num, num_nodes, x_coor,
- $ y_coor, z_coor, ierr)
- implicit none
- integer idexo
- integer start_node_num
- integer num_nodes
- real x_coor(num_nodes)
- real y_coor(num_nodes)
- real z_coor(num_nodes)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expcor4 (idexo4, start_node_num, num_nodes, x_coor,
- $ y_coor, z_coor, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read an element blocks connectivity list
-C
- subroutine exgnec (idexo, elem_blk_id, start_elem_num,
- $ num_elems, connect, ierr)
- implicit none
- integer idexo
- integer elem_blk_id
- integer start_elem_num
- integer num_elems
- integer connect(num_elems)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgnec4 (idexo4, elem_blk_id, start_elem_num,
- $ num_elems, connect, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write an element blocks connectivity list
-C
- subroutine expnec (idexo, elem_blk_id, start_elem_num,
- $ num_elems, connect, ierr)
- implicit none
- integer idexo
- integer elem_blk_id
- integer start_elem_num
- integer num_elems
- integer connect(num_elems)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expnec4 (idexo4, elem_blk_id, start_elem_num,
- $ num_elems, connect, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read an element blocks attributes
-C
- subroutine exgneat (idexo, elem_blk_id, start_elem_num,
- $ num_elems, attrib, ierr)
- implicit none
- integer idexo
- integer elem_blk_id
- integer start_elem_num
- integer num_elems
- real attrib(num_elems)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgneat4 (idexo4, elem_blk_id, start_elem_num,
- $ num_elems, attrib, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write an element blocks attributes
-C
- subroutine expneat (idexo, elem_blk_id, start_elem_num,
- $ num_elems, attrib, ierr)
- implicit none
- integer idexo
- integer elem_blk_id
- integer start_elem_num
- integer num_elems
- real attrib(num_elems)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expneat4 (idexo4, elem_blk_id, start_elem_num,
- $ num_elems, attrib, ierr4)
- ierr = ierr4
-C
- end
-C
-C-----------------------------------------------------------------------
-C Read the element type for a specific element block
-C
- subroutine exgelt (idexo, elem_blk_id, elem_type, ierr)
- implicit none
- integer idexo
- integer elem_blk_id
- character*(*) elem_type
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgelt4 (idexo4, elem_blk_id, elem_type, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read a variable for an element block
-C
- subroutine exgnev (idexo, time_step, elem_var_index,
- $ elem_blk_id, num_elem_this_blk, start_elem_num,
- $ num_elem, elem_var_vals, ierr)
- implicit none
- integer idexo
- integer time_step
- integer elem_var_index
- integer elem_blk_id
- integer num_elem_this_blk
- integer start_elem_num
- integer num_elem
- real elem_var_vals(num_elem)
- integer ierr
-C
- integer*4 idexo4
- integer*4 time_step4
- integer*4 elem_var_index4
- integer*4 ierr4
-C
- idexo4 = idexo
- time_step4 = time_step
- elem_var_index4 = elem_var_index
- call exgnev4 (idexo4, time_step4, elem_var_index4,
- $ elem_blk_id, num_elem_this_blk, start_elem_num,
- $ num_elem, elem_var_vals, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write a variable slab for an element block
-C
- subroutine expevs (idexo, time_step, elem_var_index,
- $ elem_blk_id, start_pos, num_vals, elem_var_vals,
- $ ierr)
- implicit none
- integer idexo
- integer time_step
- integer elem_var_index
- integer elem_blk_id
- integer start_pos
- integer num_vals
- real elem_var_vals(num_vals)
- integer ierr
-C
- integer*4 idexo4
- integer*4 time_step4
- integer*4 elem_var_index4
- integer*4 ierr4
-C
- idexo4 = idexo
- time_step4 = time_step
- elem_var_index4 = elem_var_index
- call expevs4 (idexo4, time_step4, elem_var_index4,
- $ elem_blk_id, start_pos, num_vals, elem_var_vals,
- $ ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read the values of a single nodal variable for a single time step
-C
- subroutine exgnnv (idexo, time_step, nodal_var_index,
- $ start_node_num, num_nodes, nodal_vars, ierr)
- implicit none
- integer idexo
- integer time_step
- integer nodal_var_index
- integer start_node_num
- integer num_nodes
- real nodal_vars(num_nodes)
- integer ierr
-C
- integer*4 idexo4
- integer*4 time_step4
- integer*4 nodal_var_index4
- integer*4 ierr4
-C
- idexo4 = idexo
- time_step4 = time_step
- nodal_var_index4 = nodal_var_index
- call exgnnv4 (idexo4, time_step4, nodal_var_index4,
- $ start_node_num, num_nodes, nodal_vars, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write nodal variable slab
-C
- subroutine expnvs (idexo, time_step, nodal_var_index,
- $ start_pos, num_vals, nodal_var_vals, ierr)
- implicit none
- integer idexo
- integer time_step
- integer nodal_var_index
- integer start_pos
- integer num_vals
- real nodal_var_vals(num_vals)
- integer ierr
-C
- integer*4 idexo4
- integer*4 time_step4
- integer*4 nodal_var_index4
- integer*4 ierr4
-C
- idexo4 = idexo
- time_step4 = time_step
- nodal_var_index4 = nodal_var_index
- call expnvs4 (idexo4, time_step4, nodal_var_index4,
- $ start_pos, num_vals, nodal_var_vals, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read the element numbering map
-C
- subroutine exgnenm (idexo, starte, num_ent, elem_map, ierr)
- implicit none
- integer idexo
- integer starte
- integer num_ent
- integer elem_map(num_ent)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgnenm4 (idexo4, starte, num_ent, elem_map, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write the element numbering map
-C
- subroutine expnenm (idexo, starte, num_ent, elem_map, ierr)
- implicit none
- integer idexo
- integer starte
- integer num_ent
- integer elem_map(num_ent)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expnenm4 (idexo4, starte, num_ent, elem_map, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read the node numbering map
-C
- subroutine exgnnnm (idexo, startn, num_ent, node_map, ierr)
- implicit none
- integer idexo
- integer startn
- integer num_ent
- integer node_map(num_ent)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call exgnnnm4 (idexo4, startn, num_ent, node_map, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write the node numbering map
-C
- subroutine expnnnm (idexo, startn, num_ent, node_map, ierr)
- implicit none
- integer idexo
- integer startn
- integer num_ent
- integer node_map(num_ent)
- integer ierr
-C
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expnnnm4 (idexo4, startn, num_ent, node_map, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read the node map for a processor
-C
- subroutine exgnmp (idexo, node_mapi, node_mapb, node_mape,
- $ processor, ierr)
- implicit none
- integer idexo
- integer node_mapi(*)
- integer node_mapb(*)
- integer node_mape(*)
- integer processor
- integer ierr
-C
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call exgnmp4 (idexo4, node_mapi, node_mapb, node_mape,
- $ processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write a node map for a processor
-C
- subroutine expnmp (idexo, node_mapi, node_mapb, node_mape,
- $ processor, ierr)
- implicit none
- integer idexo
- integer node_mapi(*)
- integer node_mapb(*)
- integer node_mape(*)
- integer processor
- integer ierr
-C
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call expnmp4 (idexo4, node_mapi, node_mapb, node_mape,
- $ processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read the element map for a processor
-C
- subroutine exgemp (idexo, elem_mapi, elem_mapb, processor, ierr)
- implicit none
- integer idexo
- integer elem_mapi(*)
- integer elem_mapb(*)
- integer processor
- integer ierr
-C
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call exgemp4 (idexo4, elem_mapi, elem_mapb, processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write the element map for a processor
-C
- subroutine expemp (idexo, elem_mapi, elem_mapb, processor, ierr)
- implicit none
- integer idexo
- integer elem_mapi(*)
- integer elem_mapb(*)
- integer processor
- integer ierr
-C
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call expemp4 (idexo4, elem_mapi, elem_mapb, processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read the communications map parameters for a single processor
-C
- subroutine exgcmp (idexo, ncmap_ids, ncmap_node_cnts,
- $ ecmap_ids, ecmap_elem_cnts, processor, ierr)
- implicit none
- integer idexo
- integer ncmap_ids(*)
- integer ncmap_node_cnts(*)
- integer ecmap_ids(*)
- integer ecmap_elem_cnts(*)
- integer processor
- integer ierr
-C
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call exgcmp4 (idexo4, ncmap_ids, ncmap_node_cnts,
- $ ecmap_ids, ecmap_elem_cnts, processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write the communications map parameters for a single processor
-C
- subroutine expcmp (idexo, nmap_ids, nmap_node_cnts, emap_ids,
- $ emap_elem_cnts, processor, ierr)
- implicit none
- integer idexo
- integer nmap_ids(*)
- integer nmap_node_cnts(*)
- integer emap_ids(*)
- integer emap_elem_cnts(*)
- integer processor
- integer ierr
-
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call expcmp4 (idexo4, nmap_ids, nmap_node_cnts, emap_ids,
- $ emap_elem_cnts, processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write the communications map parameters for all processors
-C
- subroutine expcmpc (idexo, nmap_ids, nmap_node_cnts,
- $ nproc_ptrs, emap_ids, emap_elem_cnts, eproc_ptrs, ierr)
- implicit none
- integer idexo
- integer nmap_ids(*)
- integer nmap_node_cnts(*)
- integer nproc_ptrs(*)
- integer emap_ids(*)
- integer emap_elem_cnts(*)
- integer eproc_ptrs(*)
- integer ierr
-
- integer*4 idexo4
- integer*4 ierr4
-C
- idexo4 = idexo
- call expcmpc4 (idexo4, nmap_ids, nmap_node_cnts,
- $ nproc_ptrs, emap_ids, emap_elem_cnts, eproc_ptrs, ierr4)
- ierr = ierr4
-
- end
-
-C-----------------------------------------------------------------------
-C
-C Read the nodal communications map for a single processor
-C
- subroutine exgncm (idexo, map_id, node_ids, proc_ids,
- $ processor, ierr)
- implicit none
- integer idexo
- integer map_id
- integer node_ids(*)
- integer proc_ids(*)
- integer processor
- integer ierr
-C
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call exgncm4 (idexo4, map_id, node_ids, proc_ids,
- $ processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write the nodal communications map for a single processor
-C
- subroutine expncm (idexo, map_id, node_ids, proc_ids,
- $ processor, ierr)
- implicit none
- integer idexo
- integer map_id
- integer node_ids(*)
- integer proc_ids(*)
- integer processor
- integer ierr
-C
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call expncm4 (idexo4, map_id, node_ids, proc_ids,
- $ processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Read the elemental communications map for a single processor
-C
- subroutine exgecm (idexo, map_id, elem_ids, side_ids,
- $ proc_ids, processor, ierr)
- implicit none
- integer idexo
- integer map_id
- integer elem_ids(*)
- integer side_ids(*)
- integer proc_ids(*)
- integer processor
- integer ierr
-
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-C
- idexo4 = idexo
- processor4 = processor
- call exgecm4 (idexo4, map_id, elem_ids, side_ids,
- $ proc_ids, processor4, ierr4)
- ierr = ierr4
-C
- end
-
-C-----------------------------------------------------------------------
-C
-C Write the elemental communications map for a single processor
-C
- subroutine expecm (idexo, map_id, elem_ids, side_ids,
- $ proc_ids, processor, ierr)
- implicit none
- integer idexo
- integer map_id
- integer elem_ids(*)
- integer side_ids(*)
- integer proc_ids(*)
- integer processor
- integer ierr
-
- integer*4 idexo4
- integer*4 processor4
- integer*4 ierr4
-
- idexo4 = idexo
- processor4 = processor
- call expecm4 (idexo4, map_id, elem_ids, side_ids,
- $ proc_ids, processor4, ierr4)
- ierr = ierr4
-
- end
-C-----------------------------------------------------------------------
-
- SUBROUTINE I8I4 (N, I8, PI4)
-C
-C CREATE I4 ARRAY AND COPY I8 ARRAY CONTENTS TO I4
-C
- IMPLICIT NONE
- INTEGER N
- INTEGER I8 (*)
- INTEGER*4 I4 (1)
- POINTER (PI4, I4)
- INTEGER I
-
- CALL I4ALLOC (N, PI4)
- DO I = 1, N
- I4 (I) = I8 (I)
- END DO
- END
-
- SUBROUTINE I4I8 (N, PI4, I8)
-C
-C COPY I4 ARRAY CONTENTS TO I8 AND FREE I4 ARRAY
-C
- IMPLICIT NONE
- INTEGER N
- INTEGER*4 I4 (1)
- POINTER (PI4, I4)
- INTEGER I8 (*)
- INTEGER I
-
- DO I = 1, N
- I8 (I) = I4 (I)
- END DO
- CALL I4FREE (PI4)
- END
-
- SUBROUTINE I4ALLOC (N, PI4)
-C
-C ALLOCATE DYNAMIC I4 ARRAY N ELEMENTS IN SIZE
-C
- IMPLICIT NONE
- INTEGER N
- INTEGER*4 I4 (1)
- POINTER (PI4, I4)
- INTEGER MALLOC
- INTEGER NB
-
- PI4 = 0
- IF (N .EQ. 0) RETURN
- NB = N * 4
- PI4 = MALLOC (NB)
- if (PI4 .EQ. 0) then
- write (*,*)
- * 'ERROR: Unable to allocate array of size ',N,' in I4ALLOC'
- stop 'Exodus Memory Allocation Error'
- end if
- END
-
- SUBROUTINE I4FREE (PI4)
-C
-C FREE DYNAMIC MEMORY ASSOCIATED WITH I4 ARRAY REFERENCED BY PI4
-C
- IMPLICIT NONE
- INTEGER*4 I4 (1)
- POINTER (PI4, I4)
-
- IF (PI4 .EQ. 0) RETURN
-#ifndef __XLF__
- CALL FREE (PI4)
-#endif
- PI4 = 0
- END
-#endif
diff --git a/forbind/src/exo_jack.src b/forbind/src/exo_jack.src
deleted file mode 100644
index 2bf999e..0000000
--- a/forbind/src/exo_jack.src
+++ /dev/null
@@ -1,5251 +0,0 @@
-/*
- * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
- * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
- * retains certain rights in this software.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * * Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials provided
- * with the distribution.
- *
- * * Neither the name of Sandia Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-/****************************************************************************
-*
-* exo_jack - exodusII fortran jacket
-*
-* author - Victor R. Yarberry, Sandia National Laboratories
-*
-* environment - UNIX
-*
-* entry conditions -
-* input parameters:
-*
-* exit conditions -
-*
-* revision history -
-*
-*
-*****************************************************************************/
-%*
-%* Meta-source for various versions of ExodusII FORTRAN jacket library.
-%*
-%* Patterned after the jackets.src netCDF library.
-%*
-%* 02/12/93 V.R. Yarberry
-%* 08/31/93 V.R. Yarberry - Modified for cbind Version 2.00
-%*
-%* After minor preprocessing via a sed script, this file becomes source
-%* to the m4 macro processor for a C library to be called from FORTRAN.
-%* The main differences between this source and C are the way function
-%* prototypes are declared. All such declarations occur in lines beginning
-%* with the "%" character. A sed script converts these into calls to m4
-%* macros for handling the various conventions for calling C functions from
-%* FORTRAN. Formal parameters corresponding to FORTRAN character strings
-%* must be declared using the pseudo type "string". Appending "len" to the
-%* name of such variables is the convention used for variables representing
-%* the FORTRAN length of string parameters.
-%*
-%* For example, the following input
-%*
-%* % void
-%* % ncadel (
-%* % int *cdfid, /* netCDF ID */
-%* % int *varid, /* variable ID */
-%* % string attname, /* attribute name */
-%* % int *rcode /* returned error code */
-%* % )
-%* % {
-%*
-%* will be converted to the following m4 macro calls:
-%*
-%* void`'M4__dnl
-%* M4__PROTO(`ncadel',
-%* `INTSTAR(cdfid)',
-%* `INTSTAR(varid)',
-%* `STRING(attname)',
-%* `INTSTAR(rcode)'
-%* )
-%* {M4__LOCALS
-%*
-%* which may be converted to the following C, using sun.m4 and common.m4
-%*
-%* void
-%* ncadel_ (cdfid, varid, attname, rcode, attnamelen)
-%* int *cdfid;
-%* int *varid;
-%* char *attname;
-%* int attnamelen;
-%* int *rcode;
-%* {
-%*
-/*
- * OVERVIEW
- *
- * This file contains jacket routines written in C for interfacing Fortran
- * ExodusII function calls to the actual C binding for ExodusII. This code
- * is written explicitly for M4__SYSTEM. In general, these functions handle
- * character-string parameter conventions, convert between
- * column-major-order arrays and row-major-order arrays, and map between
- * array indices beginning at one and array indices beginning at zero.
- *
- */
-
-/* LINTLIBRARY */
-#include <ctype.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "netcdf.h"
-#include "exodusII.h"
-#include "exodusII_int.h"
-
-M4__STRING_DESCRIPTOR_INCLUDES
-
-M4__FORTRAN_DEFINES
-
-extern int ncopts;/* default is (NC_FATAL | NC_VERBOSE) */
-extern int exerrval; /* global integer that contains a Exodus-specific error code */
-
-/* blank fill C string to make FORTRAN string */
-void
-ex_fcdcpy (fstring, fslen, sstring)
- char *fstring; /* output string to be blank-filled */
- int fslen; /* length of output string */
- char *sstring; /* input string, null-terminated */
-{
- int i, len;
-
- if (sstring != NULL) {
- len = strlen(sstring);
- if (len > fslen) len = fslen;
-
- for (i = 0; i < len; i++)
- *(fstring + i) = *(sstring + i);
- for (i = len; i < fslen; i++)
- *(fstring + i) = ' ';
- } else {
- for (i = 0; i < fslen; i++)
- *(fstring + i) = ' ';
- }
-}
-
-/* ex_lenstr - string length (w/o trailing blanks) */
-#ifdef __STDC__
-int ex_lenstr (char *string)
-#else
-int ex_lenstr (string)
- char *string;
-#endif
-{
- char *ptr;
-
- ptr=string+strlen(string); /* start at end of string including blanks */
- while (*(--ptr) == ' '); /* skip blanks */
- return(ptr-string+1); /* return trimmed length of string */
-}
-
-/* copy function used to copy strings and strip trailing blanks */
-void
-ex_fstrncpy (target, source, maxlen)
- char *target; /* space to be copied into */
- char *source; /* string to be copied */
- int maxlen; /* maximum length of *source */
-{
- int len=maxlen;
-
- while (len-- && *source != '\0')
- *target++ = *source++;
-
- len=maxlen;
- while (len-- && *(--target) == ' '); /* strip blanks */
- *(++target) = '\0'; /* insert new EOS marker */
-}
-
-/* copy function used to copy strings terminated with blanks */
-static void
-nstrncpy (target, source, maxlen)
- char *target; /* space to be copied into */
- char *source; /* string to be copied */
- int maxlen; /* maximum length of *source */
-{
- while (maxlen-- && *source != ' ')
- *target++ = *source++;
- *target = '\0';
-}
-
-
-/* copy 1D Fortran string arrays into C string arrays */
-void fstra2cstra(out_array,in_array,slen,arraylen)
- char *out_array; /* output character array */
- char *in_array; /* input character array */
- int slen; /* length of an individual string */
- int arraylen; /* array length (Fortran dimension) */
-{
- int i;
-
- while (arraylen--)
- {
- /** if (exoptval & EX_DEBUG) printf("[fstr2cstra] [%d]: ",arraylen); **/
- for (i=0;i<slen;i++)
- {
- /** if (exoptval & EX_DEBUG) printf("%c",*in_array); **/
- *out_array++=*in_array++;
- }
- *out_array++='\0'; /* add string terminator */
- /** if (exoptval & EX_DEBUG) printf("\n"); **/
- }
-}
-/* copy 1D C string arrays into Fortran string arrays */
-void cstra2fstra(out_array,in_array,slen,arraylen)
- char *out_array; /* output character array */
- char *in_array; /* input character array */
- int slen; /* length of an individual string */
- int arraylen; /* array length (Fortran dimension) */
-{
- int i;
-
- while (arraylen--)
- {
- for (i=0;i<slen;i++)
- *out_array++=*in_array++;
- in_array++; /* skip string terminator */
- }
-}
-
-/* copy 2D Fortran string arrays into C string arrays */
-void fstra2cstra2d(out_array,in_array,slen,xarraylen,yarraylen)
- char *out_array; /* output character array */
- char *in_array; /* input character array */
- int slen; /* length of an individual string */
- int xarraylen; /* array length (Fortran 1st dimension) */
- int yarraylen; /* array length (Fortran 2nd dimension) */
-{
- int i,j,k;
-
-/* char *s;
- s=out_array; */
-
- for (k=0;k<yarraylen;k++)
- {
- for(j=0;j<xarraylen;j++)
- {
- for (i=0;i<slen;i++)
- *out_array++=*in_array++;
- *out_array++='\0'; /* insert C string terminator */
- /* printf("(%d,%d): %s\n",k,j,s);
- s=out_array; */
- }
- }
-}
-
-/* copy 2D C string arrays into Fortran string arrays */
-void cstra2fstra2d(out_array,in_array,slen,xarraylen,yarraylen)
- char *out_array; /* output character array */
- char *in_array; /* input character array */
- int slen; /* length of an individual string */
- int xarraylen; /* array length (Fortran 1st dimension) */
- int yarraylen; /* array length (Fortran 2nd dimension) */
-{
- int i,j,k;
-
-/* char *s;
- s=out_array; */
-
- for (k=0;k<xarraylen;k++)
- {
- for(j=0;j<yarraylen;j++)
- {
- for (i=0;i<slen;i++)
- *out_array++=*in_array++;
- in_array++; /* skip string terminator */
- /* printf("(%d,%d): %s\n",k,j,s);
- s=out_array; */
- }
- }
-}
-
-#ifdef FORTRAN_HAS_NO_SHORT
-/*
- * Convert multi-dimensional array of shorts stored in ints to packed array of
- * shorts, in malloc'ed space. Returns pointer to shorts or NULL if malloc
- * failed.
- */
-static short *
-itos(ints, dims, ndims)
- int *ints; /* multi-dimensional array of ints */
- int *dims; /* list of dimensions */
- int ndims; /* number of dimensions in list */
-{
- long iocount = dimprod (dims, ndims); /* product of dimensions */
- short *shorts = malloc (iocount * sizeof (short));
- int *ip;
- short *sp = shorts;
-
- if (shorts != NULL)
- for (ip = ints; iocount > 0; iocount--)
- *sp++ = (short) *ip++;
- return shorts;
-}
-#endif /* FORTRAN_HAS_NO_SHORT */
-
-/* ------------ M4__SYSTEM FORTRAN jackets for EXODUS II Functions ---------- */
-
-/*
- * create an EXODUS II file
- */
-% int
-% excre (
-% string path, /* file name for the new EXODUS II file */
-% int *clobmode, /* either EXNOCL or EXCLOB */
-% int *cpu_word_size /* CPU word size */
-% int *io_word_size /* IO word size */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char *name;
- int idexo;
-
- if (!(name = malloc((pathlen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for file name buffer");
- ex_err("excre",errmsg,EX_MSG);
- }
- return(EX_FATAL);
- }
-
- (void) nstrncpy (name, path, pathlen);
-
- if (exoptval & EX_DEBUG)
- printf("[excre] name: %s, mode: %d\n",name,*clobmode);
- if ((idexo =
- ex_create (name, *clobmode, cpu_word_size, io_word_size)) != EX_FATAL)
- {
- free(name);
- *ierr = 0;
- return (idexo);
- }
- free(name);
- *ierr = exerrval;
- return (EX_FATAL);
-}
-
-/*
- * open an EXODUS II file
- */
-% int
-% exopen (
-% string path, /* file name of the EXODUS II file to be opened */
-% int *mode, /* either EXREAD or EXWRIT */
-% int *cpu_word_size /* CPU word size */
-% int *io_word_size /* returned IO word size */
-% float *version, /* returned EXODUS II version number */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char *name;
- int idexo;
-
- if (!(name = malloc((pathlen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for file name buffer");
- ex_err("exopen",errmsg,EX_MSG);
- }
- return(EX_FATAL);
- }
-
- (void) nstrncpy (name, path, pathlen);
- if ((idexo =
- ex_open (name, *mode, cpu_word_size, io_word_size, version)) != EX_FATAL)
- {
- free(name);
- if (exoptval & EX_DEBUG)
- printf("[exopen] file: %d, version: %f\n",
- idexo,*version);
- *ierr = 0;
- return (idexo);
- }
- free(name);
- *ierr = EX_FATAL;
- return (EX_FATAL);
-}
-
-/*
- * close an EXODUS II file
- */
-% void
-% exclos (
-% int *idexo, /* EXODUS file ID */
-% int *ierr /* returned error code */
-% )
-% {
-
- *ierr = 0;
- if (ex_close(*idexo) == EX_FATAL)
- *ierr = EX_FATAL;
-}
-
-/*
- * update an EXODUS II file
- */
-% void
-% exupda (
-% int *idexo, /* EXODUS file ID */
-% int *ierr /* returned error code */
-% )
-% {
-
- *ierr = 0;
- if (ex_update (*idexo) == EX_FATAL)
- *ierr = EX_FATAL;
-}
-
-/*
- * write initialization parameters
- */
-% void
-% expini (
-% int *idexo, /* EXODUS file ID */
-% string title, /* database title */
-% int *num_dim, /* dimensionality of the database */
-% int *num_nodes, /* number of nodal points */
-% int *num_elem, /* number of elements */
-% int *num_elem_blk, /* number of element blocks */
-% int *num_node_sets, /* number of node sets */
-% int *num_side_sets, /* number of side sets */
-% int *ierr /* returned error code */
-% )
-% {
-
- int slen;
- char* name;
-
- *ierr = 0;
- slen = MAX_LINE_LENGTH; /* max line size */
- if (titlelen != MAX_LINE_LENGTH)
- {
- slen = titlelen;
- }
-
- name = malloc((slen + 1)*sizeof(char));
-
- (void) ex_fstrncpy (name, title, slen);
- if (ex_put_init (*idexo, name, *num_dim, *num_nodes, *num_elem,
- *num_elem_blk, *num_node_sets, *num_side_sets) == EX_FATAL)
- *ierr = EX_FATAL;
- free(name);
-}
-
-/*
- * read initialization parameters
- */
-% void
-% exgini (
-% int *idexo, /* EXODUS file ID */
-% string title, /* returned database title */
-% int *num_dim, /* returned dimensionality of the database */
-% int *num_nodes, /* returned number of nodal points */
-% int *num_elem, /* returned number of elements */
-% int *num_elem_blk, /* returned number of element blocks */
-% int *num_node_sets, /* returned number of node sets */
-% int *num_side_sets, /* returned number of side sets */
-% int *ierr /* returned error code */
-% )
-% {
-
- int slen;
- char* name;
-
- *ierr = 0;
- slen = MAX_LINE_LENGTH; /* max line size */
- if (titlelen != MAX_LINE_LENGTH)
- {
- slen = titlelen;
- }
-
- name = malloc((slen + 1)*sizeof(char));
- memset(name, 0, slen+1);
-
- if (ex_get_init (*idexo, name, num_dim, num_nodes, num_elem, num_elem_blk,
- num_node_sets, num_side_sets) == EX_FATAL)
- *ierr = EX_FATAL;
- /* printf("title: %s\n",name); */
- ex_fcdcpy (title, slen, name);
- free(name);
-}
-
-/*
- * write QA records
- */
-% void
-% expqa (
-% int *idexo, /* EXODUS file ID */
-% int *num_qa_records, /* number of QA records */
-% string qa_record, /* string containing the QA records */
-% /* qa records are Fortran character*8 (4,*) */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char **sptr; /* internal string pointer array for malloc use */
- int i,ii,iii,slen,alen;
-
- *ierr=0; /* default no errror */
-
- slen = MAX_STR_LENGTH; /* max str size */
- if (qa_recordlen != MAX_STR_LENGTH)
- {
- slen = qa_recordlen;
- }
- alen = 4; /* qa records are 4 strings deep */
-
- /* Allocate space for the name ptr array */
- if (!(sptr=malloc(((*num_qa_records)*alen+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for qa_records ptr array for file id %d",
- *idexo);
- ex_err("expqa",errmsg,EX_MSG);
- }
- return;
- }
- /* Allocate space for each of the strings, where size = slen,
- place ptr into str ptr array, and
- Copy Fortran qa records to staging space */
- iii = 0; /* offset counter */
- for (i=0;i<*num_qa_records;i++)
- {
- for (ii=0;ii<alen;ii++)
- {
- *(sptr+iii)=malloc((slen+1)*sizeof(char));
- if (*(sptr+iii) == 0)
- {
- free(sptr); /* free up array ptr space */
- *ierr = EX_MEMFAIL;
- sprintf(errmsg,
- "Error: failed to allocate space for qa record %d for file id %d",
- i,*idexo);
- ex_err("expqa",errmsg,EX_MEMFAIL);
- return;
- }
- /* copy fortran string into allocated space */
- ex_fstrncpy(*(sptr+iii),qa_record+iii*qa_recordlen,slen);
- iii++; /* bump char array pointer */
- }
- }
- /**printf("[expqa] last i: %d of %d\n",i,alen); **/
- *(sptr+iii) = 0; /* set last pointer to null */
-
- if (ex_put_qa(*idexo,*num_qa_records,(void *)sptr) == EX_FATAL)
- *ierr=EX_FATAL;
-
- /* Free up the space we used */
- iii=0;
- for (i=0;i<*num_qa_records;i++)
- {
- for (ii=0;ii<alen;ii++)
- {
- free(*(sptr+iii)); /* First free up string space */
- iii++;
- }
- }
- free(sptr); /* Then free up array ptr space */
-}
-
-/*
- * read QA records
- */
-% void
-% exgqa (
-% int *idexo, /* EXODUS file ID */
-% string qa_record, /* returned string containing the QA records */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- int num_qa_records;
- char **sptr; /* internal string pointer array for malloc use */
- int i,ii,iii,slen,alen;
-
- *ierr=0; /* default no errror */
-
- slen = MAX_STR_LENGTH; /* max str size */
- if (qa_recordlen != MAX_STR_LENGTH)
- {
- slen = qa_recordlen;
- }
- alen = 4; /* qa records are 4 strings deep */
-
- /* do ExodusII C call to find out how many qa records are avail */
- num_qa_records = ex_inquire_int(*idexo,EX_INQ_QA);
-
- /** if (exoptval & EX_DEBUG)
- print("[exgqa] # of QA records: %d\n",num_qa_records); **/
- /* Allocate space for the QA string ptr array */
- if (!(sptr=malloc((num_qa_records*alen+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for qa records ptr array for file id %d",
- *idexo);
- ex_err("exgqa",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Step 1: Allocate space for each of the strings, where size = slen,
- place string ptr into str ptr array.
- Step 2: Call routine to get qa records
- Step 3: Copy C qa records to passed Fortran array space */
-
- iii = 0; /* offset counter */
- for (i=0;i<num_qa_records;i++) /* pointer allocation loop */
- {
- for (ii=0;ii<alen;ii++)
- {
- *(sptr+iii)=malloc((slen+1)*sizeof(char));
- if (*(sptr+iii) == 0)
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for qa record %d for file id %d",
- i,*idexo);
- ex_err("exgqa",errmsg,EX_MEMFAIL);
- }
- return;
- }
- iii++; /* bump char array pointer */
- }
- }
- *(sptr+iii) = 0; /* null out last pointer */
-
- /* do ExodusII C call to get qa records */
- if (ex_get_qa(*idexo,(void *)sptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get qa records from file id %d",
- *idexo);
- ex_err("exgqa",errmsg,EX_MSG);
- }
- return;
- }
-
- iii = 0; /* offset counter */
- for (i=0;i<num_qa_records;i++) /* string copy loop */
- {
- for (ii=0;ii<alen;ii++)
- {
- /* copy fortran string into allocated space */
- ex_fcdcpy(qa_record+iii*qa_recordlen,slen,*(sptr+iii));
- iii++; /* bump char array pointer */
- }
- }
-
- /* Free up the space we used */
- iii=0;
- for (i=0;i<num_qa_records;i++)
- {
- for (ii=0;ii<alen;ii++)
- {
- free(*(sptr+iii)); /* First free up string space */
- iii++;
- }
- }
- free(sptr); /* Then free up array ptr space */
-}
-
-/*
- * write information records
- */
-% void
-% expinf (
-% int *idexo, /* EXODUS file ID */
-% int *num_info, /* number of information records */
-% string info, /* array containing the information records */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char **aptr; /* internal string array pointer for malloc use */
- char *sptr; /* internal string pointer for malloc use */
- int i,slen;
-
- *ierr=0; /* default no errror */
- slen = MAX_LINE_LENGTH; /* max str size */
- if (infolen != MAX_LINE_LENGTH)
- {
- slen = infolen;
- }
-
-
- /* Allocate space for the string ptr array */
- if (!(aptr=malloc(((*num_info)+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for info record ptr array for file id %d",
- *idexo);
- ex_err("expinf",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate staging space for the info records */
- if (!(sptr=malloc(*num_info*(slen+1)*sizeof(char))))
- {
- free(aptr); /* Free up string ptr array */
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for info record buffer for file id %d",
- *idexo);
- ex_err("expinf",errmsg,EX_MEMFAIL);
- }
- return;
- }
- /* Copy Fortran info records to staging space */
- for (i=0;i<*num_info;i++)
- {
- *(aptr+i) = sptr+i*(slen+1); /* put address into ptr array */
- ex_fstrncpy(*(aptr+i),info+i*infolen,slen); /* copy string into buffer */
- }
- *(aptr+i) = 0; /* null out last ptr */
- if (ex_put_info(*idexo,*num_info,aptr) == EX_FATAL)
- {
- *ierr=EX_FATAL;
- free(sptr); /* Free up string staging area */
- free(aptr); /* Free up string ptr array */
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store info record in file id %d",
- *idexo);
- ex_err("expinf",errmsg,EX_MSG);
- }
- return;
- }
-
- free(sptr); /* Free up string staging area */
- free(aptr); /* Free up string ptr array */
-}
-
-/*
- * read information records
- */
-% void
-% exginf (
-% int *idexo, /* EXODUS file ID */
-% string info, /* returned array containing the information */
-% /* records */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char **aptr; /* internal string array pointer for malloc use */
- char *sptr; /* internal string pointer for malloc use */
- int i,slen,num_info;
-
- *ierr=0; /* default no errror */
-
- /* do exodusII C call to find out how many info records are avail */
- num_info = ex_inquire_int(*idexo,EX_INQ_INFO);
-
- slen = MAX_LINE_LENGTH; /* max str size */
- if (infolen != MAX_LINE_LENGTH)
- {
- slen = infolen;
- }
-
- /* Step 1: Allocate space for string ptr array
- Step 2: Allocate space for info record strings, and
- put pointers into str ptr array
- Step 3: Do ExodusII call to get records
- Step 4: Copy strings into passed Fortran buffer space */
-
- /* Allocate space for the string ptr array */
- if (!(aptr=malloc((num_info+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for info ptr array for file id %d",
- *idexo);
- ex_err("exginf",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate block of space for info strings */
- if (!(sptr=malloc(num_info*(slen+1)*sizeof(char))))
- {
- free(aptr); /* Free up string ptr array */
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for info records for file id %d",
- *idexo);
- ex_err("exginf",errmsg,EX_MEMFAIL);
- }
- return;
- }
- for (i=0;i<num_info;i++) /* Put pointers to the info records in ptr array */
- *(aptr+i) = sptr+i*(slen+1); /* put ptr in string ptr array */
- *(aptr+i) = 0; /* null out last pointer */
-
- /* Do exodusII call to get info records */
- if (ex_get_info(*idexo,aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- free(sptr);
- free(aptr);
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get info records from file id %d",
- *idexo);
- ex_err("exginf",errmsg,EX_MSG);
- }
- return;
- }
-
- for (i=0;i<num_info;i++) /* Copy Fortran info records to staging space */
- {
- ex_fcdcpy(info+i*infolen,slen,*(aptr+i)); /* copy string into buffer */
- /** printf("[exginf] rec: %d , %s\n",i,*(aptr+i)); **/
- }
-
- free(sptr); /* Free up string staging area */
- free(aptr); /* Free up string ptr array */
-
-}
-
-/*
- * write nodal coordinates
- */
-% void
-% expcor (
-% int *idexo, /* EXODUS file ID */
-% real *x_coor, /* x coordinates of the nodes */
-% real *y_coor, /* y coordinates of the nodes */
-% real *z_coor, /* z coordinates of the nodes */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_coord (*idexo, x_coor, y_coor, z_coor) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store coordinates in file id %d",
- *idexo);
- ex_err("expcor",errmsg,EX_MSG);
- }
-
- }
-}
-
-/*
- * read nodal coordinates
- */
-% void
-% exgcor (
-% int *idexo, /* EXODUS file ID */
-% real *x_coor, /* returned x coordinates of the nodes */
-% real *y_coor, /* returned y coordinates of the nodes */
-% real *z_coor, /* returned z coordinates of the nodes */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_coord (*idexo, x_coor, y_coor, z_coor) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get coordinates from file id %d",
- *idexo);
- ex_err("exgcor",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write coordinate names
- */
-% void
-% expcon (
-% int *idexo, /* EXODUS file ID */
-% string coord_names, /* array containing names for the nodal */
-% /* coordinates */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
-
- char **aptr; /* internal array of string pointers for malloc use */
- char *sptr; /* internal string pointer for malloc use */
- int i,ndim,slen;
-
- *ierr=0; /* default no errror */
-
- slen = ex_inquire_int(*idexo, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH); /* max str size */
- if (coord_nameslen < slen)
- {
- slen = coord_nameslen;
- }
- /* do ExodusII C call to find out how many dimensions */
- ndim = ex_inquire_int(*idexo,EX_INQ_DIM);
-
- /* Allocate space for the name ptr array */
- if (!(aptr=malloc((ndim+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for coordinate name ptr array for file id %d",
- *idexo);
- ex_err("expcon",errmsg,EX_MEMFAIL);
- }
- return;
- }
- /* Allocate a block of space for the strings, where size = slen,
- place ptrs into str ptr array, and
- Copy Fortran coordinate names to staging space */
-
- if(!(sptr=malloc(ndim*(slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- free(aptr);
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for coordinate name buffer for file id %d",
- *idexo);
- ex_err("expcon",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- for (i=0;i<ndim;i++)
- {
- *(aptr+i) = sptr+i*(slen+1);
- /* copy fortran string into allocated space */
- ex_fstrncpy(*(aptr+i),coord_names+i*coord_nameslen,slen);
- }
- *(aptr+i) = 0; /* set last pointer to null */
-
- if (ex_put_coord_names(*idexo,aptr) == EX_FATAL)
- {
- *ierr=EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store coordinate names in file id %d",
- *idexo);
- ex_err("expcon",errmsg,EX_MSG);
- }
- }
- /* Free up the space we used */
- free(sptr); /* First free up string space */
- free(aptr); /* Then free up array ptr space */
-}
-/*
- * read coordinate names
- */
-% void
-% exgcon (
-% int *idexo, /* EXODUS file ID */
-% string coord_names, /* returned array containing names for the */
-% /* nodal coordinates */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char **aptr; /* internal string array pointer for malloc use */
- char *sptr; /* internal string pointer for malloc use */
- int ndim;
- int i,slen;
-
- *ierr = 0; /* default no error */
-
- /** if (exoptval & EX_DEBUG)
- printf("[exgcon] Fortran target loc: %ld\n",coord_names); **/
- slen = ex_max_name_length; /* max string size */
- if (coord_nameslen < slen)
- {
- slen = coord_nameslen;
- }
-
- /* do ExodusII C call to find out how many dimensions */
- ndim = ex_inquire_int(*idexo,EX_INQ_DIM);
-
- /* allocate memory to stage the coordinate name ptrs into */
- if (!(aptr = malloc((ndim+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for coordinate name ptr array for file id %d",
- *idexo);
- ex_err("exgcon",errmsg,EX_MEMFAIL);
- }
- return;
- }
- /** if (exoptval & EX_DEBUG)
- printf("[exgcon] str ptr array: %ld\n",aptr); **/
-
- /* allocate a block of memory to stage the coordinate names into */
- if (!(sptr=malloc(ndim*(slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- free(aptr); /* free up array ptr space */
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for coordinate name buffer for file id %d",
- *idexo);
- ex_err("exgcon",errmsg,EX_MEMFAIL);
- }
- return;
- }
- /** if (exoptval & EX_DEBUG)
- printf("[exgcon] str ptr buffer base: %ld\n",sptr); **/
-
- for (i=0;i<ndim;i++) /* put pointers to staging space into ptr array */
- {
- *(aptr+i)=sptr+i*(slen+1);
- /** if (exoptval & EX_DEBUG) printf("[exgcon] i: %d, ptr: %ld, buf:%ld\n",
- i,aptr+i,*(aptr+i)); **/
- }
-
- /* do ExodusII C call to get coord name records */
- if (ex_get_coord_names(*idexo,aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- free(sptr); /* free up string space */
- free(aptr); /* free up array ptr space */
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get coordinate names from file id %d",
- *idexo);
- ex_err("exgcon",errmsg,EX_MSG);
- }
- return;
- }
-
- /* copy C strings to Fortran arrays */
- memset(coord_names, 0, ndim*coord_nameslen);
- for (i=0;i<ndim;i++)
- {
- if (exoptval & EX_DEBUG)
- printf("[exgcon] name(%d): %s\n",i,*(aptr+i));
- ex_fcdcpy(coord_names+i*coord_nameslen,slen,*(aptr+i)); /* copy and blank fill */
- }
-
- free(sptr); /* Free up string buffer space */
- free(aptr); /* Finally, free up array ptr space */
- return;
-}
-
-/*
- * write element order map
- */
-% void
-% expmap (
-% int *idexo, /* EXODUS file ID */
-% int *elem_map, /* element order map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_map (*idexo, elem_map) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element order map in file id %d",
- *idexo);
- ex_err("expmap",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read element order map
- */
-% void
-% exgmap (
-% int *idexo, /* EXODUS file ID */
-% int *elem_map, /* returned element order map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_map (*idexo, elem_map) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get element order map from file id %d",
- *idexo);
- ex_err("exgmap",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write concatenated element block parameters
- */
-% void
-% expclb (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_id, /* element block IDs */
-% string elem_type, /* type of elements in each element block */
-% int *num_elem_this_blk, /* number of elements in each element block */
-% int *num_nodes_per_elem,/* number of nodes per element in each element */
-% /* block */
-% int *num_attr, /* number of attributes in each element block */
-% int *create_maps, /* TRUE/FALSE should library define maps? */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- int num_elem_blk;
-
- char **aptr;/* ptr to temp staging space for string array ptrs */
- char *sptr; /* ptr to temp staging space for strings */
- int i, slen;
-
- *ierr = 0; /* default no error */
-
- num_elem_blk = ex_inquire_int(*idexo,EX_INQ_ELEM_BLK);
-
- slen = MAX_STR_LENGTH; /* max str size */
- if (elem_typelen != MAX_STR_LENGTH)
- {
- slen = elem_typelen;
- }
-
-
- /* allocate memory for pointer array */
- if (!(aptr=malloc((num_elem_blk+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element block type names ptr array for file id %d",
- *idexo);
- ex_err("expclb",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* allocate memory to stage the element type name into */
- if (!(sptr=malloc(num_elem_blk*(slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element type name buffer for file id %d",
- *idexo);
- ex_err("expclb",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Copy element type names from Fortran array to staging area */
- for (i=0;i<num_elem_blk;i++)
- {
- *(aptr+i) = sptr+i*(slen+1); /* put address into ptr array */
- ex_fstrncpy(*(aptr+i),elem_type+i*elem_typelen,slen);/* copy string into buffer */
- }
- *(aptr+i) = 0; /* null out last ptr */
-
- if (ex_put_concat_elem_block (*idexo, elem_blk_id, aptr, num_elem_this_blk,
- num_nodes_per_elem, num_attr, *create_maps) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element block parameters in file id %d",
- *idexo);
- ex_err("expclb",errmsg,EX_MSG);
- }
- }
- free(sptr);
- free(aptr);
-}
-
-/*
- * write element block parameters
- */
-% void
-% expelb (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_id, /* element block ID */
-% string elem_type, /* type of elements in the element block */
-% int *num_elem_this_blk, /* number of elements in the element block */
-% int *num_nodes_per_elem,/* number of nodes per element in the element */
-% /* block */
-% int *num_attr, /* number of attributes in the element block */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char *sptr; /* internal string pointer for malloc use */
- int slen;
-
- *ierr = 0; /* default no error */
-
- slen = MAX_STR_LENGTH; /* max str size */
- if (elem_typelen != MAX_STR_LENGTH)
- {
- slen = elem_typelen;
- }
-
-
- /** if (exoptval & EX_DEBUG) print(
- "[expelb] file ID: %d, Elem blk ID: %d, #Elem: %d, #Nodes: %d, #Attrib: %d\n",
- *idexo,*elem_blk_id,*num_elem_this_blk,*num_nodes_per_elem,*num_attr); **/
-
- /* allocate memory to stage the element type name into */
- if (!(sptr=malloc((slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element type name buffer for file id %d",
- *idexo);
- ex_err("expelb",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Copy element type names from Fortran array to staging area */
- ex_fstrncpy(sptr,elem_type,slen);
-
- if (ex_put_elem_block (*idexo, *elem_blk_id, sptr, *num_elem_this_blk,
- *num_nodes_per_elem, *num_attr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element block parameters in file id %d",
- *idexo);
- ex_err("expelb",errmsg,EX_MSG);
- }
- }
- free(sptr);
-}
-
-/*
- * read element block parameters
- */
-% void
-% exgelb (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_id, /* element block ID */
-% string elem_type, /* type of elements in the element block */
-% int *num_elem_this_blk, /* returned number of elements in the element */
-% /* block */
-% int *num_nodes_per_elem,/* returned number of nodes per element in the */
-% /* element block */
-% int *num_attr, /* returned number of attributes in the */
-% /* element block */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char *sptr; /* internal string pointer for malloc use */
- int slen;
-
- *ierr = 0;
-
- slen = MAX_STR_LENGTH; /* max str size */
- if (elem_typelen != MAX_STR_LENGTH)
- {
- slen = elem_typelen;
- }
-
- /* allocate memory to stage the element type names into */
- if (!(sptr=malloc((slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element type name buffer for file id %d",
- *idexo);
- ex_err("exgelc",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- if (ex_get_elem_block (*idexo, *elem_blk_id, sptr, num_elem_this_blk,
- num_nodes_per_elem,num_attr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to read element block parameters in file id %d",
- *idexo);
- ex_err("exgelb",errmsg,EX_MSG);
- }
- return;
- }
- /* Copy element type name from staging area to Fortran array */
- memset(elem_type, 0, elem_typelen);
- ex_fcdcpy (elem_type, slen, sptr);
-/* cstra2fstra(sptr,elem_type,elem_typelen,num_elem_this_blk); */
- free(sptr);
-
-}
-
-/*
- * read element blocks IDs
- */
-% void
-% exgebi (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_ids, /* returned array of element blocks IDs */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_elem_blk_ids (*idexo, elem_blk_ids) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get element block ids from file id %d",
- *idexo);
- ex_err("exgebi",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write element block connectivity
- */
-% void
-% expelc (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_id, /* element block ID */
-% int *connect, /* connectivity array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
-
- *ierr = 0;
-
- /* do ExodusII C call to write the element block connectivity */
- if (ex_put_elem_conn(*idexo,*elem_blk_id,connect) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element block connectivitys in file id %d",
- *idexo);
- ex_err("expelc",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read element block connectivity
- */
-% void
-% exgelc (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_id, /* element block ID */
-% int * connect, /* returned connectivity array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
-
- *ierr = 0;
-
- /* do ExodusII C call to read the element block connectivity */
- if (ex_get_elem_conn(*idexo,*elem_blk_id,connect) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get element block connectivity from file id %d",
- *idexo);
- ex_err("exgelc",errmsg,EX_MSG);
- }
- return;
- }
-}
-
-/*
- * write entity count-per-polyhedra information for nsided block
- */
-% void
-% expecpp (
-% int *idexo, /* EXODUS file ID */
-% int *obj_type, /* object type code */
-% int *elem_blk_id, /* element block ID */
-% int *counts, /* entity count-per-polyhedra array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
-
- if (ex_put_entity_count_per_polyhedra(*idexo,(ex_entity_type)*obj_type,*elem_blk_id, counts) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store entity_count-per-polyhedra information in file id %d",
- *idexo);
- ex_err("expecpp",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read entity count-per-polyhedra information for nsided block
- */
-% void
-% exgecpp (
-% int *idexo, /* EXODUS file ID */
-% int *obj_type, /* object type code */
-% int *elem_blk_id, /* element block ID */
-% int *counts, /* entity count-per-polyhedra array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
-
- if (ex_get_entity_count_per_polyhedra(*idexo,(ex_entity_type)*obj_type,*elem_blk_id,counts) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get entity_count-per-polyhedra information from file id %d",
- *idexo);
- ex_err("exgecpp",errmsg,EX_MSG);
- }
- return;
- }
-}
-
-/*
- * write element block attributes
- */
-% void
-% expeat (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_id, /* element block ID */
-% real *attrib, /* list of attributes for the element block */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-/* WARNING - this routine must be fixed for multiple attributed blocks !!! */
- *ierr = 0;
- /** if (exoptval & EX_DEBUG)
- printf("[expeat] file ID: %d, elem_blk_id: %d, attrib: %f\n",
- *idexo,*elem_blk_id,*attrib); **/
- if (ex_put_elem_attr(*idexo,*elem_blk_id,attrib) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element block attributes in file id %d",
- *idexo);
- ex_err("expeat",errmsg,EX_MSG);
- }
- }
-}
-
-
-/*
- * read element block attributes
- */
-% void
-% exgeat (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_id, /* element block ID */
-% real *attrib, /* returned list of attributes for the element */
-% /* block */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-/* WARNING - this routine must be fixed for multiple attributed blocks !!! */
-
- *ierr = 0;
- if (ex_get_elem_attr(*idexo,*elem_blk_id,attrib) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get element block attributes from file id %d",
- *idexo);
- ex_err("exgeat",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read element block attribute names
- */
-% void
-% exgean (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_id, /* element block ID */
-% int *num_attr, /* number of attributes */
-% string names, /* string containing attribute names */
-% /* block */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- char **aptr;/* ptr to temp staging space for string array ptrs */
- char *sptr; /* ptr to temp staging space for strings */
- int i,slen;
-
- *ierr=0; /* default no errror */
-
- slen = ex_max_name_length; /* max str size */
- if (nameslen < slen)
- {
- slen = nameslen;
- }
-
- /* allocate memory to for pointer array */
- if (!(aptr=malloc((*num_attr+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element attribute names ptr array for file id %d",
- *idexo);
- ex_err("exgean",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate staging space for the variable names */
- if (!(sptr=malloc(*num_attr*(slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for object names for file id %d",
- *idexo);
- ex_err("exgean",errmsg,EX_MEMFAIL);
- }
- free(aptr); /* Free up string ptr array */
- return;
- }
- for (i=0;i<*num_attr;i++)
- *(aptr+i) = sptr+i*(slen+1); /* put address into ptr array */
- *(aptr+i) = 0; /* null out last ptr */
-
- *ierr = 0;
- if (ex_get_elem_attr_names(*idexo,*elem_blk_id, aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- free(sptr); /* free up allocated space */
- free(aptr);
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get element block attribute names from file id %d",
- *idexo);
- ex_err("exgean",errmsg,EX_MSG);
- }
- }
- /* Copy Fortran names from staging space */
- memset(names, 0, *num_attr*nameslen);
- for (i=0;i<*num_attr;i++)
- {
- ex_fcdcpy(names+i*nameslen,slen,*(aptr+i));/* copy str into Fortran buffer */
- }
-
- free(sptr); /* Free up string staging area */
- free(aptr); /* Free up string ptr array */
-}
-
-/*
- * write element block attribute names
- */
-% void
-% expean (
-% int *idexo, /* EXODUS file ID */
-% int *elem_blk_id, /* element block ID */
-% int *num_attr, /* number of attributes */
-% string names, /* string containing attribute names */
-% /* block */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- char **aptr;/* ptr to temp staging space for string array ptrs */
- char *sptr; /* ptr to temp staging space for strings */
- int i,slen;
-
- *ierr=0; /* default no errror */
-
- slen = ex_inquire_int(*idexo, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH); /* max str size */
- if (nameslen < slen)
- {
- slen = nameslen;
- }
-
- /* allocate memory to for pointer array */
- if (!(aptr=malloc((*num_attr+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element attribute names ptr array for file id %d",
- *idexo);
- ex_err("expean",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate staging space for the variable names */
- if (!(sptr=malloc(*num_attr*(slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for object names for file id %d",
- *idexo);
- ex_err("expean",errmsg,EX_MEMFAIL);
- }
- free(aptr); /* Free up string ptr array */
- return;
- }
-
- /* Copy Fortran names to staging space */
- for (i=0;i<*num_attr;i++)
- {
- *(aptr+i) = sptr+i*(slen+1); /* put address into ptr array */
- ex_fstrncpy(*(aptr+i),names+i*nameslen,slen);/* copy string into buffer */
- }
- *(aptr+i) = 0; /* null out last ptr */
-
- *ierr = 0;
- if (ex_put_elem_attr_names(*idexo,*elem_blk_id, aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element block attribute names from file id %d",
- *idexo);
- ex_err("expean",errmsg,EX_MSG);
- }
- }
- free(sptr); /* Free up string staging area */
- free(aptr); /* Free up string ptr array */
-}
-
-/*
- * write object names
- */
-% void
-% expnams (
-% int *idexo, /* EXODUS file ID */
-% int *type, /* type of objects which are described */
-% int *num_obj, /* number of objects of specified type */
-% string names, /* string containing object names */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char **aptr;/* ptr to temp staging space for string array ptrs */
- char *sptr; /* ptr to temp staging space for strings */
- int i,slen;
-
- *ierr=0; /* default no errror */
-
- slen = ex_inquire_int(*idexo, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH); /* max str size */
- if (nameslen < slen)
- {
- slen = nameslen;
- }
-
- /* allocate memory for pointer array */
- if (!(aptr=malloc((*num_obj+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for variable names ptr array for file id %d",
- *idexo);
- ex_err("expnams",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate staging space for the variable names */
- if (!(sptr=malloc(*num_obj*(slen+1)*sizeof(char))))
- {
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for variable names buffer for file id %d",
- *idexo);
- ex_err("expnams",errmsg,EX_MEMFAIL);
- }
- free(aptr); /* Free up string ptr array */
- *ierr = EX_MEMFAIL;
- return;
- }
- /* Copy Fortran names to staging space */
- for (i=0;i<*num_obj;i++)
- {
- *(aptr+i) = sptr+i*(slen+1); /* put address into ptr array */
- ex_fstrncpy(*(aptr+i),names+i*nameslen,slen);/* copy string into buffer */
- }
- *(aptr+i) = 0; /* null out last ptr */
- /* do ExodusII C call to write results variables names */
- if (ex_put_names(*idexo,(ex_entity_type)*type,aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store object names in file id %d",
- *idexo);
- ex_err("expnams",errmsg,EX_MSG);
- }
- }
-
- free(sptr); /* Free up string staging area */
- free(aptr); /* Free up string ptr array */
-}
-/*
- * read object names
- */
-% void
-% exgnams (
-% int *idexo, /* EXODUS file ID */
-% int *type, /* type of object which is described */
-% int *num_obj, /* number of 'type' names to be read */
-% string names, /* returned string containing num_obj names */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- char **aptr;/* ptr to temp staging space for string array ptrs */
- char *sptr; /* ptr to temp staging space for strings */
- int i,slen;
-
- *ierr=0; /* default no errror */
-
- slen = ex_max_name_length; /* max str size */
- if (nameslen < slen)
- {
- slen = nameslen;
- }
-
- /* allocate memory to for pointer array */
- if (!(aptr=malloc((*num_obj+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for results variable names ptr array for file id %d",
- *idexo);
- ex_err("exgvan",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate staging space for the variable names */
- if (!(sptr=malloc(*num_obj*(slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for object names for file id %d",
- *idexo);
- ex_err("exgnams",errmsg,EX_MEMFAIL);
- }
- free(aptr); /* Free up string ptr array */
- return;
- }
- for (i=0;i<*num_obj;i++)
- *(aptr+i) = sptr+i*(slen+1); /* put address into ptr array */
- *(aptr+i) = 0; /* null out last ptr */
-
- /* do ExodusII C call to read results variables names */
- if (ex_get_names(*idexo,(ex_entity_type)*type,aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- free(sptr); /* free up allocated space */
- free(aptr);
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get results variable names from file id %d",
- *idexo);
- ex_err("exgnams",errmsg,EX_MSG);
- }
- return;
- }
-
- /* Copy Fortran names from staging space */
- memset(names, 0, *num_obj*nameslen);
- for (i=0;i<*num_obj;i++)
- {
- ex_fcdcpy(names+i*nameslen,slen,*(aptr+i));/* copy str into Fortran buffer */
- }
-
- free(sptr); /* Free up string staging area */
- free(aptr); /* Free up string ptr array */
-}
-
-/*
- * write property array names
- */
-% void
-% exppn (
-% int *idexo, /* EXODUS file ID */
-% int *obj_type, /* object type code */
-% int *num_props, /* number of properties */
-% string prop_names /* character array of property names */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- char **aptr; /* internal string array pointer for malloc use */
- char *sptr; /* internal string pointer for malloc use */
- int i, slen;
-
- *ierr = 0;
-
- slen = ex_inquire_int(*idexo, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH); /* max str size */
- if (prop_nameslen < slen)
- {
- slen = prop_nameslen;
- }
-
- /* Allocate space for the name ptr array */
- if (!(aptr=malloc((*num_props+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for property name ptr array for file id %d",
- *idexo);
- ex_err("exppn",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate a block of space for the strings, where size = slen,
- place ptrs into str ptr array, and
- Copy Fortran coordinate names to staging space */
-
- if(!(sptr=malloc((*num_props)*(slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- free(aptr);
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for property name buffer for file id %d",
- *idexo);
- ex_err("exppn",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- for (i=0;i<*num_props;i++)
- {
- *(aptr+i) = sptr+i*(slen+1);
- /* copy fortran string into allocated space */
- ex_fstrncpy(*(aptr+i),prop_names+i*prop_nameslen,slen);
- }
- *(aptr+i) = 0; /* set last pointer to null */
-
-
- if (ex_put_prop_names(*idexo,(ex_entity_type)*obj_type, *num_props, aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store property names in file id %d",
- *idexo);
- ex_err("exppn",errmsg,EX_MSG);
- }
- }
- /* Free up the space we used */
- free(sptr); /* First free up string space */
- free(aptr); /* Then free up array ptr space */
-}
-
-
-/*
- * read property array names
- */
-% void
-% exgpn (
-% int *idexo, /* EXODUS file ID */
-% int *obj_type, /* object type code */
-% string prop_names /* character array of property names */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- char **aptr; /* internal string array pointer for malloc use */
- char *sptr; /* internal string pointer for malloc use */
- int i, slen;
- ex_inquiry inq_code;
- int num_props;
-
- *ierr = 0;
-
- slen = ex_max_name_length; /* max str size */
- if (prop_nameslen < slen)
- {
- slen = prop_nameslen;
- }
-
- switch ((ex_entity_type)*obj_type)
- {
- case EX_ELEM_BLOCK:
- inq_code = EX_INQ_EB_PROP;
- break;
- case EX_NODE_SET:
- inq_code = EX_INQ_NS_PROP;
- break;
- case EX_SIDE_SET:
- inq_code = EX_INQ_SS_PROP;
- break;
- case EX_ELEM_MAP:
- inq_code = EX_INQ_EM_PROP;
- break;
- case EX_NODE_MAP:
- inq_code = EX_INQ_NM_PROP;
- break;
- default:
- exerrval = EX_BADPARAM;
- *ierr = EX_BADPARAM;
- sprintf(errmsg, "Error: object type %d not supported; file id %d",
- *obj_type, *idexo);
- ex_err("exgpn",errmsg,exerrval);
- return;
- }
-
-
- /* do ExodusII C call to find out how many properties */
- num_props = ex_inquire_int(*idexo,inq_code);
-
- /* Allocate space for the name ptr array */
- if (!(aptr=malloc((num_props+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for property name ptr array for file id %d",
- *idexo);
- ex_err("exgpn",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate a block of space for the strings, where size = slen,
- place ptrs into str ptr array, and
- Copy Fortran coordinate names to staging space */
-
- if(!(sptr=malloc(num_props*(slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- free(aptr);
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for property name buffer for file id %d",
- *idexo);
- ex_err("exgpn",errmsg,EX_MEMFAIL);
- }
- return;
- }
- memset(sptr, 0, num_props*(slen+1));
-
- for (i=0;i<num_props;i++)
- *(aptr+i) = sptr+i*(slen+1);/* put ptrs to staging space into ptr array */
- *(aptr+i) = 0; /* set last pointer to null */
-
- /* do ExodusII C call to get property name records */
- if (ex_get_prop_names(*idexo,(ex_entity_type)*obj_type, aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- free(sptr); /* free up string space */
- free(aptr); /* free up array ptr space */
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get property names in file id %d",
- *idexo);
- ex_err("exgpn",errmsg,EX_MSG);
- }
- return;
- }
- /* copy C strings to Fortran arrays */
- memset(prop_names, 0, num_props*prop_nameslen);
- for (i=0;i<num_props;i++)
- {
- if (exoptval & EX_DEBUG)
- printf("[exgpn] name(%d): %s\n",i,*(aptr+i));
- ex_fcdcpy(prop_names+i*prop_nameslen,slen,*(aptr+i)); /* copy and blank fill */
- }
-
- /* Free up the space we used */
- free(sptr); /* First free up string space */
- free(aptr); /* Then free up array ptr space */
-}
-
-/*
- * write object property
- */
-% void
-% expp (
-% int *idexo, /* EXODUS file ID */
-% int *obj_type, /* object type code */
-% int *obj_id, /* object id code */
-% string prop_name, /* property name */
-% int *value, /* property value */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- char *sptr; /* internal string pointer for malloc use */
- int slen;
-
- *ierr = 0;
-
- slen = ex_inquire_int(*idexo, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH); /* max str size */
- if (prop_namelen < slen)
- {
- slen = prop_namelen;
- }
-
- /* allocate memory to stage the property name into */
- if (!(sptr=malloc((slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for property name buffer for file id %d",
- *idexo);
- ex_err("expp",errmsg,EX_MEMFAIL);
- }
- return;
- }
- /* Copy property name from Fortran string to staging area */
- /* nstrncpy(sptr,prop_name,slen); */
- ex_fstrncpy(sptr,prop_name,slen);
-
- if (ex_put_prop (*idexo, (ex_entity_type)*obj_type, *obj_id, sptr, *value) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store property names in file id %d",
- *idexo);
- ex_err("expp",errmsg,EX_MSG);
- }
- }
- free(sptr);
-}
-
-/*
- * read object property
- */
-% void
-% exgp (
-% int *idexo, /* EXODUS file ID */
-% int *obj_type, /* object type code */
-% int *obj_id, /* object id code */
-% string prop_name, /* property name */
-% int *value, /* returned property value */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char *sptr; /* internal string pointer for malloc use */
- int slen;
-
- *ierr = 0;
-
- slen = ex_max_name_length; /* max str size */
- if (prop_namelen < slen)
- {
- slen = prop_namelen;
- }
-
- /* allocate memory to stage the property name into */
- if (!(sptr=malloc((slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for property name buffer for file id %d",
- *idexo);
- ex_err("exgp",errmsg,EX_MEMFAIL);
- }
- }
-
- /* Copy property name from Fortran string to staging area */
- ex_fstrncpy(sptr,prop_name,slen);
-
- /* use exodusII C routine to get the property value */
- if (ex_get_prop (*idexo, (ex_entity_type)*obj_type, *obj_id, sptr, value) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get %s property value in file id %d",
- sptr, *idexo);
- ex_err("exgp",errmsg,EX_MSG);
- }
- }
- free(sptr);
-}
-
-/*
- * read object property array
- */
-% void
-% exgpa (
-% int *idexo, /* EXODUS file ID */
-% int *obj_type, /* object type code */
-% string prop_name, /* property name */
-% int *values, /* returned property values array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char *sptr; /* internal string pointer for malloc use */
- int slen;
-
- *ierr = 0;
-
- slen = ex_max_name_length; /* max str size */
- if (prop_namelen < slen)
- {
- slen = prop_namelen;
- }
-
- /* allocate memory to stage the property name into */
- if (!(sptr=malloc((slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for property name buffer for file id %d",
- *idexo);
- ex_err("exgpa",errmsg,EX_MEMFAIL);
- }
- }
- memset(sptr, 0, slen+1);
-
- /* Copy property name from Fortran string to staging area */
- ex_fstrncpy(sptr,prop_name,slen);
-
-
- /* use exodusII C routine to get the values array */
- if (ex_get_prop_array (*idexo, (ex_entity_type)*obj_type, sptr, values) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get %s property values in file id %d",
- sptr, *idexo);
- ex_err("exgpa",errmsg,EX_MSG);
- }
- }
- free(sptr);
-}
-
-/*
- * write object property array
- */
-% void
-% exppa (
-% int *idexo, /* EXODUS file ID */
-% int *obj_type, /* object type code */
-% string prop_name, /* property name */
-% int *values, /* property values array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char *sptr; /* internal string pointer for malloc use */
- int slen;
-
- *ierr = 0;
-
- slen = ex_inquire_int(*idexo, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH); /* max str size */
- if (prop_namelen < slen)
- {
- slen = prop_namelen;
- }
-
- /* allocate memory to stage the property name into */
- if (!(sptr=malloc((slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for property name buffer for file id %d",
- *idexo);
- ex_err("exppa",errmsg,EX_MEMFAIL);
- }
- }
-
- /* Copy property name from Fortran string to staging area */
- ex_fstrncpy(sptr,prop_name,slen);
-
-
- /* Use exodusII C routine to store the property values */
- if (ex_put_prop_array (*idexo, (ex_entity_type)*obj_type, sptr, values) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store %s property values in file id %d",
- sptr, *idexo);
- ex_err("exppa",errmsg,EX_MSG);
- }
- }
- free(sptr);
-}
-
-/*
- * write node set parameters
- */
-% void
-% expnp (
-% int *idexo, /* EXODUS file ID */
-% int *node_set_id, /* node set ID */
-% int *num_nodes_in_set, /* number of nodes in the node set */
-% int *num_dist_in_set, /* number of dist factors in the node set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_node_set_param(*idexo,*node_set_id,
- *num_nodes_in_set, *num_dist_in_set) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store node set parameters in file id %d",
- *idexo);
- ex_err("expnp",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read node set parameters
- */
-% void
-% exgnp (
-% int *idexo, /* EXODUS file ID */
-% int *node_set_id, /* node set ID */
-% int *num_nodes_in_set, /* returned number of nodes in the node set */
-% int *num_dist_in_set, /* number of dist factors in the node set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_node_set_param(*idexo,*node_set_id,
- num_nodes_in_set, num_dist_in_set) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get node set parameters from file id %d",
- *idexo);
- ex_err("exgnp",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write node set
- */
-% void
-% expns (
-% int *idexo, /* EXODUS file ID */
-% int *node_set_id, /* node set ID */
-% int *node_set_node_list,/* node list for the node set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_node_set(*idexo,*node_set_id,node_set_node_list) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store node set in file id %d",
- *idexo);
- ex_err("expns",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write node set dist factors
- */
-% void
-% expnsd (
-% int *idexo, /* EXODUS file ID */
-% int *node_set_id, /* node set ID */
-% real *node_set_dist_fact, /* distribution factors for the node set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if(ex_put_node_set_dist_fact(*idexo,*node_set_id, node_set_dist_fact) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store node set dist factors in file id %d",
- *idexo);
- ex_err("expnsd",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read node set
- */
-% void
-% exgns (
-% int *idexo, /* EXODUS file ID */
-% int *node_set_id, /* node set ID */
-% int *node_set_node_list,/* returned node list for the node set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_node_set(*idexo,*node_set_id,node_set_node_list) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get node set from file id %d",
- *idexo);
- ex_err("exgns",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read node set dist factors
- */
-% void
-% exgnsd (
-% int *idexo, /* EXODUS file ID */
-% int *node_set_id, /* node set ID */
-% real *node_set_dist_fact, /* returned distribution factors for the */
-% /* node set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if(ex_get_node_set_dist_fact(*idexo,*node_set_id, node_set_dist_fact) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get node set dist factors from file id %d",
- *idexo);
- ex_err("exgnsd",errmsg,EX_MSG);
- }
- }
-}
-
-
-/*
- * read node sets IDs
- */
-% void
-% exgnsi (
-% int *idexo, /* EXODUS file ID */
-% int *node_set_ids, /* returned node set IDs */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_node_set_ids(*idexo,node_set_ids) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get node set ids from file id %d",
- *idexo);
- ex_err("exgnsi",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write concatenated node sets
- */
-% void
-% expcns (
-% int *idexo, /* EXODUS file ID */
-% int *node_set_ids, /* node set ID for each node set */
-% int *num_nodes_per_set, /* number of nodes for each node node set */
-% int *num_dist_per_set, /* number of dist fact for each node node set */
-% int *node_sets_node_index,/* indices into the node_set_node_list */
-% /* which are the locations of the first node */
-% /* for each node set - 1 based */
-% int *node_sets_dist_index,/* indices into the node_set_dist_fact which */
-% /* are the locations of the first dist factor */
-% /* for each node set - 1 based */
-% int *node_sets_node_list, /* concatenated list of nodes for all the */
-% /* node sets */
-% real *node_sets_dist_fact, /* concatenated list of distribution factors */
-% /* for all node sets */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- int num_node_sets, i, *node_index_ptr, *dist_index_ptr;
-
- *ierr = 0;
-
- num_node_sets = ex_inquire_int(*idexo,EX_INQ_NODE_SETS);
-
- /* allocate memory for C node index array */
- if (!(node_index_ptr=malloc(num_node_sets*sizeof(int))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for node index array for file id %d",
- *idexo);
- ex_err("expcns",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* allocate memory for C dist factor index array */
- if (!(dist_index_ptr=malloc(num_node_sets*sizeof(int))))
- {
- free(node_index_ptr);
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for dist index array for file id %d",
- *idexo);
- ex_err("expcns",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- for (i=0;i<num_node_sets;i++) /* change from 1-based to 0 index */
- {
- node_index_ptr[i] = node_sets_node_index[i] - 1;
- dist_index_ptr[i] = node_sets_dist_index[i] - 1;
- }
-
-
-
- if (ex_put_concat_node_sets(*idexo,node_set_ids,num_nodes_per_set,
- num_dist_per_set,node_index_ptr,
- dist_index_ptr, node_sets_node_list,
- node_sets_dist_fact) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- free(node_index_ptr);
- free(dist_index_ptr);
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store concatenated node sets in file id %d",
- *idexo);
- ex_err("expcns",errmsg,EX_MSG);
- }
- return;
- }
- free(node_index_ptr);
- free(dist_index_ptr);
-}
-
-/*
- * read concatenated node sets
- */
-% void
-% exgcns (
-% int *idexo, /* EXODUS file ID */
-% int *node_set_ids, /* node set ID for each node set */
-% int *num_nodes_per_set, /* number of nodes for each node node set */
-% int *num_dist_per_set, /* number of dist fact for each node node set */
-% int *node_sets_node_index,/* indices into the node_set_node_list */
-% /* which are the locations of the first node */
-% /* for each node set - 1 based */
-% int *node_sets_dist_index,/* indices into the node_set_dist_fact which */
-% /* are the locations of the first dist factor */
-% /* for each node set - 1 based */
-% int *node_sets_node_list, /* concatenated list of nodes for all the */
-% /* node sets */
-% real *node_sets_dist_fact, /* concatenated list of distribution factors */
-% /* for all node sets */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- int num_node_sets, i, *node_index_ptr, *dist_index_ptr;
-
- *ierr = 0;
-
- num_node_sets = ex_inquire_int(*idexo,EX_INQ_NODE_SETS);
-
- /* allocate memory for C node index array */
- if (!(node_index_ptr=malloc(num_node_sets*sizeof(int))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for node index array for file id %d",
- *idexo);
- ex_err("exgcns",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* allocate memory for C dist factor index array */
- if (!(dist_index_ptr=malloc(num_node_sets*sizeof(int))))
- {
- free(node_index_ptr);
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for dist index array for file id %d",
- *idexo);
- ex_err("exgcns",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- if (ex_get_concat_node_sets(*idexo,node_set_ids,num_nodes_per_set,
- num_dist_per_set,node_index_ptr,
- dist_index_ptr,node_sets_node_list,
- node_sets_dist_fact) == EX_FATAL)
- {
- free(node_index_ptr);
- free(dist_index_ptr);
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get nodes sets from file id %d",
- *idexo);
- ex_err("exgcns",errmsg,EX_MSG);
- }
- return;
- }
-
- for (i=0;i<num_node_sets;i++) /* change from 0-based to 1 index */
- {
- node_sets_node_index[i] = node_index_ptr[i] + 1;
- node_sets_dist_index[i] = dist_index_ptr[i] + 1;
- }
-
- free(node_index_ptr);
- free(dist_index_ptr);
-
-}
-
-/*
- * write side set parameters
- */
-% void
-% expsp (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_id, /* side set ID */
-% int *num_sides_in_set, /* number of sides in the side set */
-% int *num_df_in_set, /* number of dist factors in the side set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_side_set_param(*idexo,*side_set_id,*num_sides_in_set,
- *num_df_in_set) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store side set parameters in file id %d",
- *idexo);
- ex_err("expsp",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read side set parameters
- */
-% void
-% exgsp (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_id, /* side set ID */
-% int *num_sides_in_set, /* returned num of sides in the side set */
-% int *num_df_in_set, /* returned num of dist factors in the side set*/
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_side_set_param(*idexo,*side_set_id,num_sides_in_set,
- num_df_in_set) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get side set parameters from file id %d",
- *idexo);
- ex_err("exgsp",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * get side set node list length
- */
-% void
-% exgsnl (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_id, /* side set ID */
-% int *num_nodes_in_set, /* returned num of sides in the side set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_side_set_node_list_len(*idexo,*side_set_id,
- num_nodes_in_set) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get side set node list length from file id %d",
- *idexo);
- ex_err("exgsnl",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write side set
- */
-% void
-% expss (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_id, /* side set ID */
-% int *side_set_elem_list,/* element list for the side set */
-% int *side_set_side_list,/* side list for the side set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_side_set(*idexo,*side_set_id,side_set_elem_list,
- side_set_side_list) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store side set in file id %d",
- *idexo);
- ex_err("expss",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read side set
- */
-% void
-% exgss (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_id, /* side set ID */
-% int *side_set_elem_list,/* returned element list for the side set */
-% int *side_set_side_list,/* returned side list for the side set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_side_set(*idexo,*side_set_id,side_set_elem_list,
- side_set_side_list) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get side set from file id %d",
- *idexo);
- ex_err("exgss",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write side set distribution factors
- */
-% void
-% expssd (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_id, /* side set ID */
-% real *side_set_dist_fact, /* distribution factors */
-% /* for the side set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_side_set_dist_fact(*idexo,*side_set_id,
- side_set_dist_fact) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store side set distribution factors in file id %d",
- *idexo);
- ex_err("expssd",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read side set distribution factors
- */
-% void
-% exgssd (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_id, /* side set ID */
-% real *side_set_dist_fact, /* returned distribution factors */
-% /* for the side set */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_side_set_dist_fact(*idexo,*side_set_id,
- side_set_dist_fact) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get side set distribution factors from file id %d",
- *idexo);
- ex_err("exgssd",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read side sets IDs
- */
-% void
-% exgssi (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_ids, /* returned side set IDs */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_side_set_ids(*idexo,side_set_ids) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get side set ids from file id %d",
- *idexo);
- ex_err("exgssi",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write concatenated side sets
- */
-% void
-% expcss (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_ids, /* side set ID for each side set */
-% int *num_elem_per_set, /* number of elements for each side set */
-% int *num_dist_per_set, /* number of dist factors for each side set */
-% int *side_sets_elem_index,/* indices into the side_set_elem_list which */
-% /* are the locations of the first element for*/
-% /* each side set - 1 based */
-% int *side_sets_dist_index,/* indices into the side_set_dist_fact which */
-% /* are the locations of the first node for */
-% /* each side set - 1 based */
-% int *side_sets_elem_list, /* concatenated list of elements for all the */
-% /* side sets */
-% int *side_sets_side_list, /* concatenated list of sides for all the */
-% /* side sets */
-% real *side_sets_dist_fact, /* concatenated list of distribution */
-% /* factors for all side sets */
-% int *ierr /* returned error code */
-% )
-% {
- int num_side_sets, i, *elem_index_ptr, *dist_index_ptr;
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
-
- if (exoptval & EX_DEBUG) printf("[expcss]\n");
-
- num_side_sets = ex_inquire_int(*idexo,EX_INQ_SIDE_SETS);
-
- /* allocate memory for C element index array */
- if (!(elem_index_ptr=malloc(num_side_sets*sizeof(int))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element index array for file id %d",
- *idexo);
- ex_err("expcss",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* allocate memory for C dist factor index array */
- if (!(dist_index_ptr=malloc(num_side_sets*sizeof(int))))
- {
- free(elem_index_ptr);
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for dist index array for file id %d",
- *idexo);
- ex_err("expcss",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- for (i=0;i<num_side_sets;i++) /* change from 1-based to 0 index */
- {
- elem_index_ptr[i] = side_sets_elem_index[i] - 1;
- dist_index_ptr[i] = side_sets_dist_index[i] - 1;
- }
-
- if (ex_put_concat_side_sets(*idexo,side_set_ids,num_elem_per_set,
- num_dist_per_set,elem_index_ptr,
- dist_index_ptr,side_sets_elem_list,
- side_sets_side_list,side_sets_dist_fact) == EX_FATAL)
- {
- free(elem_index_ptr);
- free(dist_index_ptr);
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store concatenated side sets in file id %d",
- *idexo);
- ex_err("expcss",errmsg,EX_MSG);
- }
- return;
- }
- free(elem_index_ptr);
- free(dist_index_ptr);
-}
-
-/*
- * read concatenated side sets
- */
-% void
-% exgcss (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_ids, /* returned side set IDs for each side set */
-% int *num_elem_per_set, /* returned number of elements for each side */
-% /* set */
-% int *num_dist_per_set, /* returned number of nodes for each side set */
-% int *side_sets_elem_index,/* returned indices into the */
-% /* side_set_elem_list which are the locations*/
-% /* of the first element for each side set */
-% int *side_sets_dist_index,/* returned indices into the */
-% /* side_set_node_list which are the locations*/
-% /* of the first node for each side set */
-% int *side_sets_elem_list, /* returned concatenated list of elements for*/
-% /* all the side sets */
-% int *side_sets_side_list, /* returned concatenated list of nodes for */
-% /* all the side sets */
-% real *side_sets_dist_fact, /* returned concatenated list of */
-% /* distribution factors for all side sets */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
-
- int i, num_side_sets, *elem_index_ptr, *dist_index_ptr;
-
- *ierr = 0;
-
- num_side_sets = ex_inquire_int(*idexo,EX_INQ_SIDE_SETS);
-
- /* allocate memory for C elem index array */
- if (!(elem_index_ptr=malloc(num_side_sets*sizeof(int))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element index array for file id %d",
- *idexo);
- ex_err("exgcss",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* allocate memory for C dist factor index array */
- if (!(dist_index_ptr=malloc(num_side_sets*sizeof(int))))
- {
- free(elem_index_ptr);
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for dist index array for file id %d",
- *idexo);
- ex_err("exgcss",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
-/* printf("[exgcss] calling ex_get_side_set ...\n");
- printf("[exgcss] loc side_set_ids: %ld\n",side_set_ids);
- printf("[exgcss] loc num_elem_per_set: %ld\n",num_elem_per_set);
- printf("[exgcss] loc num_nodes_per_set: %ld\n",num_nodes_per_set);
- printf("[exgcss] loc side_sets_node_index: %ld\n",side_sets_node_index);
- printf("[exgcss] loc side_sets_elem_index: %ld\n",side_sets_elem_index);
- printf("[exgcss] loc side_sets_node_list: %ld\n",side_sets_node_list);
- printf("[exgcss] loc side_sets_elem_list: %ld\n",side_sets_elem_list);
- printf("[exgcss] loc side_sets_dist_fact: %ld\n",side_sets_dist_fact); */
-
- if (ex_get_concat_side_sets(*idexo,side_set_ids,num_elem_per_set,
- num_dist_per_set,elem_index_ptr,
- dist_index_ptr,side_sets_elem_list,
- side_sets_side_list,side_sets_dist_fact) == EX_FATAL)
- {
- free (elem_index_ptr);
- free (dist_index_ptr);
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get concatenated side sets from file id %d",
- *idexo);
- ex_err("exgcss",errmsg,EX_MSG);
- }
- return;
- }
-
- for (i=0;i<num_side_sets;i++) /* change from 0-based to 1 index */
- {
- side_sets_elem_index[i] = elem_index_ptr[i] + 1;
- side_sets_dist_index[i] = dist_index_ptr[i] + 1;
-/* First walk element index array */
- /* printf("[exgcss] # of elem per side set[%d]: %d\n",i,num_elem_per_set[i]);
- printf("[exgcss] elem index[%d]: %d\n",i,side_sets_elem_index[i]); */
-/* Then walk node index array */
- /* printf("[exgcss] # of nodes per side set: %d\n",num_nodes_per_set[i]);
- printf("[exgcss] node index[%d]: %d\n",i,side_sets_node_index[i]); */
- }
- free (elem_index_ptr);
- free (dist_index_ptr);
-}
-
-/*
- * read concatenated side sets (no dist factors)
- */
-% void
-% exgcssf (
-% int *idexo, /* EXODUS file ID */
-% int *side_set_ids, /* returned side set IDs for each side set */
-% int *num_elem_per_set, /* returned number of elements for each side */
-% /* set */
-% int *num_dist_per_set, /* returned number of nodes for each side set */
-% int *side_sets_elem_index,/* returned indices into the */
-% /* side_set_elem_list which are the locations*/
-% /* of the first element for each side set */
-% int *side_sets_dist_index,/* returned indices into the */
-% /* side_set_node_list which are the locations*/
-% /* of the first node for each side set */
-% int *side_sets_elem_list, /* returned concatenated list of elements for*/
-% /* all the side sets */
-% int *side_sets_side_list, /* returned concatenated list of nodes for */
-% /* all the side sets */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
-
- int i, num_side_sets, *elem_index_ptr, *dist_index_ptr;
-
- *ierr = 0;
-
- num_side_sets = ex_inquire_int(*idexo,EX_INQ_SIDE_SETS);
-
- /* allocate memory for C elem index array */
- if (!(elem_index_ptr=malloc(num_side_sets*sizeof(int))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element index array for file id %d",
- *idexo);
- ex_err("exgcss",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* allocate memory for C dist factor index array */
- if (!(dist_index_ptr=malloc(num_side_sets*sizeof(int))))
- {
- free(elem_index_ptr);
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for dist index array for file id %d",
- *idexo);
- ex_err("exgcss",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- if (ex_get_concat_side_sets(*idexo,side_set_ids,num_elem_per_set,
- num_dist_per_set,elem_index_ptr,
- dist_index_ptr,side_sets_elem_list,
- side_sets_side_list,0) == EX_FATAL)
- {
- free (elem_index_ptr);
- free (dist_index_ptr);
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get concatenated side sets from file id %d",
- *idexo);
- ex_err("exgcss",errmsg,EX_MSG);
- }
- return;
- }
-
- for (i=0;i<num_side_sets;i++) /* change from 0-based to 1 index */
- {
- side_sets_elem_index[i] = elem_index_ptr[i] + 1;
- side_sets_dist_index[i] = dist_index_ptr[i] + 1;
- }
- free (elem_index_ptr);
- free (dist_index_ptr);
-}
-
-/*
- * write results variables parameters
- */
-% void
-% expvp (
-% int *idexo, /* EXODUS file ID */
-% string var_type, /* (single) character indicating the type of */
-% /* variable which is described */
-% int *num_vars, /* number of var_type variables */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_var_param(*idexo,var_type,*num_vars) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store results variables parameters in file id %d",
- *idexo);
- ex_err("expvp",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read results variables parameters
- */
-% void
-% exgvp (
-% int *idexo, /* EXODUS file ID */
-% string var_type, /* (single) character indicating the type of */
-% /* variable which is described */
-% int *num_vars, /* returned number of var_type variables */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_var_param(*idexo,var_type,num_vars) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get results variables parameters from file id %d",
- *idexo);
- ex_err("exgvp",errmsg,EX_MSG);
- }
- }
- /** if (exoptval & EX_DEBUG)
- printf("[exgvp] # of vars for type %c: %d\n",
- *var_type,*num_vars); **/
-}
-
-/*
- * write results variables names
- */
-% void
-% expvan (
-% int *idexo, /* EXODUS file ID */
-% string var_type, /* (single) character indicating the type of */
-% /* variables which is described */
-% int *num_vars, /* number of var_type variables to be written */
-% string var_names, /* string containing num_vars variable names */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char **aptr;/* ptr to temp staging space for string array ptrs */
- char *sptr; /* ptr to temp staging space for strings */
- int i,slen;
-
- *ierr=0; /* default no errror */
-
- slen = ex_inquire_int(*idexo, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH); /* max str size */
- if (var_nameslen < slen)
- {
- slen = var_nameslen;
- }
-
- /* allocate memory for pointer array */
- if (!(aptr=malloc((*num_vars+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for variable names ptr array for file id %d",
- *idexo);
- ex_err("expvan",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate staging space for the variable names */
- if (!(sptr=malloc(*num_vars*(slen+1)*sizeof(char))))
- {
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for variable names buffer for file id %d",
- *idexo);
- ex_err("expvan",errmsg,EX_MEMFAIL);
- }
- free(aptr); /* Free up string ptr array */
- *ierr = EX_MEMFAIL;
- return;
- }
- /* Copy Fortran variable names to staging space */
- for (i=0;i<*num_vars;i++)
- {
- *(aptr+i) = sptr+i*(slen+1); /* put address into ptr array */
- ex_fstrncpy(*(aptr+i),var_names+i*var_nameslen,slen);/* copy string into buffer */
- }
- *(aptr+i) = 0; /* null out last ptr */
- /* do ExodusII C call to write results variables names */
- if (ex_put_var_names(*idexo,var_type,*num_vars,aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store results variables names in file id %d",
- *idexo);
- ex_err("expvan",errmsg,EX_MSG);
- }
- }
-
- free(sptr); /* Free up string staging area */
- free(aptr); /* Free up string ptr array */
-}
-/*
- * read results variables names
- */
-% void
-% exgvan (
-% int *idexo, /* EXODUS file ID */
-% string var_type, /* (single) character indicating the type of */
-% /* variable which is described */
-% int *num_vars, /* number of var_type variables to be read */
-% string var_names, /* returned string containing num_vars variable*/
-% /* names */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char **aptr;/* ptr to temp staging space for string array ptrs */
- char *sptr; /* ptr to temp staging space for strings */
- int i,slen;
-
- *ierr=0; /* default no errror */
-
- /**if (exoptval & EX_DEBUG)
- printf("[exgvan] # of variable names: %d\n",*num_vars); **/
-
- slen = ex_max_name_length; /* max str size */
- if (var_nameslen < slen)
- {
- slen = var_nameslen;
- }
-
- /* allocate memory to for pointer array */
- if (!(aptr=malloc((*num_vars+1)*sizeof(char *))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for results variable names ptr array for file id %d",
- *idexo);
- ex_err("exgvan",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Allocate staging space for the variable names */
- if (!(sptr=malloc(*num_vars*(slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for results variable names for file id %d",
- *idexo);
- ex_err("exgvan",errmsg,EX_MEMFAIL);
- }
- free(aptr); /* Free up string ptr array */
- return;
- }
- for (i=0;i<*num_vars;i++)
- *(aptr+i) = sptr+i*(slen+1); /* put address into ptr array */
- *(aptr+i) = 0; /* null out last ptr */
-
- /* do ExodusII C call to read results variables names */
- if (ex_get_var_names(*idexo,var_type,*num_vars,aptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- free(sptr); /* free up allocated space */
- free(aptr);
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get results variable names from file id %d",
- *idexo);
- ex_err("exgvan",errmsg,EX_MSG);
- }
- return;
- }
-
- /* Copy Fortran variable names to staging space */
- memset(var_names, 0, *num_vars*var_nameslen);
- for (i=0;i<*num_vars;i++)
- {
- /** printf("[exgvan] var_name(%d): %s\n",i,*(aptr+i)); **/
- ex_fcdcpy(var_names+i*var_nameslen,slen,*(aptr+i));/* copy str into Fortran buffer */
- }
-
- free(sptr); /* Free up string staging area */
- free(aptr); /* Free up string ptr array */
-}
-
-/*
- * write element variable truth table
- */
-% void
-% expvtt (
-% int *idexo, /* EXODUS file ID */
-% int *num_elem_blk, /* number of element blocks */
-% int *num_elem_var, /* number of element variables */
-% int *elem_var_tab, /* element variable truth table 2D array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
-
- /** printf("[expvtt] # elem blks: %d, # elem vars: %d\n",
- *num_elem_blk,*num_elem_var); **/
- *ierr = 0;
-
- if (ex_put_elem_var_tab(
- *idexo,*num_elem_blk,*num_elem_var,elem_var_tab) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element variable truth table in file id %d",
- *idexo);
- ex_err("expvtt",errmsg,EX_MSG);
- }
- return;
- }
-}
-
-/*
- * write nodeset variable truth table
- */
-% void
-% expnstt (
-% int *idexo, /* EXODUS file ID */
-% int *num_entity, /* number of entity blocks */
-% int *num_var, /* number of variables */
-% int *var_tab, /* entity variable truth table 2D array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
-
- if (ex_put_nset_var_tab(
- *idexo,*num_entity,*num_var,var_tab) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store nodeset variable truth table in file id %d",
- *idexo);
- ex_err("expnstt",errmsg,EX_MSG);
- }
- return;
- }
-}
-
-/*
- * write sideset variable truth table
- */
-% void
-% expsstt (
-% int *idexo, /* EXODUS file ID */
-% int *num_entity, /* number of entity blocks */
-% int *num_var, /* number of variables */
-% int *var_tab, /* entity variable truth table 2D array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
-
- if (ex_put_sset_var_tab(
- *idexo,*num_entity,*num_var,var_tab) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store sideset variable truth table in file id %d",
- *idexo);
- ex_err("expsstt",errmsg,EX_MSG);
- }
- return;
- }
-}
-
-/*
- * read element variable truth table
- */
-% void
-% exgvtt (
-% int *idexo, /* EXODUS file ID */
-% int *num_elem_blk, /* number of element blocks */
-% int *num_elem_var, /* number of element variables */
-% int *elem_var_tab, /* returned element variable truth table array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
-
- if (ex_get_elem_var_tab(
- *idexo,*num_elem_blk,*num_elem_var,elem_var_tab) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to failed to get element variable truth table from file id %d",
- *idexo);
- ex_err("exgvtt",errmsg,EX_MSG);
- }
- return;
- }
-}
-
-/*
- * read nodeset variable truth table
- */
-% void
-% exgnstt (
-% int *idexo, /* EXODUS file ID */
-% int *num_entity, /* number of entity blocks */
-% int *num_var, /* number of variables */
-% int *var_tab, /* returned variable truth table array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
-
- if (ex_get_nset_var_tab(
- *idexo,*num_entity,*num_var,var_tab) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to failed to get nodeset variable truth table from file id %d",
- *idexo);
- ex_err("exgnstt",errmsg,EX_MSG);
- }
- return;
- }
-}
-
-/*
- * read sideset variable truth table
- */
-% void
-% exgsstt (
-% int *idexo, /* EXODUS file ID */
-% int *num_entity, /* number of entity blocks */
-% int *num_var, /* number of variables */
-% int *var_tab, /* returned variable truth table array */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
-
- if (ex_get_sset_var_tab(
- *idexo,*num_entity,*num_var,var_tab) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to failed to get sideset variable truth table from file id %d",
- *idexo);
- ex_err("exgsstt",errmsg,EX_MSG);
- }
- return;
- }
-}
-
-/*
- * write global variable values at time step
- */
-% void
-% expgv (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *num_glob_vars, /* number of global variables */
-% real *glob_var_vals, /* array of global variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
- if (ex_put_glob_vars(*idexo,*time_step,*num_glob_vars,glob_var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store global variables in file id %d",
- *idexo);
- ex_err("expvg",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read global variable values at a time step
- */
-% void
-% exggv (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *num_glob_vars, /* number of global variables */
-% real *glob_var_vals, /* returned array of global variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
- if (ex_get_glob_vars(*idexo,*time_step,*num_glob_vars,glob_var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get global variables from file id %d",
- *idexo);
- ex_err("exggv",errmsg,EX_MSG);
- }
-
- }
-}
-
-/*
- * read global variable values through time
- */
-% void
-% exggvt (
-% int *idexo, /* EXODUS file ID */
-% int *glob_var_index, /* index of desired global variable */
-% int *beg_time_step, /* first time step for which value is desired */
-% int *end_time_step, /* last time step for which value is desired */
-% real *glob_var_vals, /* returned array of global variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_glob_var_time(*idexo,
- *glob_var_index,
- *beg_time_step,
- *end_time_step,
- glob_var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get global variables thru time from file id %d",
- *idexo);
- ex_err("exggvt",errmsg,EX_MSG);
- }
-
- }
-}
-
-/*
- * write nodal variable values at a time step
- */
-% void
-% expnv (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *nodal_var_index, /* index of nodal variable */
-% int *num_nodes, /* number of nodal points */
-% real *nodal_var_vals, /* array of nodal variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_nodal_var(*idexo,
- *time_step,
- *nodal_var_index,
- *num_nodes,
- nodal_var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store nodal variables in file id %d",
- *idexo);
- ex_err("expnv",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read nodal variable values at a time step
- */
-% void
-% exgnv (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *nodal_var_index, /* index of nodal variable */
-% int *num_nodes, /* number of nodal points */
-% real *nodal_var_vals, /* returned array of nodal variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_nodal_var(*idexo,
- *time_step,
- *nodal_var_index,
- *num_nodes,
- nodal_var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get nodal variables at time step %d from file id %d",
- *time_step,*idexo);
- ex_err("exgnv",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read nodal variable values through time
- */
-% void
-% exgnvt (
-% int *idexo, /* EXODUS file ID */
-% int *nodal_var_index, /* index of nodal variable */
-% int *node_number, /* number of desired node */
-% int *beg_time_step, /* first time step for which value is desired */
-% int *end_time_step, /* last time step for which value is desired */
-% real *nodal_var_vals, /* returned array of nodal variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_nodal_var_time(*idexo,
- *nodal_var_index,
- *node_number,
- *beg_time_step,
- *end_time_step,
- nodal_var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get nodal variables thru time from file id %d",
- *idexo);
- ex_err("exgnvt",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write element variable values at a time step
- */
-% void
-% expev (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *elem_var_index, /* index of element variable */
-% int *elem_blk_id, /* element block ID */
-% int *num_elem_this_blk, /* number of elements in this element block */
-% real *elem_var_vals, /* array of element variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_elem_var(*idexo,
- *time_step,
- *elem_var_index,
- *elem_blk_id,
- *num_elem_this_blk,
- elem_var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element variables in file id %d",
- *idexo);
- ex_err("expev",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read element variable values at a time step
- */
-% void
-% exgev (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *elem_var_index, /* index of element variable */
-% int *elem_blk_id, /* element block ID */
-% int *num_elem_this_blk, /* number of elements in this element block */
-% real *elem_var_vals, /* returned array of element variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_elem_var(*idexo,
- *time_step,
- *elem_var_index,
- *elem_blk_id,
- *num_elem_this_blk,
- elem_var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get element variables from file id %d",
- *idexo);
- ex_err("exgev",errmsg,EX_MSG);
- }
-
- if (exoptval & EX_DEBUG)
- ex_err("exgev"," error reading element variables",EX_MSG);
- }
-}
-
-/*
- * read element variable values through time
- */
-% void
-% exgevt (
-% int *idexo, /* EXODUS file ID */
-% int *elem_var_index, /* index of element variable */
-% int *elem_number, /* number of desired element */
-% int *beg_time_step, /* first time step for which value is desired */
-% int *end_time_step, /* last time step for which value is desired */
-% real *elem_var_vals, /* returned element variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_elem_var_time(*idexo,
- *elem_var_index,
- *elem_number,
- *beg_time_step,
- *end_time_step,
- elem_var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get element variables thru time from file id %d",
- *idexo);
- ex_err("exgevt",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write nodeset variable values at a time step
- */
-% void
-% expnsv (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *var_index, /* index of variable */
-% int *entity_id, /* entity ID */
-% int *num_entity, /* number of entities in this entity block */
-% real *var_vals, /* array of variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_nset_var(*idexo,
- *time_step,
- *var_index,
- *entity_id,
- *num_entity,
- var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store nodeset variables in file id %d",
- *idexo);
- ex_err("expnsv",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read nodeset variable values at a time step
- */
-% void
-% exgnsv (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *var_index, /* index of variable */
-% int *entity_id, /* entity ID */
-% int *num_entity, /* number of entities in this entity block */
-% real *var_vals, /* returned array of variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_nset_var(*idexo,
- *time_step,
- *var_index,
- *entity_id,
- *num_entity,
- var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get nodeset variables from file id %d",
- *idexo);
- ex_err("exgnsv",errmsg,EX_MSG);
- }
-
- if (exoptval & EX_DEBUG)
- ex_err("exgnsv"," error reading nodeset variables",EX_MSG);
- }
-}
-
-/*
- * write sideset variable values at a time step
- */
-% void
-% expssv (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *var_index, /* index of variable */
-% int *entity_id, /* entity ID */
-% int *num_entity, /* number of entities in this entity block */
-% real *var_vals, /* array of variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_sset_var(*idexo,
- *time_step,
- *var_index,
- *entity_id,
- *num_entity,
- var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store sideset variables in file id %d",
- *idexo);
- ex_err("expssv",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read sideset variable values at a time step
- */
-% void
-% exgssv (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* time step number */
-% int *var_index, /* index of variable */
-% int *entity_id, /* entity ID */
-% int *num_entity, /* number of entities in this entity block */
-% real *var_vals, /* returned array of variable values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_sset_var(*idexo,
- *time_step,
- *var_index,
- *entity_id,
- *num_entity,
- var_vals) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get sideset variables from file id %d",
- *idexo);
- ex_err("exgssv",errmsg,EX_MSG);
- }
-
- if (exoptval & EX_DEBUG)
- ex_err("exgssv"," error reading sideset variables",EX_MSG);
- }
-}
-
-/*
- * write time value for a time step
- */
-% void
-% exptim (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* the time step number */
-% real *time_value, /* simulation time value */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_time(*idexo,*time_step,time_value) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store time step value in file id %d",
- *idexo);
- ex_err("exptim",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read time value for a time step
- */
-% void
-% exgtim (
-% int *idexo, /* EXODUS file ID */
-% int *time_step, /* the time step number */
-% real *time_value, /* returned simulation time value */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_time(*idexo,*time_step,time_value) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get time step value from file id %d",
- *idexo);
- ex_err("exgtim",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read all time values
- */
-% void
-% exgatm (
-% int *idexo, /* EXODUS file ID */
-% real *time_values, /* returned simulation time values */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_get_all_times(*idexo,time_values) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get time step values from file id %d",
- *idexo);
- ex_err("exgatm",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * inquire EXODUS parameters
- */
-% void
-% exinq (
-% int *idexo, /* EXODUS file ID */
-% int *req_info, /* flag designating what information is */
-% /* requested */
-% int *ret_int, /* returned integer, if integer value requested*/
-% float *ret_float, /* returned real, if real value requested */
-% string ret_char, /* returned string, if string value requested */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
-
- *ierr = 0;
- if (ex_inquire(*idexo,(ex_inquiry)*req_info,ret_int,ret_float,ret_char) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get requested parameter from file id %d",
- *idexo);
- ex_err("exinq",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * convert side set node lists to side set side lists
- */
-% void
-% excn2s(
-% int *idexo, /* EXODUS file ID */
-% int *num_elem_per_set, /* number of element per set
-% int *num_nodes_per_set, /* number of nodes per set
-% int *side_sets_elem_index, /* index array of elements into elem list
-% int *side_sets_node_index, /* index array of nodes
-% int *side_sets_elem_list, /* array of elements
-% int *side_sets_node_list, /* array of nodes
-% int *side_sets_side_list, /* array of sides/faces
-% int *ierr /* returned error code */
-% )
-% {
-
- int i, num_side_sets, *node_index_ptr, *elem_index_ptr;
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
-
- num_side_sets = ex_inquire_int(*idexo,EX_INQ_SIDE_SETS);
-
- /* allocate memory for C element index array */
- if (!(elem_index_ptr=malloc(num_side_sets*sizeof(int))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for element index array for file id %d",
- *idexo);
- ex_err("excn2s",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* allocate memory for C node factor index array */
- if (!(node_index_ptr=malloc(num_side_sets*sizeof(int))))
- {
- free(elem_index_ptr);
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for node index array for file id %d",
- *idexo);
- ex_err("excn2s",errmsg,EX_MEMFAIL);
- }
- return;
- }
- /* change from 1-based to 0 index */
- for (i=0;i<num_side_sets;i++)
- {
- elem_index_ptr[i] = side_sets_elem_index[i] - 1;
- node_index_ptr[i] = side_sets_node_index[i] - 1;
- }
-
- if (ex_cvt_nodes_to_sides(*idexo,
- num_elem_per_set,
- num_nodes_per_set,
- elem_index_ptr,
- node_index_ptr,
- side_sets_elem_list,
- side_sets_node_list,
- side_sets_side_list) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to convert nodes to sides in file id %d",
- *idexo);
- ex_err("excn2s",errmsg,EX_MSG);
- }
- }
- free(elem_index_ptr);
- free(node_index_ptr);
-}
-
-/*
- * read side set node list
- */
-% void
-% exgssn(
-% int *idexo, /* EXODUS file ID */
-% int *side_set_id, /* side set ID */
-% int *side_set_node_cnt_list,/* array of node counts */
-% int *side_set_node_list, /* array of nodes */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
-
- if (ex_get_side_set_node_list(*idexo,*side_set_id, side_set_node_cnt_list,
- side_set_node_list) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get nodes for side set %d in file id %d",
- *side_set_id, *idexo);
- ex_err("exgssn",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read side set node count
- */
-% void
-% exgssc(
-% int *idexo, /* EXODUS file ID */
-% int *side_set_id, /* side set ID */
-% int *side_set_node_cnt_list,/* array of node counts */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
-
- if (ex_get_side_set_node_count(*idexo,*side_set_id, side_set_node_cnt_list) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get node counts for side set %d in file id %d",
- *side_set_id, *idexo);
- ex_err("exgssc",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read concatenated side set node count
- */
-% void
-% exgcssc(
-% int *idexo, /* EXODUS file ID */
-% int *side_set_node_cnt_list,/* array of node counts */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
-
- if (ex_get_concat_side_set_node_count(*idexo, side_set_node_cnt_list) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get node counts for side sets in file id %d", *idexo);
- ex_err("exgcssc",errmsg,EX_MSG);
- }
- }
-}
-
-/* ex_get_coordinate_frames -- read coordinate frames */
-% void
-% exgfrm (
-% int *idexo,
-% int *nframeo,
-% int *cfids,
-% real *coord,
-% int *tags,
-% int *ierr
-% )
-% {
- int i;
- char *ctags = NULL;
-
- char errmsg[MAX_ERR_LENGTH];
-
- /* Determine number of coordinate frames stored in file */
- int nframe = ex_inquire_int(*idexo, EX_INQ_COORD_FRAMES);
-
- if (nframe != *nframeo) {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG) {
- sprintf(errmsg,
- "Error: nframe argument (%d) does not match number found on file (%d) from file id %d",
- *nframeo, nframe, *idexo);
- ex_err("exgfrm",errmsg,EX_MSG);
- }
- return;
- }
-
- /* Create array of characters to store tags... */
- if (nframe > 0) {
- if (!(ctags = calloc(nframe, sizeof(char)))) {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG) {
- sprintf(errmsg,
- "Error: failed to allocate space for node index array for file id %d",
- *idexo);
- ex_err("exgfrm",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- *ierr = 0;
-
- if (ex_get_coordinate_frames (*idexo, &nframe, cfids, coord, ctags) == EX_FATAL) {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG) {
- sprintf(errmsg,
- "Error: failed to get coordinate frames from file id %d",
- *idexo);
- ex_err("exgfrm",errmsg,EX_MSG);
- }
- return;
- }
-
- /* Convert character tags back to integer tags for fortran */
- for (i = 0; i < nframe; i++) {
- if (ctags[i] == 'R' || ctags[i] == 'r')
- tags[i] = EX_CF_RECTANGULAR;
- else if (ctags[i] == 'C' || ctags[i] == 'c')
- tags[i] = EX_CF_CYLINDRICAL;
- else if (ctags[i] == 'S' || ctags[i] == 's')
- tags[i] = EX_CF_SPHERICAL;
- }
- free(ctags);
- }
-}
-
-/* ex_put_coordinate_frames -- define/write coordinate frames */
-% void
-% expfrm (
-% int *idexo,
-% int *nframe,
-% int *cfids,
-% real *coord,
-% int *tags,
-% int *ierr
-% )
-% {
- int i;
- char *ctags = NULL;
-
- char errmsg[MAX_ERR_LENGTH];
-
- /* Create array of characters to store tags... */
- if (*nframe > 0) {
- if (!(ctags = calloc(*nframe, sizeof(char)))) {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG) {
- sprintf(errmsg,
- "Error: failed to allocate space for node index array for file id %d",
- *idexo);
- ex_err("exgfrm",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* Convert fortran integer tags to C API character tags */
- for (i = 0; i < *nframe; i++) {
- if (tags[i] == EX_CF_RECTANGULAR)
- ctags[i] = 'R';
- else if (tags[i] == EX_CF_CYLINDRICAL)
- ctags[i] = 'C';
- else if (tags[i] == EX_CF_SPHERICAL)
- ctags[i] = 'S';
- }
-
- *ierr = 0;
-
- if (ex_put_coordinate_frames (*idexo, *nframe, cfids, coord, ctags) == EX_FATAL) {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG) {
- sprintf(errmsg,
- "Error: failed to define/write coordinate frames in file id %d",
- *idexo);
- ex_err("expfrm",errmsg,EX_MSG);
- }
- return;
- }
-
- free(ctags);
- }
-}
-
-
-/* Routine to return floating point word size */
-% int
-% excpws ()
-% {
- return (ex_get_cpu_ws());
-}
-
-/* Routine to return large model setting */
-% int
-% exlgmd (
-% int *idexo
-% )
-% {
- return (ex_large_model(*idexo));
-}
-
-
-/* Generalized error handling function */
-% void
-% exerr (
-% string pname, /* procedure name */
-% string err_string, /* error message string */
-% int *errcode /* error code */
-% )
-% {
-
- char *proc_name, *error_string;
- if (!(proc_name = malloc((pnamelen+1)*sizeof(char))))
- {
- ex_err("exerr","Error: failed to allocate space for process name buffer",
- EX_MEMFAIL);
- return;
- }
- if (!(error_string = malloc((err_stringlen+1)*sizeof(char))))
- {
- free(proc_name);
- ex_err("exerr","Error: failed to allocate space for error msg buffer",
- EX_MEMFAIL);
- return;
- }
- ex_fstrncpy(proc_name,pname,pnamelen);
- ex_fstrncpy(error_string,err_string,err_stringlen);
- ex_err(proc_name,error_string,*errcode);
- free(proc_name);
- free(error_string);
-}
-
-/* Error message reporting options setting function */
-% void
-% exopts (
-% int *option_val /* option value */
-% int *ierr /* error return code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = 0;
- ex_opts((ex_options)*option_val);
- if (exerrval != 0)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to set error reporting option to %d",
- *option_val);
- ex_err("exopts",errmsg,EX_MSG);
- }
- }
-}
-
-% void
-% exmxnm (
-% int *idexo, /* EXODUS file ID */
-% int *length, /* max length of names */
-% int *ierr /* error return code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
- *ierr = ex_set_max_name_length(*idexo, *length);
- if (*ierr != 0)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to set maximum name length to %d",
- *length);
- ex_err("exmxnm",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * copy EXODUS file
- */
-% void
-% excopy (
-% int *idexo_in, /* input EXODUS file ID */
-% int *idexo_out, /* output EXODUS file ID */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_copy (*idexo_in, *idexo_out) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to copy EXODUS file id %d to file id %d",
- *idexo_in, *idexo_out);
- ex_err("excopy",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * get element map
- */
-% void
-% exgem (
-% int *idexo, /* EXODUS file ID */
-% int *map_id, /* element map ID */
-% int *elem_map, /* returned element map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- *ierr = ex_get_elem_map (*idexo, *map_id, elem_map);
- if (*ierr < 0)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get element map from file id %d",
- *idexo);
- ex_err("exgem",errmsg,EX_MSG);
- }
- }
-}
-/*
- * get partial_element map
- */
-% void
-% exgpem (
-% int *idexo, /* EXODUS file ID */
-% int *map_id, /* element map ID */
-% int *start, /* starting entity */
-% int *count, /* number to read */
-% int *elem_map, /* returned element map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- *ierr = ex_get_partial_elem_map (*idexo, *map_id, *start, *count, elem_map);
- if (*ierr < 0)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get partial element map from file id %d",
- *idexo);
- ex_err("exgem",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * get element number map
- */
-% void
-% exgenm (
-% int *idexo, /* EXODUS file ID */
-% int *elem_map, /* returned element order map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- *ierr = ex_get_elem_num_map (*idexo, elem_map);
- if (*ierr < 0)
-/* if (ex_get_elem_num_map (*idexo, elem_map) == -1) */
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get element number map from file id %d",
- *idexo);
- ex_err("exgenm",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * get map parameters
- */
-% void
-% exgmp (
-% int *idexo, /* EXODUS file ID */
-% int *num_node_maps, /* returned number of node maps */
-% int *num_elem_maps, /* returned number of element maps */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- *ierr = ex_get_map_param (*idexo, num_node_maps, num_elem_maps);
- if (*ierr < 0)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get map parameters from file id %d",
- *idexo);
- ex_err("exgmp",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * get node map
- */
-% void
-% exgnm (
-% int *idexo, /* EXODUS file ID */
-% int *map_id, /* node map ID */
-% int *node_map, /* returned node map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- *ierr = ex_get_node_map (*idexo, *map_id, node_map);
- if (*ierr < 0)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get node map from file id %d",
- *idexo);
- ex_err("exgem",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * get node number map
- */
-% void
-% exgnnm (
-% int *idexo, /* EXODUS file ID */
-% int *node_map, /* returned node order map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- *ierr = ex_get_node_num_map (*idexo, node_map);
- if (*ierr < 0)
-/* if (ex_get_node_num_map (*idexo, node_map) == -1) */
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get node number map from file id %d",
- *idexo);
- ex_err("exgnnm",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * read results variables names
- */
-% void
-% exgvnm (
-% int *idexo, /* EXODUS file ID */
-% string var_type, /* (single) character indicating the type of */
-% /* variable which is described */
-% int *var_index /* variable index to be read */
-% string var_name, /* returned string containing variable name */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char *sptr; /* ptr to temp staging space for string */
- int slen;
- *ierr=0; /* default no errror */
-
- slen = ex_max_name_length; /* max str size */
- if (var_namelen < slen)
- {
- slen = var_namelen;
- }
-
- /* Allocate staging space for the variable name */
- if (!(sptr=malloc((slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for results variable name for file id %d",
- *idexo);
- ex_err("exgvnm",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- /* do ExodusII C call to read results variables names */
- if (ex_get_var_name(*idexo,var_type,*var_index,sptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- free(sptr); /* free up allocated space */
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get results variable name from file id %d",
- *idexo);
- ex_err("exgvnm",errmsg,EX_MSG);
- }
- return;
- }
-
- /* Copy Fortran variable names to staging space */
- /** printf("[exgvnm] var_name(%d): %s\n",*var_index,sptr)); **/
- memset(var_name, 0, var_namelen);
- ex_fcdcpy(var_name,slen,sptr);/* copy string into Fortran buffer */
-
- free(sptr); /* Free up string staging area */
-}
-
-/*
- * put element map
- */
-% void
-% expem (
-% int *idexo, /* EXODUS file ID */
-% int *map_id, /* element map ID */
-% int *elem_map, /* element map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_elem_map (*idexo, *map_id, elem_map) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element map in file id %d",
- *idexo);
- ex_err("expem",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * put partial element map
- */
-% void
-% exppem (
-% int *idexo, /* EXODUS file ID */
-% int *map_id, /* element map ID */
-% int *start, /* starting entity */
-% int *count, /* number to write */
-% int *elem_map, /* element map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_partial_elem_map (*idexo, *map_id, *start, *count, elem_map) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element map in file id %d",
- *idexo);
- ex_err("expem",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * put element number map
- */
-% void
-% expenm (
-% int *idexo, /* EXODUS file ID */
-% int *elem_map, /* element order map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_elem_num_map (*idexo, elem_map) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store element number map in file id %d",
- *idexo);
- ex_err("expenm",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * put map parameters
- */
-% void
-% expmp (
-% int *idexo, /* EXODUS file ID */
-% int *num_node_maps, /* number of node maps */
-% int *num_elem_maps, /* number of element maps */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_map_param (*idexo, *num_node_maps, *num_elem_maps) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to put map parameters in file id %d",
- *idexo);
- ex_err("expmp",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * put node map
- */
-% void
-% expnm (
-% int *idexo, /* EXODUS file ID */
-% int *map_id, /* node map ID */
-% int *node_map, /* node map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_node_map (*idexo, *map_id, node_map) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store node map in file id %d",
- *idexo);
- ex_err("expnm",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * put node number map
- */
-% void
-% expnnm (
-% int *idexo, /* EXODUS file ID */
-% int *node_map, /* node order map */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- *ierr = 0;
- if (ex_put_node_num_map (*idexo, node_map) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to store node number map in file id %d",
- *idexo);
- ex_err("expnnm",errmsg,EX_MSG);
- }
- }
-}
-
-/*
- * write results variable name
- */
-% void
-% expvnm (
-% int *idexo, /* EXODUS file ID */
-% string var_type, /* (single) character indicating the type of */
-% /* variable which is described */
-% int *var_index /* variable index to be read */
-% string var_name, /* string containing variable name */
-% int *ierr /* returned error code */
-% )
-% {
-
- char errmsg[MAX_ERR_LENGTH];
-
-
- char *sptr; /* ptr to temp staging space for string */
- int slen;
- *ierr=0; /* default no errror */
-
- slen = ex_inquire_int(*idexo, EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH); /* max str size */
- if (var_namelen < slen)
- {
- slen = var_namelen;
- }
-
- /* Allocate staging space for the variable name */
- if (!(sptr=(char *)malloc((slen+1)*sizeof(char))))
- {
- *ierr = EX_MEMFAIL;
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to allocate space for results variable name for file id %d",
- *idexo);
- ex_err("expvnm",errmsg,EX_MEMFAIL);
- }
- return;
- }
-
- ex_fstrncpy(sptr,var_name,slen);/* copy string into buffer */
-
-
- /* do ExodusII C call to write results variable name */
- if (ex_put_var_name(*idexo,var_type,*var_index,sptr) == EX_FATAL)
- {
- *ierr = EX_FATAL;
- free(sptr); /* free up allocated space */
- if (exoptval & EX_DEBUG)
- {
- sprintf(errmsg,
- "Error: failed to get write variable name to file id %d",
- *idexo);
- ex_err("expvnm",errmsg,EX_MSG);
- }
- return;
- }
-
- free(sptr); /* Free up string staging area */
-}
diff --git a/forbind/test/CMakeLists.txt b/forbind/test/CMakeLists.txt
deleted file mode 100644
index 5d66147..0000000
--- a/forbind/test/CMakeLists.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-ADD_DEFINITIONS(-DUSING_CMAKE)
-
-SET( forbind_OLDTESTS
- testwt
- testwtd
- testrd
- testrd1
- testrdd
- testwt1
- testwt2
- testwtm
- testcp
- testcpnl
- testcpln
- testwt_nsid
- testrd_nsid
- test_nem
-)
-
- CONFIGURE_FILE(
- ${CMAKE_CURRENT_SOURCE_DIR}/testall.in
- ${CMAKE_CURRENT_BINARY_DIR}/testall
- @ONLY
- )
-
- # NOTE: The "LINKER_LANGUAGE CXX" is used to workaround an issue with
- # the trilinos cmake adding the pamgen and pamgen_extras libraries as
- # a dependency. These are C++ libraries and result in unresolved depedencies
- # when built with shareable libraries on some platforms....
-
-FOREACH ( testName ${forbind_OLDTESTS} )
- ADD_EXECUTABLE( f_${testName} ${testName}.f )
- TARGET_LINK_LIBRARIES( f_${testName} exoIIv2for )
- SET_TARGET_PROPERTIES(f_${testName} PROPERTIES LINKER_LANGUAGE Fortran)
-ENDFOREACH ( testName )
-
-ADD_CUSTOM_TARGET( f_check
- COMMAND /bin/csh ${CMAKE_CURRENT_BINARY_DIR}/testall
- WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-)
diff --git a/forbind/test/Imakefile b/forbind/test/Imakefile
deleted file mode 100644
index a79e6ae..0000000
--- a/forbind/test/Imakefile
+++ /dev/null
@@ -1,78 +0,0 @@
-### Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-### DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-### retains certain rights in this software.
-###
-### Redistribution and use in source and binary forms, with or without
-### modification, are permitted provided that the following conditions are
-### met:
-###
-### * Redistributions of source code must retain the above copyright
-### notice, this list of conditions and the following disclaimer.
-###
-### * Redistributions in binary form must reproduce the above
-### copyright notice, this list of conditions and the following
-### disclaimer in the documentation and/or other materials provided
-### with the distribution.
-###
-### * Neither the name of Sandia Corporation nor the names of its
-### contributors may be used to endorse or promote products derived
-### from this software without specific prior written permission.
-###
-### THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-### "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-### LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-### A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-### OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-### SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-### LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-### DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-### THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-### (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-### OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-###
-
-### Imakefile ---
-
-ALTINC = -I../include
-
-#if defined CatamountArchitecture
-EXOIITEST = -L../.. -lexoIIv2for32 -lexodus
-LOCALEXO = ../../libexoIIv2for32.a ../../libexodus.a
-#else
-EXOIITEST = -L../.. -lexoIIv2for -lexodus
-LOCALEXO = ../../libexoIIv2for.a ../../libexodus.a
-#endif
-
-LIBS = $(LOCALEXO) -L$(USRLIBDIR) $(NETCDF)
-
-PROGS = testwt testwtd testrd testrd1 testrdd testwt1 testwt2 testwtm testcp testcpnl testcpln testwt_nsid testrd_nsid test_nem
-
-all:: check
-
-NormalFortranTarget(testwt, testwt.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testwtd, testwtd.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testrd, testrd.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testrd1, testrd1.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testrdd, testrdd.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testwt1, testwt1.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testwt2, testwt2.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testwtm, testwtm.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testcp, testcp.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testcpnl, testcpnl.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testcpln, testcpln.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testwt_nsid, testwt_nsid.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(testrd_nsid, testrd_nsid.o, $(LOCALEXO), /**/, $(LIBS))
-NormalFortranTarget(test_nem, test_nem.o, $(LOCALEXO), /**/, $(LIBS))
-
-testall: testall.in1 $(CONFIGDIR)/$(MACROFILE)
- rm -f testall
- $(ETCDIR)/MsubCmd +R"@<" -R">@" testall.in1 >testall
-
-test: check
-check: $(PROGS) testall
- csh -f ./testall
-
-ExtraStuffToClean(*.res)
-ExtraStuffToClean(*.exo)
-ExtraStuffToClean(test.output)
-ExtraStuffToClean(testall)
diff --git a/forbind/test/Makefile.standalone b/forbind/test/Makefile.standalone
deleted file mode 100644
index 84eb65c..0000000
--- a/forbind/test/Makefile.standalone
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-
-EXOIITEST = -L../.. -lexoIIv2for -lexodus
-LOCALEXO = ../../libexoIIv2for.a ../../libexodus.a
-LIBS = $(LOCALEXO) $(NETCDF_LIB)
-
-PROGS = testwt testwtd testrd testrd1 testrdd testwt1 testwt2 testwtm testcp testcpnl testcpln testwt_nsid testrd_nsid test_nem
-
-all:: check
-
-testwt:: testwt.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testwt.o $(LDFLAGS) $(LIBS)
-
-testwtd:: testwtd.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testwtd.o $(LDFLAGS) $(LIBS)
-
-testrd:: testrd.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testrd.o $(LDFLAGS) $(LIBS)
-
-testrd1:: testrd1.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testrd1.o $(LDFLAGS) $(LIBS)
-
-testrdd:: testrdd.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testrdd.o $(LDFLAGS) $(LIBS)
-
-testwt1:: testwt1.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testwt1.o $(LDFLAGS) $(LIBS)
-
-testwt2:: testwt2.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testwt2.o $(LDFLAGS) $(LIBS)
-
-testwtm:: testwtm.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testwtm.o $(LDFLAGS) $(LIBS)
-
-testcp:: testcp.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testcp.o $(LDFLAGS) $(LIBS)
-
-testcpnl:: testcpnl.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testcpnl.o $(LDFLAGS) $(LIBS)
-
-testcpln:: testcpln.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testcpln.o $(LDFLAGS) $(LIBS)
-
-testwt_nsid:: testwt_nsid.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testwt_nsid.o $(LDFLAGS) $(LIBS)
-
-testrd_nsid:: testrd_nsid.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) testrd_nsid.o $(LDFLAGS) $(LIBS)
-
-test_nem:: test_nem.o $(LOCALEXO)
- $(FC) -o $@ $(FFLAGS) test_nem.o $(LDFLAGS) $(LIBS)
-
-test: check
-check: $(PROGS)
- csh ./testall.standalone ${NCDUMP}
-
-clean::
- rm -f *.res $(PROGS)
-
-clean::
- rm -f *.exo
-
-clean::
- rm -f test.output
-
-clean::
- rm -f *.CKP *.ln *.BAK *.bak *.o *.M *.mod core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut "#"*
-
-.SUFFIXES: .F .f .c
-.c.o:
- $(CC) -c $(CFLAGS) $*.c
-.f.o:
- $(FC) -c $(FFLAGS) $*.f
-.F.o:
- $(FC) -c $(DEFINES) $(FFLAGS) $*.F
-
-# ----------------------------------------------------------------------
-# dependencies generated by makedepend or sfmakedepend
-
diff --git a/forbind/test/exodus_unit_tests.gold b/forbind/test/exodus_unit_tests.gold
deleted file mode 100644
index 07bf07a..0000000
--- a/forbind/test/exodus_unit_tests.gold
+++ /dev/null
@@ -1,20 +0,0 @@
-************************************************************************
-************************************************************************
-testwt ...
-testrd ...
-testrd ... [Expect ex_create NOCLOBBER error from this test]
-testcp_ss ...
-testcpln ...
-testcpnl ...
-testwt1 ...
-testwt1 ... [Expect WEDGE6 warning from this test]
-testrd1 ...
-testrd1 ... [Expect failure locating elem var 1 for elem block 12]
-testwtd ...
-testrdd ...
-testwt2 ...
-testwt_nsid ...
-testrd_nsid ...
-test_nem ...
-************************************************************************
-************************************************************************
diff --git a/forbind/test/test-nsided.dmp b/forbind/test/test-nsided.dmp
deleted file mode 100644
index 077ccdf..0000000
--- a/forbind/test/test-nsided.dmp
+++ /dev/null
@@ -1,97 +0,0 @@
-netcdf test-nsided {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 33 ;
- num_elem = 7 ;
- num_el_blk = 1 ;
- num_el_in_blk1 = 7 ;
- num_nod_per_el1 = 37 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_cframes = 3 ;
- num_cframes_9 = 27 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- int connect1(num_nod_per_el1) ;
- connect1:elem_type = "nsided" ;
- int ebepecnt1(num_el_in_blk1) ;
- ebepecnt1:entity_type1 = "NODE" ;
- ebepecnt1:entity_type2 = "ELEM" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- float frame_coordinates(num_cframes_9) ;
- int frame_ids(num_cframes) ;
- char frame_tags(num_cframes) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1 ;
-
- eb_prop1 = 10 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0, 2.7, 6, 5.7, 3.7, 0, 10, 10 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2, 1.7, 1.7, 1.7, 0, 0, 0, 10 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0, 2.7, 3.3, 1.7, 2.3, 0, 0, 10 ;
-
- eb_names =
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5, 6, 7 ;
-
- connect1 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
- 19, 20, 21, 22, 23, 24, 25, 26, 17, 18, 19, 20, 27, 28, 30, 29, 31, 32, 33 ;
-
- ebepecnt1 = 4, 4, 8, 4, 6, 8, 3 ;
-
- qa_records =
- "testwt",
- "07/07/93",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- frame_coordinates = 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.1, 1.2,
- 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7,
- 2.8, 2.9 ;
-
- frame_ids = 1, 11, 111 ;
-
- frame_tags = "RCS" ;
-}
diff --git a/forbind/test/test.dmp b/forbind/test/test.dmp
deleted file mode 100644
index b8f70b4..0000000
--- a/forbind/test/test.dmp
+++ /dev/null
@@ -1,556 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "THICKNESS" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "THICKNESS" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "THICKNESS" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "THICKNESS" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "THICKNESS" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 10, 20, 30, 40, 50 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 100, 101, 102, 103, 104 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 200, 201, 202 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "testwt",
- "07/07/93",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5, 1.52,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5, 2.56,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5, 2.52,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5, 3.56,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 ;
-
- name_nod_var =
- "nod_var0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb3 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1 ;
-}
diff --git a/forbind/test/test1.dmp b/forbind/test/test1.dmp
deleted file mode 100644
index d33865f..0000000
--- a/forbind/test/test1.dmp
+++ /dev/null
@@ -1,714 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 28 ;
- num_elem = 8 ;
- num_el_blk = 7 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_node_maps = 1 ;
- num_elem_maps = 2 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 3 ;
- num_el_in_blk2 = 2 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 3 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 3 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 3 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 1 ;
- num_att_in_blk5 = 3 ;
- num_el_in_blk6 = 1 ;
- num_nod_per_el6 = 1 ;
- num_att_in_blk6 = 3 ;
- num_el_in_blk7 = 1 ;
- num_nod_per_el7 = 6 ;
- num_att_in_blk7 = 3 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 2 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int nm_prop1(num_node_maps) ;
- nm_prop1:name = "ID" ;
- char nmap_names(num_node_maps, len_name) ;
- int node_map1(num_nodes) ;
- int em_prop1(num_elem_maps) ;
- em_prop1:name = "ID" ;
- char emap_names(num_elem_maps, len_name) ;
- int elem_map1(num_elem) ;
- int elem_map2(num_elem) ;
- int em_prop2(num_elem_maps) ;
- em_prop2:_FillValue = 0 ;
- em_prop2:name = "ORDER" ;
- int em_prop3(num_elem_maps) ;
- em_prop3:_FillValue = 0 ;
- em_prop3:name = "NUMBER" ;
- int nm_prop2(num_node_maps) ;
- nm_prop2:_FillValue = 0 ;
- nm_prop2:name = "NUMBER" ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "circle" ;
- float attrib6(num_el_in_blk6, num_att_in_blk6) ;
- char attrib_name6(num_att_in_blk6, len_name) ;
- int connect6(num_el_in_blk6, num_nod_per_el6) ;
- connect6:elem_type = "sphere" ;
- float attrib7(num_el_in_blk7, num_att_in_blk7) ;
- char attrib_name7(num_att_in_blk7, len_name) ;
- int connect7(num_el_in_blk7, num_nod_per_el7) ;
- connect7:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var1eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var1eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var2eb7(time_step, num_el_in_blk7) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb6(time_step, num_el_in_blk6) ;
- float vals_elem_var3eb7(time_step, num_el_in_blk7) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is testwt1" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14, 15, 16 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7,
- 100, 50, 3, 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5,
- 100, 50, 0, 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 0, 20, 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- nm_prop1 = 333 ;
-
- nmap_names =
- "" ;
-
- node_map1 = 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51,
- 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84 ;
-
- em_prop1 = 111, 222 ;
-
- emap_names =
- "",
- "" ;
-
- elem_map1 = 1, 2, 3, 4, 5, 6, 7, 8 ;
-
- elem_map2 = 2, 4, 6, 8, 10, 12, 14, 16 ;
-
- em_prop2 = 1, _ ;
-
- em_prop3 = _, 1 ;
-
- nm_prop2 = 1 ;
-
- attrib1 =
- 1, 2, 3 ;
-
- attrib_name1 =
- "attribute_1",
- "attribute_2",
- "attribute_3" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 1.11, 2.11, 3.11,
- 1.12, 2.12, 3.12 ;
-
- attrib_name2 =
- "attribute_1",
- "attribute_2",
- "attribute_3" ;
-
- connect2 =
- 1, 2, 3, 4,
- 5, 6, 7, 8 ;
-
- attrib3 =
- 1.2, 2.2, 3.2 ;
-
- attrib_name3 =
- "attribute_1",
- "attribute_2",
- "attribute_3" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 1.3, 2.3, 3.3 ;
-
- attrib_name4 =
- "attribute_1",
- "attribute_2",
- "attribute_3" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 1.4, 2.4, 3.4 ;
-
- attrib_name5 =
- "attribute_1",
- "attribute_2",
- "attribute_3" ;
-
- connect5 =
- 21 ;
-
- attrib6 =
- 1.5, 2.5, 3.5 ;
-
- attrib_name6 =
- "attribute_1",
- "attribute_2",
- "attribute_3" ;
-
- connect6 =
- 22 ;
-
- attrib7 =
- 1.6, 2.6, 3.6 ;
-
- attrib_name7 =
- "attribute_1",
- "attribute_2",
- "attribute_3" ;
-
- connect7 =
- 23, 24, 25, 26, 27, 28 ;
-
- eb_prop2 = 10, 20, 30, 40, 50, 60, 70 ;
-
- eb_prop3 = _, _, _, _, _, _, _ ;
-
- node_ns1 = 100, 101, 102, 103, 104 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 200, 201, 202 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 3, 3 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 3 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 4, 4, 4, 4, 4, 4, 4 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 5, 5, 5, 5 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 6, 7 ;
-
- side_ss5 = 1, 1 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "testwt1",
- "03/16/94",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- name_glo_var =
- "glo vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26, 1.27, 1.28,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5,
- 1.52, 1.54, 1.56,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78, 1.81, 1.84,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 2.08, 2.12,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 2.35, 2.4,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5,
- 2.56, 2.62, 2.68,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82, 2.89, 2.96,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 3.16, 3.24,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34, 3.43, 3.52,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26, 2.27, 2.28,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5,
- 2.52, 2.54, 2.56,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78, 2.81, 2.84,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 3.08, 3.12,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 3.35, 3.4,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5,
- 3.56, 3.62, 3.68,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82, 3.89, 3.96,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 4.16, 4.24,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34, 4.43, 4.52,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8 ;
-
- name_nod_var =
- "nod_var0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var1eb2 =
- 5.01, 5.02,
- 5.02, 5.04,
- 5.03, 5.06,
- 5.04, 5.08,
- 5.05, 5.1,
- 5.06, 5.12,
- 5.07, 5.14,
- 5.08, 5.16,
- 5.09, 5.18,
- 5.1, 5.2 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb6 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb7 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01, 6.02,
- 6.02, 6.04,
- 6.03, 6.06,
- 6.04, 6.08,
- 6.05, 6.1,
- 6.06, 6.12,
- 6.07, 6.14,
- 6.08, 6.16,
- 6.09, 6.18,
- 6.1, 6.2 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var2eb6 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var2eb7 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01, 7.02,
- 7.02, 7.04,
- 7.03, 7.06,
- 7.04, 7.08,
- 7.05, 7.1,
- 7.06, 7.12,
- 7.07, 7.14,
- 7.08, 7.16,
- 7.09, 7.18,
- 7.1, 7.2 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- vals_elem_var3eb6 =
- 11.01,
- 11.02,
- 11.03,
- 11.04,
- 11.05,
- 11.06,
- 11.07,
- 11.08,
- 11.09,
- 11.1 ;
-
- vals_elem_var3eb7 =
- 12.01,
- 12.02,
- 12.03,
- 12.04,
- 12.05,
- 12.06,
- 12.07,
- 12.08,
- 12.09,
- 12.1 ;
-}
diff --git a/forbind/test/test2-1.dmp b/forbind/test/test2-1.dmp
deleted file mode 100644
index e0f60db..0000000
--- a/forbind/test/test2-1.dmp
+++ /dev/null
@@ -1,556 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is test 2" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 10, 20, 30, 40, 50 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 100, 101, 102, 103, 104 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 200, 201, 202 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "testwt2",
- "07/07/93",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5, 1.52,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5, 2.56,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5, 2.52,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5, 3.56,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 ;
-
- name_nod_var =
- "nod_var0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb3 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1 ;
-}
diff --git a/forbind/test/test2-2.dmp b/forbind/test/test2-2.dmp
deleted file mode 100644
index 794c6f6..0000000
--- a/forbind/test/test2-2.dmp
+++ /dev/null
@@ -1,556 +0,0 @@
-netcdf test2 {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- float vals_glo_var(time_step, num_glo_var) ;
- float vals_nod_var1(time_step, num_nodes) ;
- float vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- float vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- float vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- float vals_elem_var1eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var2eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var3eb3(time_step, num_el_in_blk3) ;
- float vals_elem_var1eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var2eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var3eb4(time_step, num_el_in_blk4) ;
- float vals_elem_var1eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var2eb5(time_step, num_el_in_blk5) ;
- float vals_elem_var3eb5(time_step, num_el_in_blk5) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is test 2" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 100, 200, 300, 400, 500 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 100, 101, 102, 103, 104 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 200, 201, 202 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-
- qa_records =
- "testwt2",
- "07/07/93",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08, 1.09, 1.1, 1.11, 1.12,
- 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19, 1.2, 1.21, 1.22, 1.23, 1.24,
- 1.25, 1.26,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16, 1.18, 1.2, 1.22, 1.24, 1.26,
- 1.28, 1.3, 1.32, 1.34, 1.36, 1.38, 1.4, 1.42, 1.44, 1.46, 1.48, 1.5, 1.52,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24, 1.27, 1.3, 1.33, 1.36,
- 1.39, 1.42, 1.45, 1.48, 1.51, 1.54, 1.57, 1.6, 1.63, 1.66, 1.69, 1.72,
- 1.75, 1.78,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32, 1.36, 1.4, 1.44, 1.48, 1.52,
- 1.56, 1.6, 1.64, 1.68, 1.72, 1.76, 1.8, 1.84, 1.88, 1.92, 1.96, 2, 2.04,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65,
- 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2, 2.05, 2.1, 2.15, 2.2, 2.25, 2.3,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48, 1.54, 1.6, 1.66, 1.72, 1.78,
- 1.84, 1.9, 1.96, 2.02, 2.08, 2.14, 2.2, 2.26, 2.32, 2.38, 2.44, 2.5, 2.56,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56, 1.63, 1.7, 1.77, 1.84,
- 1.91, 1.98, 2.05, 2.12, 2.19, 2.26, 2.33, 2.4, 2.47, 2.54, 2.61, 2.68,
- 2.75, 2.82,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64, 1.72, 1.8, 1.88, 1.96, 2.04,
- 2.12, 2.2, 2.28, 2.36, 2.44, 2.52, 2.6, 2.68, 2.76, 2.84, 2.92, 3, 3.08,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72, 1.81, 1.9, 1.99, 2.08,
- 2.17, 2.26, 2.35, 2.44, 2.53, 2.62, 2.71, 2.8, 2.89, 2.98, 3.07, 3.16,
- 3.25, 3.34,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2.1, 2.2, 2.3, 2.4, 2.5,
- 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08, 2.09, 2.1, 2.11, 2.12,
- 2.13, 2.14, 2.15, 2.16, 2.17, 2.18, 2.19, 2.2, 2.21, 2.22, 2.23, 2.24,
- 2.25, 2.26,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16, 2.18, 2.2, 2.22, 2.24, 2.26,
- 2.28, 2.3, 2.32, 2.34, 2.36, 2.38, 2.4, 2.42, 2.44, 2.46, 2.48, 2.5, 2.52,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24, 2.27, 2.3, 2.33, 2.36,
- 2.39, 2.42, 2.45, 2.48, 2.51, 2.54, 2.57, 2.6, 2.63, 2.66, 2.69, 2.72,
- 2.75, 2.78,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32, 2.36, 2.4, 2.44, 2.48, 2.52,
- 2.56, 2.6, 2.64, 2.68, 2.72, 2.76, 2.8, 2.84, 2.88, 2.92, 2.96, 3, 3.04,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4, 2.45, 2.5, 2.55, 2.6, 2.65,
- 2.7, 2.75, 2.8, 2.85, 2.9, 2.95, 3, 3.05, 3.1, 3.15, 3.2, 3.25, 3.3,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48, 2.54, 2.6, 2.66, 2.72, 2.78,
- 2.84, 2.9, 2.96, 3.02, 3.08, 3.14, 3.2, 3.26, 3.32, 3.38, 3.44, 3.5, 3.56,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56, 2.63, 2.7, 2.77, 2.84,
- 2.91, 2.98, 3.05, 3.12, 3.19, 3.26, 3.33, 3.4, 3.47, 3.54, 3.61, 3.68,
- 3.75, 3.82,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64, 2.72, 2.8, 2.88, 2.96, 3.04,
- 3.12, 3.2, 3.28, 3.36, 3.44, 3.52, 3.6, 3.68, 3.76, 3.84, 3.92, 4, 4.08,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72, 2.81, 2.9, 2.99, 3.08,
- 3.17, 3.26, 3.35, 3.44, 3.53, 3.62, 3.71, 3.8, 3.89, 3.98, 4.07, 4.16,
- 4.25, 4.34,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3, 3.1, 3.2, 3.3, 3.4, 3.5,
- 3.6, 3.7, 3.8, 3.9, 4, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 ;
-
- name_nod_var =
- "nod_var0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var1eb3 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var2eb3 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var3eb3 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var1eb4 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- vals_elem_var2eb4 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var3eb4 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var1eb5 =
- 8.01,
- 8.02,
- 8.03,
- 8.04,
- 8.05,
- 8.06,
- 8.07,
- 8.08,
- 8.09,
- 8.1 ;
-
- vals_elem_var2eb5 =
- 9.01,
- 9.02,
- 9.03,
- 9.04,
- 9.05,
- 9.06,
- 9.07,
- 9.08,
- 9.09,
- 9.1 ;
-
- vals_elem_var3eb5 =
- 10.01,
- 10.02,
- 10.03,
- 10.04,
- 10.05,
- 10.06,
- 10.07,
- 10.08,
- 10.09,
- 10.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1,
- 1, 1, 1 ;
-}
diff --git a/forbind/test/test_nem.dmp b/forbind/test/test_nem.dmp
deleted file mode 100644
index d355a4c..0000000
--- a/forbind/test/test_nem.dmp
+++ /dev/null
@@ -1,54 +0,0 @@
- ******************Output Tests*****************
- creating ExodusII file...
- ...successful
- testing init info output...
- ...successful
- testing global init info output...
- ...successful
- testing global element block ID output...
- ...successful
- testing global node-set params output...
- ...successful
- testing global side-set params output...
- ...successful
- testing concatenated load balance info output...
- ...successful
- testing node map output...
- ...successful
- testing element map output...
- ...successful
- testing concatenated communication map params output...
- ...successful
- testing nodal communication map output...
- ...successful
- testing elemental communication map output...
- ...successful
- closing ExodusII file...
- ...successful
- ******************Input Tests******************
- reopening ExodusII file...
- ...successful
- testing init info input...
- ...successful
- testing global init info input...
- ...successful
- testing global element block IDs input...
- ...successful
- testing global node-set params input...
- ...successful
- testing global side-set params input...
- ...successful
- testing load-balance params input...
- ...successful
- testing node map input...
- ...successful
- testing element map input...
- ...successful
- testing nodal communication map input...
- ...successful
- testing elemental communication map input...
- ...successful
- closing ExodusII file...
- ...successful
- Tests Passed: 25
- Tests Failed: 0
diff --git a/forbind/test/test_nem.f b/forbind/test/test_nem.f
deleted file mode 100644
index beaeba9..0000000
--- a/forbind/test/test_nem.f
+++ /dev/null
@@ -1,928 +0,0 @@
-C Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
-C DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-C retains certain rights in this software.
-C
-C Redistribution and use in source and binary forms, with or without
-C modification, are permitted provided that the following conditions are
-C met:
-C
-C * Redistributions of source code must retain the above copyright
-C notice, this list of conditions and the following disclaimer.
-C
-C * Redistributions in binary form must reproduce the above
-C copyright notice, this list of conditions and the following
-C disclaimer in the documentation and/or other materials provided
-C with the distribution.
-C
-C * Neither the name of Sandia Corporation nor the names of its
-C contributors may be used to endorse or promote products derived
-C from this software without specific prior written permission.
-C
-C THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-C "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-C LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-C A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-C OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-C SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-C LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-C DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-C THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-C (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-C OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-C
-C=================================================================
-C
-C This is just a simple test program to test the fortran interface
-C for the NEMESIS I library.
-C
-C This file was created by translating ne_test.c into fortran.
-C
-C=================================================================
-
-C=================================================================
- PROGRAM NETEST
-C=================================================================
- INCLUDE 'exodusII.inc'
- INCLUDE 'test_nem.inc'
-
-C local variables
- INTEGER NEID, IO_WS, CPU_WS, T_PASS, T_FAIL, DBG_FLAG, IERR
- CHARACTER FNAME*256, YO*6
- REAL VERSION
-
- YO = 'NETEST'
- IO_WS = 0
- CPU_WS = 0
- T_PASS = 0
- T_FAIL = 0
- DBG_FLAG = 0
-
-C now let's get going...
-
-C I don't care about input arguments, so the file name will be ne_test.nemI
- FNAME = 'test_nem.exo'
-C and set the debug flag to 0
- DBG_FLAG = 0
-
- PRINT*, '******************Output Tests*****************'
-C create the exodus II file
- PRINT*, 'creating ExodusII file...'
- NEID = EXCRE(FNAME, EXCLOB, CPU_WS, IO_WS, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- PRINT*, YO, ': ERROR, unable to create test file', FNAME, '!'
- GOTO 100
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test the output of initial information
- PRINT*, 'testing init info output...'
- CALL EXPII(NEID, NPROC, NPROCF, 'S', IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test the output of initial global information
- PRINT*, 'testing global init info output...'
- CALL EXPIG(NEID, NNG, NEG, NEBG, NNSG, NSSG, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test the output of the global element block IDs
- PRINT*, 'testing global element block ID output...'
- CALL EXTPEBI(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test the output of the global node-set info
- PRINT*, 'testing global node-set params output...'
- CALL EXTPNSP(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test the output of the global side-set info
- PRINT*, 'testing global side-set params output...'
- CALL EXTPSSP(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test the output of the concatenated load-balance parameters
- PRINT*, 'testing concatenated load balance info output...'
- CALL EXTPLBPC(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test the output of the node map
- PRINT*, 'testing node map output...'
- CALL EXTPNM(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test the output of the element map
- PRINT*, 'testing element map output...'
- CALL EXTPEM(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test the output of the concatenated communication map params
- PRINT*, 'testing concatenated communication map params output...'
- CALL EXTPCMPC(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test nodal communication map output
- PRINT*, 'testing nodal communication map output...'
- CALL EXTPNCM(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test elemental communication map output
- PRINT*, 'testing elemental communication map output...'
- CALL EXTPECM(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Close the ExodusII/Nemesis test file
- PRINT*, 'closing ExodusII file...'
- CALL EXCLOS(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- PRINT*, YO, ': ERROR, unable to close test file', FNAME, '!'
- GOTO 100
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C=================================================================
-C INPUT TEST SECTION
-C=================================================================
-
- PRINT*, '******************Input Tests******************'
-
-C Re-open the ExodusII/NemesisI file
- PRINT*, 'reopening ExodusII file...'
- NEID = EXOPEN(FNAME, EXREAD, CPU_WS, IO_WS, VERSION, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- PRINT*, YO, ': ERROR, unable to open test file', FNAME, '!'
- GOTO 100
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of of the initial information
- PRINT*, 'testing init info input...'
- CALL EXTGII(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of initial global information
- PRINT*, 'testing global init info input...'
- CALL EXTGIG(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of global element block IDs
- PRINT*, 'testing global element block IDs input...'
- CALL EXTGEBI(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of global node-set params
- PRINT*, 'testing global node-set params input...'
- CALL EXTGNSP(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of global side-set params
- PRINT*, 'testing global side-set params input...'
- CALL EXTGSSP(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of load-balance params
- PRINT*, 'testing load-balance params input...'
- CALL EXTGLBP(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of the node map
- PRINT*, 'testing node map input...'
- CALL EXTGNM(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of the element map
- PRINT*, 'testing element map input...'
- CALL EXTGEM(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of nodal communication maps
- PRINT*, 'testing nodal communication map input...'
- CALL EXTGNCM(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Test read of elemental communication maps
- PRINT*, 'testing elemental communication map input...'
- CALL EXTGECM(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- IF (DBG_FLAG.EQ.1) THEN
- GOTO 100
- END IF
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
-C Close the ExodusII/Nemesis test file
- PRINT*, 'closing ExodusII file...'
- CALL EXCLOS(NEID, IERR)
- IF (IERR.NE.0) THEN
- PRINT*, '...FAILED'
- T_FAIL = T_FAIL + 1
- PRINT*, YO, ': ERROR, unable to close test file', FNAME, '!'
- GOTO 100
- ELSE
- PRINT*, '...successful'
- T_PASS = T_PASS + 1
- END IF
-
- PRINT*, 'Tests Passed: ', T_PASS
- PRINT*, 'Tests Failed: ', T_FAIL
-
- 100 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTPEBI(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER I, EBLK_IDS(NEBG)
- INTEGER EBLK_CNTS(NEBG)
-
- DO 110 I=1,NEBG
- EBLK_IDS(I) = I
- EBLK_CNTS(I) = 10
- 110 CONTINUE
-
- CALL EXPEBIG(NEID, EBLK_IDS, EBLK_CNTS, IERR)
-
- END
-
-C=================================================================
- SUBROUTINE EXTPNSP(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER I, GLBL_IDS(NNSG), GLBL_NC(NNSG), GLBL_DFC(NNSG)
-
- DO 120 I = 1,NNSG
- GLBL_IDS(I) = 2 * I
- GLBL_NC(I) = 3 * I
- GLBL_DFC(I) = 1
- 120 CONTINUE
-
- CALL EXPNSPG(NEID, GLBL_IDS, GLBL_NC, GLBL_DFC, IERR)
-
- END
-
-C=================================================================
- SUBROUTINE EXTPSSP(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER I, GLBL_IDS(NSSG), GLBL_ELC(NSSG), GLBL_DFC(NSSG)
-
- DO 130 I = 1,NSSG
- GLBL_IDS(I) = 3 * I
- GLBL_ELC(I) = 2 * I
- GLBL_DFC(I) = 1
- 130 CONTINUE
-
- CALL EXPSSPG(NEID, GLBL_IDS, GLBL_ELC, GLBL_DFC, IERR)
-
- END
-
-C=================================================================
- SUBROUTINE EXTPLBPC(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, NUM_IN(NPROCF), NUM_BN(NPROCF), NUM_EN(NPROCF),
- 1 NUM_IE(NPROCF), NUM_BE(NPROCF), NUM_NCM(NPROCF), NUM_ECM(NPROCF)
-
- DO 140 IPROC = 1,NPROCF
- NUM_IN(IPROC) = NINTN
- NUM_BN(IPROC) = NBORN
- NUM_EN(IPROC) = NEXTN
-
- NUM_IE(IPROC) = NINTE
- NUM_BE(IPROC) = NBORE
-
- NUM_NCM(IPROC) = NNCMAP
- NUM_ECM(IPROC) = NECMAP
- 140 CONTINUE
-
- CALL EXPLBPC(NEID, NUM_IN, NUM_BN, NUM_EN, NUM_IE, NUM_BE,
- 1 NUM_NCM, NUM_ECM, IERR)
-
- END
-
-C=================================================================
- SUBROUTINE EXTPNM(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, I, J, NMAPI(NINTN), NMAPB(NBORN), NMAPE(NEXTN)
-
- I = 0
- DO 200 IPROC = 0,(NPROCF-1)
- DO 150 J = 1,NINTN
- NMAPI(J) = I
- I = I + 1
- 150 CONTINUE
- DO 160 J = 1,NBORN
- NMAPB(J) = I
- I = I + 1
- 160 CONTINUE
- DO 170 J = 1,NEXTN
- NMAPE(J) = I
- I = I + 1
- 170 CONTINUE
-
- I = 0
-
- CALL EXPNMP(NEID, NMAPI, NMAPB, NMAPE, IPROC, IERR)
- IF (IERR.NE.0) GOTO 210
-
- 200 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTPEM(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, I, J, EMAPI(NINTE), EMAPB(NBORE)
-
- I = 0
- DO 200 IPROC = 0,(NPROCF-1)
- DO 150 J = 1,NINTE
- EMAPI(J) = I
- I = I + 1
- 150 CONTINUE
- DO 160 J = 1,NBORE
- EMAPB(J) = I
- I = I + 1
- 160 CONTINUE
-
- I = 0
-
- CALL EXPEMP(NEID, EMAPI, EMAPB, IPROC, IERR)
- IF (IERR.NE.0) GOTO 210
-
- 200 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTPCMPC(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, I, NCNTR, ECNTR, NMAPIDS(NNCXNPF),
- 1 NMAPCNT(NNCXNPF), NMAPPROC(NPROCF+1), EMAPIDS(NECXNPF),
- 1 EMAPCNT(NECXNPF), EMAPPROC(NPROCF+1)
-
- NMAPPROC(1) = 0
- EMAPPROC(1) = 0
- NCNTR = 1
- ECNTR = 1
- DO 200 IPROC = 1,NPROCF
- DO 150 I = 1,NNCMAP
- NMAPIDS(NCNTR) = I
- NMAPCNT(NCNTR) = NCNTCM
- NCNTR = NCNTR + 1
- 150 CONTINUE
- DO 160 I = 1,NECMAP
- EMAPIDS(ECNTR) = 2*I
- EMAPCNT(ECNTR) = ECNTCM
- ECNTR = ECNTR + 1
- 160 CONTINUE
-
- NMAPPROC(IPROC+1) = NMAPPROC(IPROC) + NNCMAP
- EMAPPROC(IPROC+1) = EMAPPROC(IPROC) + NECMAP
-
- 200 CONTINUE
-
- CALL EXPCMPC(NEID, NMAPIDS, NMAPCNT, NMAPPROC, EMAPIDS, EMAPCNT,
- 1 EMAPPROC, IERR)
-
- END
-
-C=================================================================
- SUBROUTINE EXTPNCM(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, I, NMAPIDS(NNCMAP), NIDS(NCNTCM), PIDS(NCNTCM)
-
- DO 200 IPROC = 0,(NPROCF-1)
- DO 150 I = 1,NNCMAP
- NMAPIDS(I) = I
- 150 CONTINUE
- DO 160 I = 1,NCNTCM
- NIDS(I) = 2*I
- PIDS(I) = 3*I
- 160 CONTINUE
-
- DO 170 I=1,NNCMAP
- CALL EXPNCM(NEID, NMAPIDS(I), NIDS, PIDS, IPROC, IERR)
- IF (IERR.NE.0) GOTO 210
- 170 CONTINUE
-
- 200 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTPECM(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, I, EMAPIDS(NECMAP), EIDS(ECNTCM), PIDS(ECNTCM),
- 1 SIDS(ECNTCM)
-
- DO 200 IPROC = 0,(NPROCF-1)
- DO 150 I = 1,NECMAP
- EMAPIDS(I) = 2*I
- 150 CONTINUE
- DO 160 I = 1,ECNTCM
- EIDS(I) = 2*I
- SIDS(I) = 3*I
- PIDS(I) = 4*I
- 160 CONTINUE
-
- DO 170 I=1,NECMAP
- CALL EXPECM(NEID, EMAPIDS(I), EIDS, SIDS, PIDS, IPROC, IERR)
- IF (IERR.NE.0) GOTO 210
- 170 CONTINUE
-
- 200 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGII(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER NP, NPF
- CHARACTER FTYPE*2
-
- CALL EXGII(NEID, NP, NPF, FTYPE, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- IF (NP.NE.NPROC) IERR = -1
- IF (NPF.NE.NPROCF) IERR = -1
- IF (NP.NE.NPROC) IERR = -1
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGIG(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER NUMNG, NUMEG, NUMEBG, NUMNSG, NUMSSG
-
- CALL EXGIG(NEID, NUMNG, NUMEG, NUMEBG, NUMNSG, NUMSSG, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- IF (NUMNG.NE.NNG) IERR = -1
- IF (NUMEG.NE.NEG) IERR = -1
- IF (NUMEBG.NE.NEBG) IERR = -1
- IF (NUMNSG.NE.NNSG) IERR = -1
- IF (NUMSSG.NE.NSSG) IERR = -1
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGEBI(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER I, EBLK_IDS(NEBG)
- INTEGER EBLK_CNTS(NEBG)
-
- CALL EXGEBIG(NEID, EBLK_IDS, EBLK_CNTS, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- DO 150 I=1,NEBG
- IF (EBLK_IDS(I).NE.I) IERR = -1
- IF (EBLK_CNTS(I) .NE. 10) IERR = -1
- 150 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGNSP(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER I, GLBL_IDS(NNSG), GLBL_NC(NNSG), GLBL_DFC(NNSG)
-
- CALL EXGNSPG(NEID, GLBL_IDS, GLBL_NC, GLBL_DFC, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- DO 150 I=1,NNSG
- IF (GLBL_IDS(I).NE.(2*I)) IERR = -1
- IF (GLBL_NC(I).NE.(3*I)) IERR = -1
- IF (GLBL_DFC(I).NE.1) IERR = -1
- 150 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGSSP(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER I, GLBL_IDS(NSSG), GLBL_EC(NSSG), GLBL_DFC(NSSG)
-
- CALL EXGSSPG(NEID, GLBL_IDS, GLBL_EC, GLBL_DFC, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- DO 150 I=1,NNSG
- IF (GLBL_IDS(I).NE.(3*I)) IERR = -1
- IF (GLBL_EC(I).NE.(2*I)) IERR = -1
- IF (GLBL_DFC(I).NE.1) IERR = -1
- 150 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGLBP(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, NUM_IN, NUM_BN, NUM_EN, NUM_IE, NUM_BE,
- * NUM_NCM, NUM_ECM
-
- DO 150 IPROC = 0,(NPROCF-1)
- CALL EXGLBP(NEID, NUM_IN, NUM_BN, NUM_EN, NUM_IE, NUM_BE,
- 1 NUM_NCM, NUM_ECM, IPROC, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- IF(NUM_IN.NE.NINTN) IERR = -1
- IF(NUM_BN.NE.NBORN) IERR = -1
- IF(NUM_EN.NE.NEXTN) IERR = -1
- IF(NUM_IE.NE.NINTE) IERR = -1
- IF(NUM_BE.NE.NBORE) IERR = -1
- IF(NUM_NCM.NE.NNCMAP) IERR = -1
- IF(NUM_ECM.NE.NECMAP) IERR = -1
- 150 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGNM(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, I, J, NMAPI(NINTN), NMAPB(NBORN), NMAPE(NEXTN)
-
- I = 0
- DO 200 IPROC = 0,(NPROCF-1)
-
- CALL EXGNMP(NEID, NMAPI, NMAPB, NMAPE, IPROC, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- DO 150 J = 1,NINTN
- IF (NMAPI(J).NE.I) ERR = -1
- I = I + 1
- 150 CONTINUE
- DO 160 J = 1,NBORN
- IF (NMAPB(J).NE.I) ERR = -1
- I = I + 1
- 160 CONTINUE
- DO 170 J = 1,NEXTN
- IF (NMAPE(J).NE.I) ERR = -1
- I = I + 1
- 170 CONTINUE
-
- I = 0
-
- IF (IERR.NE.0) GOTO 210
-
- 200 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGEM(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, I, J, EMAPI(NINTE), EMAPB(NBORE)
-
- I = 0
- DO 200 IPROC = 0,(NPROCF-1)
- CALL EXGEMP(NEID, EMAPI, EMAPB, IPROC, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- DO 150 J = 1,NINTE
- IF (EMAPI(J).NE.I) ERR = -1
- I = I + 1
- 150 CONTINUE
- DO 160 J = 1,NBORE
- IF (EMAPB(J).NE.I) ERR = -1
- I = I + 1
- 160 CONTINUE
-
- I = 0
-
- IF (IERR.NE.0) GOTO 210
-
- 200 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGNCM(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, I, J, NMAPIDS(NNCMAP), NMAPCNT(NNCMAP),
- 1 NIDS(NCNTCM), PIDS(NCNTCM), EMAPIDS(NECMAP), EMAPCNT(NECMAP)
-
- DO 200 IPROC = 0,(NPROCF-1)
- CALL EXGCMP(NEID, NMAPIDS, NMAPCNT, EMAPIDS, EMAPCNT,
- 1 IPROC, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- DO 170 I = 1,NNCMAP
- CALL EXGNCM(NEID, NMAPIDS(I), NIDS, PIDS, IPROC, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- IF (NMAPIDS(I).NE.I) IERR = -1
- DO 160 J = 1,NCNTCM
- IF (NIDS(J).NE.2*J) IERR = -1
- IF (PIDS(J).NE.3*J) IERR = -1
- 160 CONTINUE
-
- IF (IERR.NE.0) GOTO 210
- 170 CONTINUE
-
- 200 CONTINUE
-
- 210 CONTINUE
- END
-
-C=================================================================
- SUBROUTINE EXTGECM(NEID, IERR)
-C=================================================================
-
- INCLUDE 'test_nem.inc'
-
- INTEGER IPROC, I, EMAPIDS(NECMAP), EMAPCNT(NECMAP), EIDS(ECNTCM),
- 1 PIDS(ECNTCM), SIDS(ECNTCM), NMAPIDS(NNCMAP), NMAPCNT(NNCMAP)
-
- DO 200 IPROC = 0,(NPROCF-1)
- CALL EXGCMP(NEID, NMAPIDS, NMAPCNT, EMAPIDS, EMAPCNT,
- 1 IPROC, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- DO 170 I = 1,NECMAP
- CALL EXGECM(NEID, EMAPIDS(I), EIDS, SIDS, PIDS, IPROC, IERR)
-
- IF (IERR.NE.0) GOTO 210
-
- IF (EMAPIDS(I).NE.(2*I)) IERR = -1
- DO 160 J = 1,ECNTCM
- IF (EIDS(J).NE.2*J) IERR = -1
- IF (SIDS(J).NE.3*J) IERR = -1
- IF (PIDS(J).NE.4*J) IERR = -1
- 160 CONTINUE
-
- IF (IERR.NE.0) GOTO 210
- 170 CONTINUE
-
- 200 CONTINUE
-
- 210 CONTINUE
- END
-
diff --git a/forbind/test/test_nem.inc b/forbind/test/test_nem.inc
deleted file mode 100644
index 0f033a1..0000000
--- a/forbind/test/test_nem.inc
+++ /dev/null
@@ -1,66 +0,0 @@
-C Copyright (c) 1998 Sandia Corporation. Under the terms of Contract
-C DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-C retains certain rights in this software.
-C
-C Redistribution and use in source and binary forms, with or without
-C modification, are permitted provided that the following conditions are
-C met:
-C
-C * Redistributions of source code must retain the above copyright
-C notice, this list of conditions and the following disclaimer.
-C
-C * Redistributions in binary form must reproduce the above
-C copyright notice, this list of conditions and the following
-C disclaimer in the documentation and/or other materials provided
-C with the distribution.
-C
-C * Neither the name of Sandia Corporation nor the names of its
-C contributors may be used to endorse or promote products derived
-C from this software without specific prior written permission.
-C
-C THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-C "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-C LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-C A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-C OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-C SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-C LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-C DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-C THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-C (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-C OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-C
-C==================================================
-C Parameters for the NE_TEST fortran interface test
-C program
-C==================================================
-
-C Constants for init_global functions
- PARAMETER (NNG = 100)
- PARAMETER (NEG = 50)
- PARAMETER (NEBG = 5)
- PARAMETER (NNSG = 2)
- PARAMETER (NSSG = 3)
-
-C Constants for load-balance functions
- PARAMETER (NPROC = 10)
- PARAMETER (NPROCF = NPROC)
- PARAMETER (NINTN = 200)
- PARAMETER (NBORN = 10)
- PARAMETER (NEXTN = 5)
- PARAMETER (NINTE = 100)
- PARAMETER (NBORE = 20)
- INTEGER NNCMAP, NECMAP
- PARAMETER (NNCMAP = 4)
- PARAMETER (NECMAP = 2)
-
-C Constants for communication map
- PARAMETER (NCNTCM = 20)
- INTEGER ECNTCM
- PARAMETER (ECNTCM = 17)
-
-C Some multiplied values
-C NNCMAP * NPROCF
- PARAMETER (NNCXNPF = 40)
-C NECMAP * NPROCF
- PARAMETER (NECXNPF = 20)
diff --git a/forbind/test/testall.in b/forbind/test/testall.in
deleted file mode 100644
index c65b909..0000000
--- a/forbind/test/testall.in
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# script to run all tests and compare them to saved dump files.
-#
-# To run the tests with valgrind checking, uncomment the next line and comment the
-# following line. Can also define other prefixes if wanted.
-
-#set PREFIX = "valgrind --tool=memcheck"
-set PREFIX = ""
-set SUFFIX = ".exe"
-set BINDIR = @CMAKE_CURRENT_BINARY_DIR@
-set SRCDIR = @CMAKE_CURRENT_SOURCE_DIR@
-set NCDUMP = @SEACASExodus_Netcdf_EXECUTABLE_NCDUMP@
-
-# testwt - single precision write test
-echo "************************************************************************"
-echo "************************************************************************"
-echo "testwt ..."
-echo "begin testwt" > test.output
-${PREFIX} ${BINDIR}/f_testwt${SUFFIX} >> test.output
-echo "end testwt" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - ${SRCDIR}/test.dmp | tee testwt.res
-
-# testrd - single precision read test
-echo "testrd ..."
-echo "testrd ... [Expect ex_create NOCLOBBER error from this test]"
-${PREFIX} ${BINDIR}/f_testrd${SUFFIX} | grep -v version | diff - ${SRCDIR}/testrd.dmp | tee testrd.res
-
-# testcp_ss - single-to-single precision copy test
-echo "testcp_ss ..."
-echo "begin testcp_ss" >> test.output
-${PREFIX} ${BINDIR}/f_testcp${SUFFIX} >> test.output
-echo "end testcp_ss" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | diff - ${SRCDIR}/testcp_ss.dmp | tee testcp_ss.res
-
-# testcpln - single-to-single, large to normal copy test
-echo "testcpln ..."
-echo "begin testcpln" >> test.output
-${PREFIX} ${BINDIR}/f_testcpln${SUFFIX} >> test.output
-echo "end testcpln" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | diff - ${SRCDIR}/testcpln.dmp | tee testcpln.res
-
-# testcpnl - single-to-single, normal to large copy test
-echo "testcpnl ..."
-echo "begin testcpnl" >> test.output
-${PREFIX} ${BINDIR}/f_testcpnl${SUFFIX} >> test.output
-echo "end testcpnl" >> test.output
-${NCDUMP} -d5,5 testcpnl.exo | grep -v version | diff - ${SRCDIR}/testcpnl.dmp | tee testcpnl.res
-
-# testwt1 - single precision write test with multiple side sets
-echo "testwt1 ..."
-echo "testwt1 ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt1" >> test.output
-${PREFIX} ${BINDIR}/f_testwt1${SUFFIX} >> test.output
-echo "end testwt1" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - ${SRCDIR}/test1.dmp | tee testwt1.res
-
-# testrd1 - single precision read test with multiple side sets
-echo "testrd1 ..."
-echo "testrd1 ... [Expect failure locating elem var 1 for elem block 12]"
-${PREFIX} ${BINDIR}/f_testrd1${SUFFIX} | grep -v version | diff - ${SRCDIR}/testrd1.dmp | tee testrd1.res
-
-# testwtd - double precision write test
-echo "testwtd ..."
-echo "begin testwtd" >> test.output
-${PREFIX} ${BINDIR}/f_testwtd${SUFFIX} >> test.output
-echo "end testwtd" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - ${SRCDIR}/testd.dmp | tee testwtd.res
-
-# testrdd - double precision read test
-echo "testrdd ..."
-${PREFIX} ${BINDIR}/f_testrdd${SUFFIX} | grep -v version | diff - ${SRCDIR}/testrdd.dmp | tee testrdd.res
-
-# testwt2 - single precision write 2 files (simultaneously open) test
-echo "testwt2 ..."
-echo "begin testwt2" >> test.output
-${PREFIX} ${BINDIR}/f_testwt2${SUFFIX} >> test.output |&grep -v "property name string"
-echo "end testwt2" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - ${SRCDIR}/test2-1.dmp | tee testwt2-1.res
-${NCDUMP} -d5,5 test2.exo | grep -v version | diff - ${SRCDIR}/test2-2.dmp | tee testwt2-2.res
-
-echo "testwt_nsid ..."
-echo "begin testwt_nsid" > test.output
-${PREFIX} ${BINDIR}/f_testwt_nsid${SUFFIX} >> test.output
-echo "end testwt_nsid" >> test.output
-${NCDUMP} -d5,5 test-nsided.exo | grep -v version | diff - ${SRCDIR}/test-nsided.dmp | tee testwt_nsid.res
-
-# testrd_nsid - single precision read test
-echo "testrd_nsid ..."
-${PREFIX} ${BINDIR}/f_testrd_nsid${SUFFIX} | grep -v version | diff - ${SRCDIR}/testrd_nsid.dmp | tee testrd_nsid.res
-
-# test_nem - nemesis routines
-echo "test_nem ..."
-${PREFIX} ${BINDIR}/f_test_nem${SUFFIX} | diff -w - ${SRCDIR}/test_nem.dmp | tee test_nem.res
-
-echo "************************************************************************"
-echo "************************************************************************"
-
diff --git a/forbind/test/testall.in1 b/forbind/test/testall.in1
deleted file mode 100644
index 551b902..0000000
--- a/forbind/test/testall.in1
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# script to run all tests and compare them to saved dump files.
-#
-# To run the tests with valgrind checking, uncomment the next line and comment the
-# following line. Can also define other prefixes if wanted.
-
-#set PREFIX = "valgrind --tool=memcheck"
-set PREFIX = ""
-set SRCDIR = .
-set NCDUMP = @<BINDIR>@/ncdump
-
-# testwt - single precision write test
-echo "************************************************************************"
-echo "************************************************************************"
-echo "testwt ..."
-echo "begin testwt" > test.output
-${PREFIX} ${SRCDIR}/testwt >> test.output
-echo "end testwt" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - test.dmp | tee testwt.res
-
-# testrd - single precision read test
-echo "testrd ..."
-echo "testrd ... [Expect ex_create NOCLOBBER error from this test]"
-${PREFIX} ${SRCDIR}/testrd | grep -v version | diff - testrd.dmp | tee testrd.res
-
-# testcp_ss - single-to-single precision copy test
-echo "testcp_ss ..."
-echo "begin testcp_ss" >> test.output
-${PREFIX} ${SRCDIR}/testcp >> test.output
-echo "end testcp_ss" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | diff - testcp_ss.dmp | tee testcp_ss.res
-
-# testcpln - single-to-single, large to normal copy test
-echo "testcpln ..."
-echo "begin testcpln" >> test.output
-${PREFIX} ${SRCDIR}/testcpln >> test.output
-echo "end testcpln" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | diff - testcpln.dmp | tee testcpln.res
-
-# testcpnl - single-to-single, normal to large copy test
-echo "testcpnl ..."
-echo "begin testcpnl" >> test.output
-${PREFIX} ${SRCDIR}/testcpnl >> test.output
-echo "end testcpnl" >> test.output
-${NCDUMP} -d5,5 testcpnl.exo | grep -v version | diff - testcpnl.dmp | tee testcpnl.res
-
-# testwt1 - single precision write test with multiple side sets
-echo "testwt1 ..."
-echo "testwt1 ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt1" >> test.output
-${PREFIX} ${SRCDIR}/testwt1 >> test.output
-echo "end testwt1" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - test1.dmp | tee testwt1.res
-
-# testrd1 - single precision read test with multiple side sets
-echo "testrd1 ..."
-echo "testrd1 ... [Expect failure locating elem var 1 for elem block 12]"
-${PREFIX} ${SRCDIR}/testrd1 | grep -v version | diff - testrd1.dmp | tee testrd1.res
-
-# testwtd - double precision write test
-echo "testwtd ..."
-echo "begin testwtd" >> test.output
-${PREFIX} ${SRCDIR}/testwtd >> test.output
-echo "end testwtd" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - testd.dmp | tee testwtd.res
-
-# testrdd - double precision read test
-echo "testrdd ..."
-${PREFIX} ${SRCDIR}/testrdd | grep -v version | diff - testrdd.dmp | tee testrdd.res
-
-# testwt2 - single precision write 2 files (simultaneously open) test
-echo "testwt2 ..."
-echo "begin testwt2" >> test.output
-${PREFIX} ${SRCDIR}/testwt2 >> test.output |&grep -v "property name string"
-echo "end testwt2" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - test2-1.dmp | tee testwt2-1.res
-${NCDUMP} -d5,5 test2.exo | grep -v version | diff - test2-2.dmp | tee testwt2-2.res
-
-echo "testwt_nsid ..."
-echo "begin testwt_nsid" > test.output
-${PREFIX} ${SRCDIR}/testwt_nsid >> test.output
-echo "end testwt_nsid" >> test.output
-${NCDUMP} -d5,5 test-nsided.exo | grep -v version | diff - test-nsided.dmp | tee testwt_nsid.res
-
-# testrd_nsid - single precision read test
-echo "testrd_nsid ..."
-${PREFIX} ${SRCDIR}/testrd_nsid | grep -v version | diff - testrd_nsid.dmp | tee testrd_nsid.res
-
-# test_nem - nemesis routines
-echo "test_nem ..."
-${PREFIX} ${SRCDIR}/test_nem | diff - test_nem.dmp | tee test_nem.res
-
-echo "************************************************************************"
-echo "************************************************************************"
-
diff --git a/forbind/test/testall.standalone b/forbind/test/testall.standalone
deleted file mode 100755
index cd8b364..0000000
--- a/forbind/test/testall.standalone
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright (c) 2005 Sandia Corporation. Under the terms of Contract
-# DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement
-# retains certain rights in this software.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above
-# copyright notice, this list of conditions and the following
-# disclaimer in the documentation and/or other materials provided
-# with the distribution.
-#
-# * Neither the name of Sandia Corporation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-
-# script to run all tests and compare them to saved dump files.
-#
-# To run the tests with valgrind checking, uncomment the next line and comment the
-# following line. Can also define other prefixes if wanted.
-
-if ($#argv == 0) then
- set NCDUMP = `which ncdump`
-else
- set NCDUMP = $1
-endif
-
-#set PREFIX = "valgrind --tool=memcheck"
-set PREFIX = ""
-set SRCDIR = .
-
-# testwt - single precision write test
-echo "************************************************************************"
-echo "************************************************************************"
-echo "testwt ..."
-echo "begin testwt" > test.output
-${PREFIX} ${SRCDIR}/testwt >> test.output
-echo "end testwt" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - test.dmp | tee testwt.res
-
-# testrd - single precision read test
-echo "testrd ..."
-echo "testrd ... [Expect ex_create NOCLOBBER error from this test]"
-${PREFIX} ${SRCDIR}/testrd | grep -v version | diff - testrd.dmp | tee testrd.res
-
-# testcp_ss - single-to-single precision copy test
-echo "testcp_ss ..."
-echo "begin testcp_ss" >> test.output
-${PREFIX} ${SRCDIR}/testcp >> test.output
-echo "end testcp_ss" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | diff - testcp_ss.dmp | tee testcp_ss.res
-
-# testcpln - single-to-single, large to normal copy test
-echo "testcpln ..."
-echo "begin testcpln" >> test.output
-${PREFIX} ${SRCDIR}/testcpln >> test.output
-echo "end testcpln" >> test.output
-${NCDUMP} -d5,5 testcp.exo | grep -v version | diff - testcpln.dmp | tee testcpln.res
-
-# testcpnl - single-to-single, normal to large copy test
-echo "testcpnl ..."
-echo "begin testcpnl" >> test.output
-${PREFIX} ${SRCDIR}/testcpnl >> test.output
-echo "end testcpnl" >> test.output
-${NCDUMP} -d5,5 testcpnl.exo | grep -v version | diff - testcpnl.dmp | tee testcpnl.res
-
-# testwt1 - single precision write test with multiple side sets
-echo "testwt1 ..."
-echo "testwt1 ... [Expect WEDGE6 warning from this test]"
-echo "begin testwt1" >> test.output
-${PREFIX} ${SRCDIR}/testwt1 >> test.output
-echo "end testwt1" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - test1.dmp | tee testwt1.res
-
-# testrd1 - single precision read test with multiple side sets
-echo "testrd1 ..."
-echo "testrd1 ... [Expect failure locating elem var 1 for elem block 12]"
-${PREFIX} ${SRCDIR}/testrd1 | grep -v version | diff - testrd1.dmp | tee testrd1.res
-
-# testwtd - double precision write test
-echo "testwtd ..."
-echo "begin testwtd" >> test.output
-${PREFIX} ${SRCDIR}/testwtd >> test.output
-echo "end testwtd" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - testd.dmp | tee testwtd.res
-
-# testrdd - double precision read test
-echo "testrdd ..."
-${PREFIX} ${SRCDIR}/testrdd | grep -v version | diff - testrdd.dmp | tee testrdd.res
-
-# testwt2 - single precision write 2 files (simultaneously open) test
-echo "testwt2 ..."
-echo "begin testwt2" >> test.output
-${PREFIX} ${SRCDIR}/testwt2 >> test.output |&grep -v "property name string"
-echo "end testwt2" >> test.output
-${NCDUMP} -d5,5 test.exo | grep -v version | diff - test2-1.dmp | tee testwt2-1.res
-${NCDUMP} -d5,5 test2.exo | grep -v version | diff - test2-2.dmp | tee testwt2-2.res
-
-echo "testwt_nsid ..."
-echo "begin testwt_nsid" > test.output
-${PREFIX} ${SRCDIR}/testwt_nsid >> test.output
-echo "end testwt_nsid" >> test.output
-${NCDUMP} -d5,5 test-nsided.exo | grep -v version | diff - test-nsided.dmp | tee testwt_nsid.res
-
-# testrd_nsid - single precision read test
-echo "testrd_nsid ..."
-${PREFIX} ${SRCDIR}/testrd_nsid | grep -v version | diff - testrd_nsid.dmp | tee testrd_nsid.res
-
-# test_nem - nemesis routines
-echo "test_nem ..."
-${PREFIX} ${SRCDIR}/test_nem | diff - test_nem.dmp | tee test_nem.res
-
-echo "************************************************************************"
-echo "************************************************************************"
-
diff --git a/forbind/test/testcp.f b/forbind/test/testcp.f
deleted file mode 100644
index 1e39902..0000000
--- a/forbind/test/testcp.f
+++ /dev/null
@@ -1,63 +0,0 @@
- program testcpd
-
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database copy function (excopy).
-c
- implicit none
-
- include 'exodusII.inc'
-
- integer iin, iout, exoid, exoid1, ierr, cpu_ws, io_ws
-
- real vers
-
- data iin /5/, iout /6/
-
-c
-c open EXODUS II input file
-c
-
-c the setting of cpu_ws isn't used for copying but will test the
-c conversion routines
-
- cpu_ws = 8
- io_ws = 4
-
- exoid = exopen ("test.exo", EXREAD, cpu_ws, io_ws, vers, ierr)
- write (iout, '(/"after exopen, error = ",i3)')
- 1 ierr
-
- write (iout, '("test.exo is an EXODUSII file; version ",
- 1 f4.2)') vers
- write (iout, '(" I/O word size: ",i4)') io_ws
-
-c
-c create EXODUS II output file with default size reals
-c
-c the setting of cpu_ws isn't used for copying but will test the
-c conversion routines
-
- cpu_ws = 8
- io_ws = 0
-
- exoid1 = excre ("testcp.exo",
- 1 EXCLOB, cpu_ws, io_ws, ierr)
- write (iout,'("after excre, id = ", i6, ", error = ",i4)')
- 1 exoid1, ierr
- write (iout,'(" I/O word size: ",i4)') io_ws
-
- write (iout,'("after excre, error = ", i4)') ierr
-
- call excopy (exoid, exoid1, ierr)
- write (iout, '(/"after excopy, error = ", i3)' ) ierr
-
- call exclos (exoid, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- call exclos (exoid1, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testcp_dd.dmp b/forbind/test/testcp_dd.dmp
deleted file mode 100644
index e69de29..0000000
diff --git a/forbind/test/testcp_ds.dmp b/forbind/test/testcp_ds.dmp
deleted file mode 100644
index 04d4c51..0000000
--- a/forbind/test/testcp_ds.dmp
+++ /dev/null
@@ -1,244 +0,0 @@
-netcdf testcp {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coord(num_dim, num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :api_version = 5.15f ;
- :version = 5.15f ;
- :floating_point_word_size = 4 ;
- :file_size = 0 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 0, 0, 0, 0, 0 ;
-
- eb_prop1 = 0, 0, 0, 0, 0 ;
-
- ns_status = 0, 0 ;
-
- ns_prop1 = 0, 0 ;
-
- ss_status = 0, 0, 0, 0, 0 ;
-
- ss_prop1 = 0, 0, 0, 0, 0 ;
-
- coord =
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "",
- "",
- "" ;
-
- elem_map = 0, 0, 0, 0, 0 ;
-
- attrib1 =
- 0 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 0, 0, 0, 0 ;
-
- attrib2 =
- 0 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 0, 0, 0, 0 ;
-
- attrib3 =
- 0 ;
-
- attrib_name3 =
- "" ;
-
- connect3 =
- 0, 0, 0, 0, 0, 0, 0, 0 ;
-
- attrib4 =
- 0 ;
-
- attrib_name4 =
- "" ;
-
- connect4 =
- 0, 0, 0, 0 ;
-
- attrib5 =
- 0 ;
-
- attrib_name5 =
- "" ;
-
- connect5 =
- 0, 0, 0, 0, 0, 0 ;
-
- eb_prop2 = _, _, _, _, _ ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 0, 0, 0, 0, 0 ;
-
- dist_fact_ns1 = 0, 0, 0, 0, 0 ;
-
- node_ns2 = 0, 0, 0 ;
-
- dist_fact_ns2 = 0, 0, 0 ;
-
- ns_prop2 = _, _ ;
-
- ns_prop3 = 0, 0 ;
-
- elem_ss1 = 0, 0 ;
-
- side_ss1 = 0, 0 ;
-
- dist_fact_ss1 = 0, 0, 0, 0 ;
-
- elem_ss2 = 0, 0 ;
-
- side_ss2 = 0, 0 ;
-
- dist_fact_ss2 = 0, 0, 0, 0 ;
-
- elem_ss3 = 0, 0, 0, 0, 0, 0, 0 ;
-
- side_ss3 = 0, 0, 0, 0, 0, 0, 0 ;
-
- elem_ss4 = 0, 0, 0, 0 ;
-
- side_ss4 = 0, 0, 0, 0 ;
-
- elem_ss5 = 0, 0, 0, 0, 0 ;
-
- side_ss5 = 0, 0, 0, 0, 0 ;
-
- ss_prop2 = _, _, _, _, _ ;
-}
diff --git a/forbind/test/testcp_sd.dmp b/forbind/test/testcp_sd.dmp
deleted file mode 100644
index e69de29..0000000
diff --git a/forbind/test/testcp_ss.dmp b/forbind/test/testcp_ss.dmp
deleted file mode 100644
index 96162c1..0000000
--- a/forbind/test/testcp_ss.dmp
+++ /dev/null
@@ -1,248 +0,0 @@
-netcdf testcp {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "THICKNESS" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "THICKNESS" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "THICKNESS" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "THICKNESS" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "THICKNESS" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 10, 20, 30, 40, 50 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 100, 101, 102, 103, 104 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 200, 201, 202 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-}
diff --git a/forbind/test/testcpd.f b/forbind/test/testcpd.f
deleted file mode 100644
index ac2d5b6..0000000
--- a/forbind/test/testcpd.f
+++ /dev/null
@@ -1,63 +0,0 @@
- program testcpd
-
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database copy function (excopy).
-c
- implicit none
-
- include 'exodusII.inc'
-
- integer iin, iout, exoid, exoid1, ierr, cpu_ws, io_ws
-
- real vers
-
- data iin /5/, iout /6/
-
-c
-c open EXODUS II input file
-c
-
-c the setting of cpu_ws isn't used in copying but will test the
-c conversion routines
-
- cpu_ws = 8
- io_ws = 0
-
- exoid = exopen ("test.exo", EXREAD, cpu_ws, io_ws, vers, ierr)
- write (iout, '(/"after exopen, error = ",i3)')
- 1 ierr
-
- write (iout, '("test.exo is an EXODUSII file; version ",
- 1 f4.2)') vers
- write (iout, '(" I/O word size: ",i4)') io_ws
-
-c
-c create EXODUS II output file with 8-byte reals
-c
-c the setting of cpu_ws isn't used in copying but will test the
-c conversion routines
-
- cpu_ws = 8
- io_ws = 8
-
- exoid1 = excre ("testcpd.exo",
- 1 EXCLOB, cpu_ws, io_ws, ierr)
- write (iout,'("after excre, id = ", i3, ", error = ",i3)')
- 1 exoid1, ierr
- write (iout,'(" I/O word size: ",i4)') io_ws
-
- write (iout,'("after excre, error = ", i4)') ierr
-
- call excopy (exoid, exoid1, ierr)
- write (iout, '(/"after excopy, error = ", i3)' ) ierr
-
- call exclos (exoid, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- call exclos (exoid1, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testcpln.dmp b/forbind/test/testcpln.dmp
deleted file mode 100644
index 0781404..0000000
--- a/forbind/test/testcpln.dmp
+++ /dev/null
@@ -1,245 +0,0 @@
-netcdf testcp {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coord(num_dim, num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 0 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coord =
- 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3, 6, 0,
- 3, 6, 0,
- 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0, 0, 0, 2,
- 2, 2,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3, 6, 0,
- 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "THICKNESS" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "THICKNESS" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "THICKNESS" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "THICKNESS" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "THICKNESS" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 10, 20, 30, 40, 50 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 100, 101, 102, 103, 104 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 200, 201, 202 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-}
diff --git a/forbind/test/testcpln.f b/forbind/test/testcpln.f
deleted file mode 100644
index 58b60e5..0000000
--- a/forbind/test/testcpln.f
+++ /dev/null
@@ -1,68 +0,0 @@
- program testcpnl
-
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database copy function (excopy).
-c
- implicit none
-
- include 'exodusII.inc'
-
- integer iin, iout, exoid, exoid1, ierr, cpu_ws, io_ws, mod_sz
-
- real vers
-
- data iin /5/, iout /6/
-
-c
-c open EXODUS II input file
-c
-
-c the setting of cpu_ws isn't used for copying but will test the
-c conversion routines
-
- cpu_ws = 8
- io_ws = 4
-
- exoid = exopen ("test.exo", EXREAD, cpu_ws, io_ws, vers, ierr)
- write (iout, '(/"after exopen, error = ",i3)')
- 1 ierr
-
- write (iout, '("test.exo is an EXODUSII file; version ",
- 1 f4.2)') vers
- write (iout, '(" I/O word size: ",i4)') io_ws
- mod_sz = exlgmd(exoid)
- write (iout, '(" Model Size",i2)') mod_sz
-
-c
-c create EXODUS II output file with default size reals
-c
-c the setting of cpu_ws isn't used for copying but will test the
-c conversion routines
-
- cpu_ws = 8
- io_ws = 0
-
- exoid1 = excre ("testcp.exo",
- 1 EXCLOB+EXNORM, cpu_ws, io_ws, ierr)
- write (iout,'("after excre, id = ", i6, ", error = ",i4)')
- 1 exoid1, ierr
- write (iout,'(" I/O word size: ",i4)') io_ws
-
- mod_sz = exlgmd(exoid1)
- write (iout, '(" Model Size",i2)') mod_sz
-
- write (iout,'("after excre, error = ", i4)') ierr
-
- call excopy (exoid, exoid1, ierr)
- write (iout, '(/"after excopy, error = ", i3)' ) ierr
-
- call exclos (exoid, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- call exclos (exoid1, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testcpnl.dmp b/forbind/test/testcpnl.dmp
deleted file mode 100644
index efd19ac..0000000
--- a/forbind/test/testcpnl.dmp
+++ /dev/null
@@ -1,248 +0,0 @@
-netcdf testcpnl {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (0 currently)
- len_name = 33 ;
- num_dim = 3 ;
- num_nodes = 26 ;
- num_elem = 5 ;
- num_el_blk = 5 ;
- num_node_sets = 2 ;
- num_side_sets = 5 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_el_in_blk3 = 1 ;
- num_nod_per_el3 = 8 ;
- num_att_in_blk3 = 1 ;
- num_el_in_blk4 = 1 ;
- num_nod_per_el4 = 4 ;
- num_att_in_blk4 = 1 ;
- num_el_in_blk5 = 1 ;
- num_nod_per_el5 = 6 ;
- num_att_in_blk5 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_side_ss3 = 7 ;
- num_side_ss4 = 4 ;
- num_side_ss5 = 5 ;
-variables:
- float time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- float coordx(num_nodes) ;
- float coordy(num_nodes) ;
- float coordz(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- float attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- float attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- float attrib3(num_el_in_blk3, num_att_in_blk3) ;
- char attrib_name3(num_att_in_blk3, len_name) ;
- int connect3(num_el_in_blk3, num_nod_per_el3) ;
- connect3:elem_type = "hex" ;
- float attrib4(num_el_in_blk4, num_att_in_blk4) ;
- char attrib_name4(num_att_in_blk4, len_name) ;
- int connect4(num_el_in_blk4, num_nod_per_el4) ;
- connect4:elem_type = "tetra" ;
- float attrib5(num_el_in_blk5, num_att_in_blk5) ;
- char attrib_name5(num_att_in_blk5, len_name) ;
- int connect5(num_el_in_blk5, num_nod_per_el5) ;
- connect5:elem_type = "wedge" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- float dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- float dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- float dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- float dist_fact_ss2(num_df_ss2) ;
- int elem_ss3(num_side_ss3) ;
- int side_ss3(num_side_ss3) ;
- int elem_ss4(num_side_ss4) ;
- int side_ss4(num_side_ss4) ;
- int elem_ss5(num_side_ss5) ;
- int side_ss5(num_side_ss5) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
-
-// global attributes:
- :floating_point_word_size = 4 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- eb_status = 1, 1, 1, 1, 1 ;
-
- eb_prop1 = 10, 11, 12, 13, 14 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1, 1, 1, 1 ;
-
- ss_prop1 = 30, 31, 32, 33, 34 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1, 0, 10, 10, 1, 1, 10, 10, 1, 0, 1, 10, 7, 3,
- 6, 0, 3, 6, 0 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 10, 10, 10, 10, 0, 0, 0, 5, 0,
- 0, 0, 2, 2, 2 ;
-
- coordz = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -10, -10, 0, 0, -10, -10, 0, 5, 2, 3,
- 6, 0, 0, 6, 2, 0 ;
-
- eb_names =
- "",
- "",
- "",
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "",
- "",
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor",
- "zcoor" ;
-
- elem_map = 1, 2, 3, 4, 5 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "THICKNESS" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "THICKNESS" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- attrib3 =
- 6.1416 ;
-
- attrib_name3 =
- "THICKNESS" ;
-
- connect3 =
- 9, 10, 11, 12, 13, 14, 15, 16 ;
-
- attrib4 =
- 6.1416 ;
-
- attrib_name4 =
- "THICKNESS" ;
-
- connect4 =
- 17, 18, 19, 20 ;
-
- attrib5 =
- 6.1416 ;
-
- attrib_name5 =
- "THICKNESS" ;
-
- connect5 =
- 21, 22, 23, 24, 25, 26 ;
-
- eb_prop2 = 10, 20, 30, 40, 50 ;
-
- eb_prop3 = _, _, _, _, _ ;
-
- node_ns1 = 100, 101, 102, 103, 104 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 200, 201, 202 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 2, 2 ;
-
- side_ss1 = 4, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 1, 2 ;
-
- side_ss2 = 2, 3 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- elem_ss3 = 3, 3, 3, 3, 3, 3, 3 ;
-
- side_ss3 = 5, 3, 3, 2, 4, 1, 6 ;
-
- elem_ss4 = 4, 4, 4, 4 ;
-
- side_ss4 = 1, 2, 3, 4 ;
-
- elem_ss5 = 5, 5, 5, 5, 5 ;
-
- side_ss5 = 1, 2, 3, 4, 5 ;
-
- ss_prop2 = 100, 101, _, _, _ ;
-}
diff --git a/forbind/test/testcpnl.f b/forbind/test/testcpnl.f
deleted file mode 100644
index 6006331..0000000
--- a/forbind/test/testcpnl.f
+++ /dev/null
@@ -1,68 +0,0 @@
- program testcpnl
-
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database copy function (excopy).
-c
- implicit none
-
- include 'exodusII.inc'
-
- integer iin, iout, exoid, exoid1, ierr, cpu_ws, io_ws, mod_sz
-
- real vers
-
- data iin /5/, iout /6/
-
-c
-c open EXODUS II input file
-c
-
-c the setting of cpu_ws isn't used for copying but will test the
-c conversion routines
-
- cpu_ws = 8
- io_ws = 4
-
- exoid = exopen ("test.exo", EXREAD, cpu_ws, io_ws, vers, ierr)
- write (iout, '(/"after exopen, error = ",i3)')
- 1 ierr
-
- write (iout, '("test.exo is an EXODUSII file; version ",
- 1 f4.2)') vers
- write (iout, '(" I/O word size: ",i4)') io_ws
- mod_sz = exlgmd(exoid)
- write (iout, '(" Model Size",i2)') mod_sz
-
-c
-c create EXODUS II output file with default size reals
-c
-c the setting of cpu_ws isn't used for copying but will test the
-c conversion routines
-
- cpu_ws = 8
- io_ws = 0
-
- exoid1 = excre ("testcpnl.exo",
- 1 EXCLOB+EXLARG, cpu_ws, io_ws, ierr)
- write (iout,'("after excre, id = ", i3, ", error = ",i3)')
- 1 exoid1, ierr
- write (iout,'(" I/O word size: ",i4)') io_ws
-
- mod_sz = exlgmd(exoid1)
- write (iout, '(" Model Size",i2)') mod_sz
-
- write (iout,'("after excre, error = ", i4)') ierr
-
- call excopy (exoid, exoid1, ierr)
- write (iout, '(/"after excopy, error = ", i3)' ) ierr
-
- call exclos (exoid, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- call exclos (exoid1, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testd.dmp b/forbind/test/testd.dmp
deleted file mode 100644
index 7e73d48..0000000
--- a/forbind/test/testd.dmp
+++ /dev/null
@@ -1,326 +0,0 @@
-netcdf test {
-dimensions:
- len_string = 33 ;
- len_line = 81 ;
- four = 4 ;
- time_step = UNLIMITED ; // (10 currently)
- len_name = 33 ;
- num_dim = 2 ;
- num_nodes = 8 ;
- num_elem = 2 ;
- num_el_blk = 2 ;
- num_node_sets = 2 ;
- num_side_sets = 2 ;
- num_el_in_blk1 = 1 ;
- num_nod_per_el1 = 4 ;
- num_att_in_blk1 = 1 ;
- num_el_in_blk2 = 1 ;
- num_nod_per_el2 = 4 ;
- num_att_in_blk2 = 1 ;
- num_nod_ns1 = 5 ;
- num_nod_ns2 = 3 ;
- num_side_ss1 = 2 ;
- num_df_ss1 = 4 ;
- num_side_ss2 = 2 ;
- num_df_ss2 = 4 ;
- num_qa_rec = 2 ;
- num_info = 3 ;
- num_glo_var = 1 ;
- num_nod_var = 2 ;
- num_elem_var = 3 ;
-variables:
- double time_whole(time_step) ;
- int eb_status(num_el_blk) ;
- int eb_prop1(num_el_blk) ;
- eb_prop1:name = "ID" ;
- int ns_status(num_node_sets) ;
- int ns_prop1(num_node_sets) ;
- ns_prop1:name = "ID" ;
- int ss_status(num_side_sets) ;
- int ss_prop1(num_side_sets) ;
- ss_prop1:name = "ID" ;
- double coordx(num_nodes) ;
- double coordy(num_nodes) ;
- char eb_names(num_el_blk, len_name) ;
- char ns_names(num_node_sets, len_name) ;
- char ss_names(num_side_sets, len_name) ;
- char coor_names(num_dim, len_name) ;
- int elem_map(num_elem) ;
- double attrib1(num_el_in_blk1, num_att_in_blk1) ;
- char attrib_name1(num_att_in_blk1, len_name) ;
- int connect1(num_el_in_blk1, num_nod_per_el1) ;
- connect1:elem_type = "quad" ;
- double attrib2(num_el_in_blk2, num_att_in_blk2) ;
- char attrib_name2(num_att_in_blk2, len_name) ;
- int connect2(num_el_in_blk2, num_nod_per_el2) ;
- connect2:elem_type = "quad" ;
- int eb_prop2(num_el_blk) ;
- eb_prop2:_FillValue = 0 ;
- eb_prop2:name = "MATL" ;
- int eb_prop3(num_el_blk) ;
- eb_prop3:_FillValue = 0 ;
- eb_prop3:name = "DENSITY" ;
- int node_ns1(num_nod_ns1) ;
- double dist_fact_ns1(num_nod_ns1) ;
- int node_ns2(num_nod_ns2) ;
- double dist_fact_ns2(num_nod_ns2) ;
- int ns_prop2(num_node_sets) ;
- ns_prop2:_FillValue = 0 ;
- ns_prop2:name = "FACE" ;
- int ns_prop3(num_node_sets) ;
- ns_prop3:name = "VELOCITY" ;
- int elem_ss1(num_side_ss1) ;
- int side_ss1(num_side_ss1) ;
- double dist_fact_ss1(num_df_ss1) ;
- int elem_ss2(num_side_ss2) ;
- int side_ss2(num_side_ss2) ;
- double dist_fact_ss2(num_df_ss2) ;
- int ss_prop2(num_side_sets) ;
- ss_prop2:_FillValue = 0 ;
- ss_prop2:name = "COLOR" ;
- char qa_records(num_qa_rec, four, len_string) ;
- char info_records(num_info, len_line) ;
- char name_glo_var(num_glo_var, len_name) ;
- double vals_glo_var(time_step, num_glo_var) ;
- double vals_nod_var1(time_step, num_nodes) ;
- double vals_nod_var2(time_step, num_nodes) ;
- char name_nod_var(num_nod_var, len_name) ;
- char name_elem_var(num_elem_var, len_name) ;
- double vals_elem_var1eb1(time_step, num_el_in_blk1) ;
- double vals_elem_var2eb1(time_step, num_el_in_blk1) ;
- double vals_elem_var3eb1(time_step, num_el_in_blk1) ;
- double vals_elem_var1eb2(time_step, num_el_in_blk2) ;
- double vals_elem_var2eb2(time_step, num_el_in_blk2) ;
- double vals_elem_var3eb2(time_step, num_el_in_blk2) ;
- int elem_var_tab(num_el_blk, num_elem_var) ;
-
-// global attributes:
- :floating_point_word_size = 8 ;
- :file_size = 1 ;
- :int64_status = 0 ;
- :title = "This is a test" ;
- :maximum_name_length = 32 ;
-data:
-
- time_whole = 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.1 ;
-
- eb_status = 1, 1 ;
-
- eb_prop1 = 10, 11 ;
-
- ns_status = 1, 1 ;
-
- ns_prop1 = 20, 21 ;
-
- ss_status = 1, 1 ;
-
- ss_prop1 = 30, 31 ;
-
- coordx = 0, 1, 1, 0, 1, 2, 2, 1 ;
-
- coordy = 0, 0, 1, 1, 0, 0, 1, 1 ;
-
- eb_names =
- "",
- "" ;
-
- ns_names =
- "",
- "" ;
-
- ss_names =
- "",
- "" ;
-
- coor_names =
- "xcoor",
- "ycoor" ;
-
- elem_map = 1, 2 ;
-
- attrib1 =
- 3.1416 ;
-
- attrib_name1 =
- "" ;
-
- connect1 =
- 1, 2, 3, 4 ;
-
- attrib2 =
- 6.1416 ;
-
- attrib_name2 =
- "" ;
-
- connect2 =
- 5, 6, 7, 8 ;
-
- eb_prop2 = 10, 20 ;
-
- eb_prop3 = _, _ ;
-
- node_ns1 = 100, 101, 102, 103, 104 ;
-
- dist_fact_ns1 = 1, 2, 3, 4, 5 ;
-
- node_ns2 = 200, 201, 202 ;
-
- dist_fact_ns2 = 1.1, 2.1, 3.1 ;
-
- ns_prop2 = 4, 5 ;
-
- ns_prop3 = 1000, 2000 ;
-
- elem_ss1 = 11, 12 ;
-
- side_ss1 = 1, 2 ;
-
- dist_fact_ss1 = 30, 30.1, 30.2, 30.3 ;
-
- elem_ss2 = 13, 14 ;
-
- side_ss2 = 3, 4 ;
-
- dist_fact_ss2 = 31, 31.1, 31.2, 31.3 ;
-
- ss_prop2 = 100, 101 ;
-
- qa_records =
- "testwtd",
- "07/07/93",
- "15:41:33",
- "FASTQ",
- "fastq",
- "07/07/93",
- "16:41:33" ;
-
- info_records =
- "This is the first information record.",
- "This is the second information record.",
- "This is the third information record." ;
-
- name_glo_var =
- "glo_vars" ;
-
- vals_glo_var =
- 0.02,
- 0.04,
- 0.06,
- 0.08,
- 0.1,
- 0.12,
- 0.14,
- 0.16,
- 0.18,
- 0.2 ;
-
- vals_nod_var1 =
- 1.01, 1.02, 1.03, 1.04, 1.05, 1.06, 1.07, 1.08,
- 1.02, 1.04, 1.06, 1.08, 1.1, 1.12, 1.14, 1.16,
- 1.03, 1.06, 1.09, 1.12, 1.15, 1.18, 1.21, 1.24,
- 1.04, 1.08, 1.12, 1.16, 1.2, 1.24, 1.28, 1.32,
- 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4,
- 1.06, 1.12, 1.18, 1.24, 1.3, 1.36, 1.42, 1.48,
- 1.07, 1.14, 1.21, 1.28, 1.35, 1.42, 1.49, 1.56,
- 1.08, 1.16, 1.24, 1.32, 1.4, 1.48, 1.56, 1.64,
- 1.09, 1.18, 1.27, 1.36, 1.45, 1.54, 1.63, 1.72,
- 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8 ;
-
- vals_nod_var2 =
- 2.01, 2.02, 2.03, 2.04, 2.05, 2.06, 2.07, 2.08,
- 2.02, 2.04, 2.06, 2.08, 2.1, 2.12, 2.14, 2.16,
- 2.03, 2.06, 2.09, 2.12, 2.15, 2.18, 2.21, 2.24,
- 2.04, 2.08, 2.12, 2.16, 2.2, 2.24, 2.28, 2.32,
- 2.05, 2.1, 2.15, 2.2, 2.25, 2.3, 2.35, 2.4,
- 2.06, 2.12, 2.18, 2.24, 2.3, 2.36, 2.42, 2.48,
- 2.07, 2.14, 2.21, 2.28, 2.35, 2.42, 2.49, 2.56,
- 2.08, 2.16, 2.24, 2.32, 2.4, 2.48, 2.56, 2.64,
- 2.09, 2.18, 2.27, 2.36, 2.45, 2.54, 2.63, 2.72,
- 2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8 ;
-
- name_nod_var =
- "nod_var0",
- "nod_var1" ;
-
- name_elem_var =
- "ele_var0",
- "ele_var1",
- "ele_var2" ;
-
- vals_elem_var1eb1 =
- 4.01,
- 4.02,
- 4.03,
- 4.04,
- 4.05,
- 4.06,
- 4.07,
- 4.08,
- 4.09,
- 4.1 ;
-
- vals_elem_var2eb1 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var3eb1 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var1eb2 =
- 5.01,
- 5.02,
- 5.03,
- 5.04,
- 5.05,
- 5.06,
- 5.07,
- 5.08,
- 5.09,
- 5.1 ;
-
- vals_elem_var2eb2 =
- 6.01,
- 6.02,
- 6.03,
- 6.04,
- 6.05,
- 6.06,
- 6.07,
- 6.08,
- 6.09,
- 6.1 ;
-
- vals_elem_var3eb2 =
- 7.01,
- 7.02,
- 7.03,
- 7.04,
- 7.05,
- 7.06,
- 7.07,
- 7.08,
- 7.09,
- 7.1 ;
-
- elem_var_tab =
- 1, 1, 1,
- 1, 1, 1 ;
-}
diff --git a/forbind/test/testrd.dmp b/forbind/test/testrd.dmp
deleted file mode 100644
index a136ffa..0000000
--- a/forbind/test/testrd.dmp
+++ /dev/null
@@ -1,798 +0,0 @@
-
-after exopen, error = 0
- I/O word size 4
- Model Size 1
- Maximum Allowed/Used DB Name Size 3232
-
-after exgini, error = 0
-database parameters:
-title = This is a test
-num_dim = 3
-num_nodes = 26
-num_elem = 5
-num_elem_blk = 5
-num_node_sets = 2
-num_side_sets = 5
-
-after exgcor, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
-
-after exgcon, error = 0
-x coord name = xcoor
-y coord name = ycoor
-
-after exgmap, error = 0
-elem_map(1) = 1
-elem_map(2) = 2
-elem_map(3) = 3
-elem_map(4) = 4
-elem_map(5) = 5
-
-after exgebi, error = 0
-
-after exgelb, error = 0
-element block id = 10
-element type = quad
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after exgelb, error = 0
-element block id = 11
-element type = quad
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after exgelb, error = 0
-element block id = 12
-element type = hex
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 1
-
-after exgelb, error = 0
-element block id = 13
-element type = tetra
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after exgelb, error = 0
-element block id = 14
-element type = wedge
-num_elem_in_block = 1
-num_nodes_per_elem = 6
-num_attr = 1
-
-after exinq, error = 0
-
-There are 3 properties for each element block
-after exgpn, error = 0
-elem block 1 property( 1): ID = 10
-elem block 2 property( 1): ID = 11
-elem block 3 property( 1): ID = 12
-elem block 4 property( 1): ID = 13
-elem block 5 property( 1): ID = 14
-elem block 1 property( 2): MATL = 10
-elem block 2 property( 2): MATL = 20
-elem block 3 property( 2): MATL = 30
-elem block 4 property( 2): MATL = 40
-elem block 5 property( 2): MATL = 50
-elem block 1 property( 3): DENSITY = 0
-elem block 2 property( 3): DENSITY = 0
-elem block 3 property( 3): DENSITY = 0
-elem block 4 property( 3): DENSITY = 0
-elem block 5 property( 3): DENSITY = 0
-
-after exgelc, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after exgelc, error = 0
-connect array for elem block 11
- 5
- 6
- 7
- 8
-
-after exgelc, error = 0
-connect array for elem block 12
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
-
-after exgelc, error = 0
-connect array for elem block 13
- 17
- 18
- 19
- 20
-
-after exgelc, error = 0
-connect array for elem block 14
- 21
- 22
- 23
- 24
- 25
- 26
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 10 has 1 attribute(s) and 1 element(s):
-THICKNESS = 3.1416
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 11 has 1 attribute(s) and 1 element(s):
-THICKNESS = 6.1416
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 12 has 1 attribute(s) and 1 element(s):
-THICKNESS = 6.1416
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 13 has 1 attribute(s) and 1 element(s):
-THICKNESS = 6.1416
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 14 has 1 attribute(s) and 1 element(s):
-THICKNESS = 6.1416
-
-after exgnsi, error = 0
-
-after exgnp, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-
-after exgns, error = 0
-
-after exgnsd, error = 0
-
-node list for node set 20
-100
-101
-102
-103
-104
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
-
-after exgnp, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-
-after exgns, error = 0
-
-after exgnsd, error = 0
-
-node list for node set 21
-200
-201
-202
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
-
-after exinq, error = 0
-
-There are 3 properties for each node set
-after exgpn, error = 0
-node set 1 property( 1): ID = 20
-node set 2 property( 1): ID = 21
-node set 1 property( 2): FACE = 4
-node set 2 property( 2): FACE = 5
-node set 1 property( 3): VELOCITY = 1000
-node set 2 property( 3): VELOCITY = 2000
-
-after exinq, error = 0
-
-after EXNSNL = 8 exinq, error = 0
-
-after EXNSDF = 8 exinq, error = 0
-
-after exgcns, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 1
- 6
-node_list =
-100
-101
-102
-103
-104
-200
-201
-202
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after exgssi, error = 0
-
-after exgsp, error = 0
-side set 30 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-after exgssd, error = 0
-
-element list for side set 30
- 2
- 2
-side list for side set 30
- 4
- 2
-node list for side set 30
- 8
- 5
- 6
- 7
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after exgsp, error = 0
-side set 31 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-after exgssd, error = 0
-
-element list for side set 31
- 1
- 2
-side list for side set 31
- 2
- 3
-node list for side set 31
- 2
- 3
- 7
- 8
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after exgsp, error = 0
-side set 32 parameters:
-num_sides = 7
-num_dist_factors = 0
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-element list for side set 32
- 3
- 3
- 3
- 3
- 3
- 3
- 3
-side list for side set 32
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-node list for side set 32
- 9
- 12
- 11
- 10
- 11
- 12
- 16
- 15
- 11
- 12
- 16
- 15
- 10
- 11
- 15
- 14
- 9
- 13
- 16
- 12
- 9
- 10
- 14
- 13
- 13
- 14
- 15
- 16
-no dist factors for side set 32
-
-after exgsp, error = 0
-side set 33 parameters:
-num_sides = 4
-num_dist_factors = 0
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-element list for side set 33
- 4
- 4
- 4
- 4
-side list for side set 33
- 1
- 2
- 3
- 4
-node list for side set 33
- 17
- 18
- 20
- 18
- 19
- 20
- 17
- 20
- 19
- 17
- 19
- 18
-no dist factors for side set 33
-
-after exgsp, error = 0
-side set 34 parameters:
-num_sides = 5
-num_dist_factors = 0
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-element list for side set 34
- 5
- 5
- 5
- 5
- 5
-side list for side set 34
- 1
- 2
- 3
- 4
- 5
-node list for side set 34
- 21
- 22
- 25
- 24
- 22
- 23
- 26
- 25
- 21
- 24
- 26
- 23
- 21
- 23
- 22
- 24
- 25
- 26
-no dist factors for side set 34
-
-after exinq, error = 0
-
-There are 2 properties for each side set
-after exgpn, error = 0
-side set 1 property( 1): ID = 30
-side set 2 property( 1): ID = 31
-side set 3 property( 1): ID = 32
-side set 4 property( 1): ID = 33
-side set 5 property( 1): ID = 34
-side set 1 property( 2): COLOR = 100
-side set 2 property( 2): COLOR = 101
-side set 3 property( 2): COLOR = 0
-side set 4 property( 2): COLOR = 0
-side set 5 property( 2): COLOR = 0
-
-after exinq: EXSIDS = 5, error = 0
-
-after exinq: EXSSEL = 20, error = 0
-
-after exinq: EXSSNL = 66, error = 0
-
-after exinq: EXSSDF = 8, error = 0
-
-after exgcss, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
-num_elem_per_set =
- 2
- 2
- 7
- 4
- 5
-num_df_per_set =
- 4
- 4
- 0
- 0
- 0
-elem_ind =
- 1
- 3
- 5
- 12
- 16
-df_ind =
- 1
- 5
- 9
- 9
- 9
-elem_list =
- 2
- 2
- 1
- 2
- 3
- 3
- 3
- 3
- 3
- 3
- 3
- 4
- 4
- 4
- 4
- 5
- 5
- 5
- 5
- 5
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
- 5
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after exinq, error = 0
-
-after exgqa, error = 0
-QA records =
-testwt
-07/07/93
-15:41:33
-FASTQ
-fastq
-07/07/93
-16:41:33
-
-after exinq, error = 0
-
-after exginf, error = 0
-info records =
- This is the first information record.
- This is the second information record.
- This is the third information record.
-
-after exgvp, error = 0
-
-after exgvan, error = 0
-There are 1 global variables; their names are :
-glo_vars
-
-after exgvp, error = 0
-
-after exgvan, error = 0
-There are 2 nodal variables; their names are :
-nod_var0
-nod_var1
-
-after exgvp, error = 0
-
-after exgvan, error = 0
-There are 3 element variables; their names are :
-ele_var0
-ele_var1
-ele_var2
-
-after exgvtt, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after exinq, error = 0
-There are 10 time steps in the database.
-
-after exgtim, error = 0
-time value at time step 3 = 0.030
-
-after exgatm, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after exggv, error = 0
-global variable values at time step 3
-0.060
-
-after exggvt, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after exgnv, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-
-after exgnvt, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
-after exgebi, error = 0
-
-after exgev, error = 0
-element variable 1 values of element block 10 at time step 3
-4.030
-
-after exgev, error = 0
-element variable 1 values of element block 11 at time step 3
-5.030
-
-after exgev, error = 0
-element variable 1 values of element block 12 at time step 3
-6.030
-
-after exgev, error = 0
-element variable 1 values of element block 13 at time step 3
-7.030
-
-after exgev, error = 0
-element variable 1 values of element block 14 at time step 3
-8.030
-
-after exgevt, error = 0
-element variable 2 values for element 2 through time:
-6.010
-6.020
-6.030
-6.040
-6.050
-6.060
-6.070
-6.080
-6.090
-6.100
-
-after exclos, error = 0
diff --git a/forbind/test/testrd.f b/forbind/test/testrd.f
deleted file mode 100644
index b861d26..0000000
--- a/forbind/test/testrd.f
+++ /dev/null
@@ -1,738 +0,0 @@
- program testrd
-
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database read routines
-c
-c 09/07/93 V.R. Yarberry - Modified for API 2.00
- implicit none
-
- include 'exodusII.inc'
-
- integer iin, iout, ierr
- integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
- integer num_node_sets
- integer num_side_sets
- integer i, j, k, elem_map(5), connect(10), node_list(100)
- integer elem_list(100), side_list(100), ids(10)
- integer num_elem_per_set(10), num_nodes_per_set(10)
- integer num_df_per_set(10)
- integer num_df_in_set, num_sides_in_set
- integer df_ind(10),node_ind(10),elem_ind(10),num_qa_rec,num_info
- integer num_glo_vars, num_nod_vars, num_ele_vars
- integer truth_tab(3,5)
- integer num_time_steps
- integer num_elem_in_block(10), num_nodes_per_elem(10)
- integer num_attr(10), node_ctr_list(10), node_ctr
- integer num_nodes_in_set, num_elem_in_set
- integer df_list_len, list_len, elem_list_len, node_list_len
- integer node_num, time_step, var_index, beg_time, end_time
- integer elem_num
- integer cpu_ws,io_ws, mod_sz
- integer num_props, prop_value
- integer mxalnmlen, mxusnmlen
-
- real time_value, time_values(100), var_values(100)
- real x(100), y(100), z(100)
- real attrib(100), dist_fact(100)
- real vers, fdum
-
- character*(MXSTLN) coord_names(3), qa_record(4,2), var_names(3)
- character*(MXLNLN) inform(3), titl
- character typ*(MXSTLN), cdum*1
- character*(MXSTLN) prop_names(3)
- character*(MXSTLN) attrib_names(100)
-
- data iin /5/, iout /6/
-
-
-c
-c open EXODUS II files
-c
-
- cpu_ws = 0
- io_ws = 0
-
- exoid = excre("test.exo", EXNOCL, cpu_ws, io_ws, ierr)
-
- exoid = exopen ("test.exo", EXREAD, cpu_ws, io_ws, vers, ierr)
- write (iout, '(/"after exopen, error = ",i3)')
- 1 ierr
-
- write (iout, '("test.exo is an EXODUSII file; version ",
- 1 f4.2)') vers
- write (iout, '(" I/O word size",i2)') io_ws
-
- mod_sz = exlgmd(exoid)
- write (iout, '(" Model Size",i2)') mod_sz
-
- call exinq (exoid, EXNEBP, num_props, fdum, cdum, ierr)
- call exinq (exoid, EXDBMXALNM, mxalnmlen, fdum, cdum, ierr)
- call exinq (exoid, EXDBMXUSNM, mxusnmlen, fdum, cdum, ierr)
- write (iout, '(" Maximum Allowed/Used DB Name Size ",i2,i2)')
- * mxalnmlen, mxusnmlen
-
-c
-c read database parameters
-c
-
- call exgini (exoid, titl, num_dim, num_nodes, num_elem,
- 1 num_elem_blk, num_node_sets, num_side_sets, ierr)
- write (iout, '(/"after exgini, error = ", i3)' ) ierr
-
- write (iout, '("database parameters:"/
- 1 "title = ", a81 /
- 2 "num_dim = ", i3 /
- 3 "num_nodes = ", i3 /
- 4 "num_elem = ", i3 /
- 5 "num_elem_blk = ", i3 /
- 6 "num_node_sets = ", i3 /
- 7 "num_side_sets = ", i3)')
- 8 titl,num_dim, num_nodes, num_elem,
- 9 num_elem_blk,num_node_sets, num_side_sets
-
-
-c
-c read nodal coordinates values and names from database
-c
-
- call exgcor (exoid, x, y, z, ierr)
- write (iout, '(/"after exgcor, error = ", i3)' ) ierr
-
- write (iout, '("x coords = ")')
- do 10 i = 1, num_nodes
- write (iout, '(f5.1)') x(i)
-10 continue
-
- write (iout, '("y coords = ")')
- do 20 i = 1, num_nodes
- write (iout, '(f5.1)') y(i)
-20 continue
-
- if (num_dim .gt. 2) then
- write (iout, '("z coords = ")')
- do 22 i = 1, num_nodes
- write (iout, '(f5.1)') z(i)
-22 continue
- endif
-
- call exgcon (exoid, coord_names, ierr)
- write (iout, '(/"after exgcon, error = ", i3)' ) ierr
-
- write (iout, '("x coord name = ", a9)') coord_names(1)
- write (iout, '("y coord name = ", a9)') coord_names(2)
-
-c
-c read element order map
-c
-
- call exgmap (exoid, elem_map, ierr)
- write (iout, '(/"after exgmap, error = ", i3)' ) ierr
-
- do 30 i = 1, num_elem
- write (iout, '("elem_map(",i1,") = ", i1)') i, elem_map(i)
-30 continue
-
-c
-c read element block parameters
-c
-c
- call exgebi (exoid, ids, ierr)
- write (iout, '(/"after exgebi, error = ", i3)' ) ierr
-
- do 40 i = 1, num_elem_blk
-
- call exgelb (exoid, ids(i), typ, num_elem_in_block(i),
- 1 num_nodes_per_elem(i), num_attr(i), ierr)
- write (iout, '(/"after exgelb, error = ", i3)' ) ierr
-
- write (iout, '("element block id = ", i2,/
- 1 "element type = ", a9,/
- 2 "num_elem_in_block = ", i2,/
- 3 "num_nodes_per_elem = ", i2,/
- 4 "num_attr = ", i2)')
- 5 ids(i), typ, num_elem_in_block(i),
- 6 num_nodes_per_elem(i), num_attr(i)
-
-40 continue
-
-c read element block properties */
-
- call exinq (exoid, EXNEBP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each element block")')
- 2 num_props
-
-
- call exgpn(exoid, EXEBLK, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 47 i = 1, num_props
- do 45 j = 1, num_elem_blk
- call exgp(exoid, EXEBLK,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("elem block ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-45 continue
-47 continue
-
-c
-c read element connectivity
-c
-
- do 60 i = 1, num_elem_blk
-
- call exgelc (exoid, ids(i), connect, ierr)
- write (iout, '(/"after exgelc, error = ", i3)' ) ierr
-
- write (iout, '("connect array for elem block ", i2)') ids(i)
-
- do 50 j = 1, num_nodes_per_elem(i)
- write (iout, '(i3)') connect(j)
-50 continue
-
-60 continue
-
-c
-c read element block attributes
-c
-
- do 70 i = 1, num_elem_blk
-
- call exgeat (exoid, ids(i), attrib, ierr)
- write (iout, '(/"after exgeat, error = ", i3)' ) ierr
-
- call exgean (exoid, ids(i), num_attr(i), attrib_names, ierr)
- write (iout, '(/"after exgean, error = ", i3)' ) ierr
-
- write (iout,
- * '("element block ", i2, " has ",i2," attribute(s) and ",
- * i2, " element(s):")')
- 1 ids(i), num_attr(i), num_elem_in_block(i)
- do j=1, num_attr(i)
- write (iout, 69) attrib_names(j),
- * (attrib(k),k= j, num_attr(i)*num_elem_in_block(i),
- * num_attr(i))
- end do
- 69 format(A32," = ", 10(f6.4,2x))
-70 continue
-
-c
-c read individual node sets
-c
- if (num_node_sets .gt. 0) then
- call exgnsi (exoid, ids, ierr)
- write (iout, '(/"after exgnsi, error = ", i3)' ) ierr
- endif
-
- do 100 i = 1, num_node_sets
-
- call exgnp (exoid, ids(i), num_nodes_in_set,
- 1 num_df_in_set, ierr)
- write (iout, '(/"after exgnp, error = ", i3)' ) ierr
-
- write (iout, '(/"node set ", i2, " parameters: ",/
- 2 "num_nodes = ", i2)') ids(i), num_nodes_in_set
-
- call exgns (exoid, ids(i), node_list, ierr)
- write (iout, '(/"after exgns, error = ", i3)' ) ierr
-
- if (num_df_in_set .gt. 0) then
- call exgnsd (exoid, ids(i), dist_fact, ierr)
- write (iout, '(/"after exgnsd, error = ", i3)' ) ierr
- endif
-
- write (iout, '(/"node list for node set ", i2)') ids(i)
-
- do 80 j = 1, num_nodes_in_set
- write (iout, '(i3)') node_list(j)
-80 continue
-
- if (num_df_in_set .gt. 0) then
- write (iout, '("dist factors for node set ", i2)') ids(i)
- do 90 j = 1, num_nodes_in_set
- write (iout, '(f5.2)') dist_fact(j)
-90 continue
- else
- write (iout, '("no dist factors for node set ", i2)') ids(i)
- endif
-
-100 continue
-
-c read node set properties
-
- call exinq (exoid, EXNNSP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each node set")')
- 2 num_props
-
-
- call exgpn(exoid, EXNSET, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 107 i = 1, num_props
- do 105 j = 1, num_node_sets
- call exgp(exoid,EXNSET,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("node set ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-105 continue
-107 continue
-
-c
-c read concatenated node sets; this produces the same information as
-c the above code which reads individual node sets
-c
- call exinq (exoid, EXNODS, num_node_sets, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- if (num_node_sets .gt. 0) then
- call exinq (exoid, EXNSNL, list_len, fdum, cdum, ierr)
- write(iout,'(/"after EXNSNL =",i3," exinq, error = ",i3)')
- 1 list_len,ierr
-
- call exinq (exoid, EXNSDF, list_len, fdum, cdum, ierr)
- write(iout,'(/"after EXNSDF =",i3," exinq, error = ",i3)')
- 1 list_len,ierr
-
- call exgcns (exoid, ids, num_nodes_per_set, num_df_per_set,
- 1 node_ind, df_ind, node_list, dist_fact, ierr)
- write (iout, '(/"after exgcns, error = ", i3)' ) ierr
-
- write (iout, '(/"concatenated node set info")')
-
- write (iout, '("ids = ")')
-
- do 110 i = 1, num_node_sets
- write (iout, '(i3)') ids(i)
-110 continue
-
- write (iout, '("num_nodes_per_set = ")')
-
- do 120 i = 1, num_node_sets
- write (iout, '(i3)') num_nodes_per_set(i)
-120 continue
-
- write (iout, '("node_ind = ")')
-
- do 130 i = 1, num_node_sets
- write (iout, '(i3)') node_ind(i)
-130 continue
-
- write (iout, '("node_list = ")')
-
- do 140 i = 1, list_len
- write (iout, '(i3)') node_list(i)
-140 continue
-
- write (iout, '("dist_fact = ")')
-
- do 150 i = 1, list_len
- write (iout, '(f5.3)') dist_fact(i)
-150 continue
- endif
-
-c
-c read individual side sets
-c
- if (num_side_sets .gt. 0) then
- call exgssi (exoid, ids, ierr)
- write (iout, '(/"after exgssi, error = ", i3)' ) ierr
- endif
-
- do 190 i = 1, num_side_sets
-
- call exgsp (exoid, ids(i), num_sides_in_set, num_df_in_set,
- 1 ierr)
- write (iout, '(/"after exgsp, error = ", i3)' ) ierr
-
- write (iout, '("side set ", i2, " parameters:",/
- 2 "num_sides = ", i3,/
- 3 "num_dist_factors = ", i3)')
- 4 ids(i), num_sides_in_set, num_df_in_set
-
- call exgss (exoid, ids(i), elem_list, side_list, ierr)
- write (iout, '(/"after exgss, error = ", i3)' ) ierr
-
- call exgssn (exoid, ids(i), node_ctr_list, node_list, ierr)
- write (iout, '(/"after exgssn, error = ", i3)' ) ierr
-
- if (num_df_in_set .gt. 0) then
- call exgssd (exoid, ids(i), dist_fact, ierr)
- write (iout, '(/"after exgssd, error = ", i3)' ) ierr
- endif
-
- write (iout, '(/"element list for side set ", i2)') ids(i)
-
- num_elem_in_set = num_sides_in_set
- do 160 j = 1, num_elem_in_set
- write (iout, '(i3)') elem_list(j)
-160 continue
-
- write (iout, '("side list for side set ", i2)') ids(i)
-
- do 170 j = 1, num_sides_in_set
- write (iout, '(i3)') side_list(j)
-170 continue
-
- node_ctr = 0
- write (iout, '("node list for side set ", i2)') ids(i)
- do 178 k=1, num_elem_in_set
- do 175 j=1, node_ctr_list(k)
- write (iout, '(i3)') node_list(j+node_ctr)
-175 continue
- node_ctr = node_ctr+node_ctr_list(k)
-178 continue
-
- if (num_df_in_set .gt. 0) then
- write (iout, '("dist factors for side set ", i2)') ids(i)
- do 180 j = 1, num_df_in_set
- write (iout, '(f6.3)') dist_fact(j)
-180 continue
- else
- write (iout, '("no dist factors for side set ", i2)') ids(i)
- endif
-
-190 continue
-
-c read side set properties
-
- call exinq (exoid, EXNSSP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each side set")')
- 2 num_props
-
-
- call exgpn(exoid, EXSSET, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 197 i = 1, num_props
- do 195 j = 1, num_side_sets
- call exgp(exoid, EXSSET,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("side set ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-195 continue
-197 continue
-
- call exinq (exoid, EXSIDS, num_side_sets, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSIDS =",i3,", error = ",i3)')
- 1 num_side_sets,ierr
-
- if (num_side_sets .gt. 0) then
- call exinq (exoid, EXSSEL, elem_list_len, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSSEL =",i3,", error = ",i3)')
- 1 elem_list_len,ierr
-
- call exinq (exoid, EXSSNL, node_list_len, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSSNL =",i3,", error = ",i3)')
- 1 node_list_len,ierr
-
- call exinq (exoid, EXSSDF, df_list_len, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSSDF =",i3,", error = ",i3)')
- 1 df_list_len,ierr
-c
-c read concatenated side sets; this produces the same information as
-c the above code which reads individual side sets
-c
- call exgcss (exoid, ids, num_elem_per_set, num_df_per_set,
- 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
- 2 ierr)
- write (iout, '(/"after exgcss, error = ", i3)' ) ierr
-
- write (iout, '("concatenated side set info")')
-
- write (iout, '("ids = ")')
-
- do 200 i = 1, num_side_sets
- write (iout, '(i3)') ids(i)
-200 continue
-
- write (iout, '("num_elem_per_set = ")')
-
- do 210 i = 1, num_side_sets
- write (iout, '(i3)') num_elem_per_set(i)
-210 continue
-
- write (iout, '("num_df_per_set = ")')
-
- do 220 i = 1, num_side_sets
- write (iout, '(i3)') num_df_per_set(i)
-220 continue
-
- write (iout, '("elem_ind = ")')
-
- do 230 i = 1, num_side_sets
- write (iout, '(i3)') elem_ind(i)
-230 continue
-
- write (iout, '("df_ind = ")')
-
- do 240 i = 1, num_side_sets
- write (iout, '(i3)') df_ind(i)
-240 continue
-
- write (iout, '("elem_list = ")')
-
- do 250 i = 1, elem_list_len
- write (iout, '(i3)') elem_list(i)
-250 continue
-
- write (iout, '("side_list = ")')
-
- do 260 i = 1, elem_list_len
- write (iout, '(i3)') side_list(i)
-260 continue
-
- write (iout, '("dist_fact = ")')
-
- do 270 i = 1, df_list_len
- write (iout, '(f6.3)') dist_fact(i)
-270 continue
- endif
-
-c
-c read QA records
-c
- call exinq (exoid, EXQA, num_qa_rec, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- call exgqa (exoid, qa_record, ierr)
- write (iout, '(/"after exgqa, error = ", i3)' ) ierr
-
- write (iout, '("QA records = ")')
-
- do 290 i = 1, num_qa_rec
- do 280 j = 1, 4
- write (iout, '(a)') qa_record(j,i)
-280 continue
-290 continue
-
-c
-c read information records
-c
- call exinq (exoid, EXINFO, num_info, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- call exginf (exoid, inform, ierr)
- write (iout, '(/"after exginf, error = ", i3)' ) ierr
-
- write (iout, '("info records = ")')
-
- do 300 i = 1, num_info
- write (iout, '(a81)') inform(i)
-300 continue
-
-c
-c read global variables parameters and names
-c
- call exgvp (exoid, "g", num_glo_vars, ierr)
- write (iout, '(/"after exgvp, error = ", i3)' ) ierr
-
- call exgvan (exoid, "g", num_glo_vars, var_names, ierr)
- write (iout, '(/"after exgvan, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," global variables; their names ",
- 1 "are :")') num_glo_vars
-
- do 320 i = 1, num_glo_vars
- write (iout, '(a9)') var_names(i)
-320 continue
-
-c
-c read nodal variables parameters and names
-c
- call exgvp (exoid, "n", num_nod_vars, ierr)
- write (iout, '(/"after exgvp, error = ", i3)' ) ierr
-
- call exgvan (exoid, "n", num_nod_vars, var_names, ierr)
- write (iout, '(/"after exgvan, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," nodal variables; their names ",
- 1 "are :")') num_nod_vars
-
- do 330 i = 1, num_nod_vars
- write (iout, '(a9)') var_names(i)
-330 continue
-
-c
-c read element variables parameters and names
-c
- call exgvp (exoid, "e", num_ele_vars, ierr)
- write (iout, '(/"after exgvp, error = ", i3)' ) ierr
-
- call exgvan (exoid, "e", num_ele_vars, var_names, ierr)
- write (iout, '(/"after exgvan, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," element variables; their names ",
- 1 "are :")') num_ele_vars
-
- do 340 i = 1, num_ele_vars
- write (iout, '(a9)') var_names(i)
-340 continue
-
-c
-c read element variable truth table
-c
- call exgvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
- write (iout, '(/"after exgvtt, error = ", i3)' ) ierr
-
- write (iout, '("This is the element variable truth table:")')
-
- do 360 i = 1, num_elem_blk
- do 350 j = 1, num_ele_vars
- write (iout, '(i2)') truth_tab(j,i)
-350 continue
-360 continue
-
-c
-c determine how many time steps are stored
-c
- call exinq (exoid, EXTIMS, num_time_steps, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," time steps in the database.")')
- 1 num_time_steps
-c
-c read time value at one time step
-c
- time_step = 3
- call exgtim (exoid, time_step, time_value, ierr)
- write (iout, '(/"after exgtim, error = ", i3)' ) ierr
-
- write (iout, '("time value at time step ",i2," = ", f5.3)')
- 1 time_step, time_value
-c
-c read time values at all time steps
-c
- call exgatm (exoid, time_values, ierr)
- write (iout, '(/"after exgatm, error = ", i3)' ) ierr
-
- write (iout, '("time values at all time steps are:")')
-
- do 370 i = 1, num_time_steps
- write (iout, '(f5.3)') time_values(i)
-370 continue
-
- var_index = 1
- beg_time = 1
- end_time = -1
-c
-c read all global variables at one time step
-c
- call exggv (exoid, time_step, num_glo_vars, var_values, ierr)
- write (iout, '(/"after exggv, error = ", i3)' ) ierr
-
- write (iout, '("global variable values at time step ",i2)')
- 1 time_step
-
- do 400 i = 1, num_glo_vars
- write (iout, '(f5.3)') var_values(i)
-400 continue
-
-c
-c read a single global variable through time
-c
- call exggvt (exoid, var_index, beg_time, end_time, var_values,
- 1 ierr)
- write (iout, '(/"after exggvt, error = ", i3)' ) ierr
-
- write (iout, '("global variable ",i2," values through time:")')
- 1 var_index
-
- do 410 i = 1, num_time_steps
- write (iout, '(f5.3)') var_values(i)
-410 continue
-
-c
-c read a nodal variable at one time step
-c
- call exgnv (exoid, time_step, var_index, num_nodes, var_values,
- 1 ierr)
- write (iout, '(/"after exgnv, error = ", i3)' ) ierr
-
- write (iout, '("nodal variable ",i2," values at time step ",i2)')
- 1 var_index, time_step
-
- do 420 i = 1, num_nodes
- write (iout, '(f5.3)') var_values(i)
-420 continue
-
-c
-c read a nodal variable through time
-c
- node_num = 1
-
- call exgnvt (exoid, var_index, node_num, beg_time, end_time,
- 1 var_values, ierr)
- write (iout, '(/"after exgnvt, error = ", i3)' ) ierr
-
- write (iout, '("nodal variable ",i2," values for node ",i2,
- 1 " through time:")') var_index, node_num
-
- do 430 i = 1, num_time_steps
- write (iout, '(f5.3)') var_values(i)
-430 continue
-
-c
-c read an element variable at one time step
-c
- call exgebi (exoid, ids, ierr)
- write (iout, '(/"after exgebi, error = ", i3)' ) ierr
-
- do 450 i = 1, num_elem_blk
-
- call exgev (exoid, time_step, var_index, ids(i),
- 1 num_elem_in_block(i), var_values, ierr)
- write (iout, '(/"after exgev, error = ", i3)' ) ierr
-
- if (ierr .eq. 0) then
- write (iout, '("element variable ",i2," values of element ",
- 1 "block ",i2," at time step ",i2)')
- 2 var_index, ids(i), time_step
- endif
-
- do 440 j = 1, num_elem_in_block(i)
- write (iout, '(f5.3)') var_values(j)
-440 continue
-
-450 continue
-
-c
-c read an element variable through time
-c
- var_index = 2
- elem_num = 2
-
- call exgevt (exoid, var_index, elem_num, beg_time, end_time,
- 1 var_values, ierr)
- write (iout, '(/"after exgevt, error = ", i3)' ) ierr
-
- write (iout, '("element variable ",i2," values for element ",i2,
- 1 " through time:")') var_index, elem_num
-
- do 460 i = 1, num_time_steps
- write (iout, '(f5.3)') var_values(i)
-460 continue
-
- call exclos (exoid, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testrd1.dmp b/forbind/test/testrd1.dmp
deleted file mode 100644
index 3d9ea50..0000000
--- a/forbind/test/testrd1.dmp
+++ /dev/null
@@ -1,917 +0,0 @@
-
-after exopen, error = 0
- I/O word size 4
-
-after exgini, error = 0
-database parameters:
-title = This is testwt1
-num_dim = 3
-num_nodes = 28
-num_elem = 8
-num_elem_blk = 7
-num_node_sets = 2
-num_side_sets = 5
-
-after exgcor, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
-100.0
- 50.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
-100.0
- 50.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 0.0
- 20.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
-
-after exgcon, error = 0
-x coord name = xcoor
-y coord name = ycoor
-
-after exgmp, error = 0
-
-after exgpa, error = 0
-
-after exgem, error = 0
-
-element map id = 111
-elem_map( 1) = 1
-elem_map( 2) = 2
-elem_map( 3) = 3
-elem_map( 4) = 4
-elem_map( 5) = 5
-elem_map( 6) = 6
-elem_map( 7) = 7
-elem_map( 8) = 8
-
-after exgem, error = 0
-
-element map id = 222
-elem_map( 1) = 2
-elem_map( 2) = 4
-elem_map( 3) = 6
-elem_map( 4) = 8
-elem_map( 5) = 10
-elem_map( 6) = 12
-elem_map( 7) = 14
-elem_map( 8) = 16
-
-after exinq, error = 0
-
-There are 3 properties for each element map
-after exgpn, error = 0
-elem map 1 property( 1): ID = 111
-elem map 2 property( 1): ID = 222
-elem map 1 property( 2): ORDER = 1
-elem map 2 property( 2): ORDER = 0
-elem map 1 property( 3): NUMBER = 0
-elem map 2 property( 3): NUMBER = 1
-
-after exgpa, error = 0
-
-after exgnm, error = 0
-
-node map id = 333
-node_map( 1) = 3
-node_map( 2) = 6
-node_map( 3) = 9
-node_map( 4) = 12
-node_map( 5) = 15
-node_map( 6) = 18
-node_map( 7) = 21
-node_map( 8) = 24
-node_map( 9) = 27
-node_map( 10) = 30
-node_map( 11) = 33
-node_map( 12) = 36
-node_map( 13) = 39
-node_map( 14) = 42
-node_map( 15) = 45
-node_map( 16) = 48
-node_map( 17) = 51
-node_map( 18) = 54
-node_map( 19) = 57
-node_map( 20) = 60
-node_map( 21) = 63
-node_map( 22) = 66
-node_map( 23) = 69
-node_map( 24) = 72
-node_map( 25) = 75
-node_map( 26) = 78
-node_map( 27) = 81
-node_map( 28) = 84
-
-after exinq, error = 0
-
-There are 2 properties for each node map
-after exgpn, error = 0
-node map 1 property( 1): ID = 333
-node map 1 property( 2): NUMBER = 1
-
-after exgebi, error = 0
-
-after exgelb, error = 0
-element block id = 10
-element type = quad
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 3
-
-after exgelb, error = 0
-element block id = 11
-element type = quad
-num_elem_in_block = 2
-num_nodes_per_elem = 4
-num_attr = 3
-
-after exgelb, error = 0
-element block id = 12
-element type = hex
-num_elem_in_block = 1
-num_nodes_per_elem = 8
-num_attr = 3
-
-after exgelb, error = 0
-element block id = 13
-element type = tetra
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 3
-
-after exgelb, error = 0
-element block id = 14
-element type = circle
-num_elem_in_block = 1
-num_nodes_per_elem = 1
-num_attr = 3
-
-after exgelb, error = 0
-element block id = 15
-element type = sphere
-num_elem_in_block = 1
-num_nodes_per_elem = 1
-num_attr = 3
-
-after exgelb, error = 0
-element block id = 16
-element type = wedge
-num_elem_in_block = 1
-num_nodes_per_elem = 6
-num_attr = 3
-
-after exinq, error = 0
-
-There are 3 properties for each element block
-after exgpn, error = 0
-elem block 1 property( 1): ID = 10
-elem block 2 property( 1): ID = 11
-elem block 3 property( 1): ID = 12
-elem block 4 property( 1): ID = 13
-elem block 5 property( 1): ID = 14
-elem block 6 property( 1): ID = 15
-elem block 7 property( 1): ID = 16
-elem block 1 property( 2): MATL = 10
-elem block 2 property( 2): MATL = 20
-elem block 3 property( 2): MATL = 30
-elem block 4 property( 2): MATL = 40
-elem block 5 property( 2): MATL = 50
-elem block 6 property( 2): MATL = 60
-elem block 7 property( 2): MATL = 70
-elem block 1 property( 3): DENSITY = 0
-elem block 2 property( 3): DENSITY = 0
-elem block 3 property( 3): DENSITY = 0
-elem block 4 property( 3): DENSITY = 0
-elem block 5 property( 3): DENSITY = 0
-elem block 6 property( 3): DENSITY = 0
-elem block 7 property( 3): DENSITY = 0
-
-after exgelc, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after exgelc, error = 0
-connect array for elem block 11
- 1
- 2
- 3
- 4
-
-after exgelc, error = 0
-connect array for elem block 12
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
-
-after exgelc, error = 0
-connect array for elem block 13
- 17
- 18
- 19
- 20
-
-after exgelc, error = 0
-connect array for elem block 14
- 21
-
-after exgelc, error = 0
-connect array for elem block 15
- 22
-
-after exgelc, error = 0
-connect array for elem block 16
- 23
- 24
- 25
- 26
- 27
- 28
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 10 has 3 attribute(s) and 1 element(s):
-attribute_1 = 1.0000
-attribute_2 = 2.0000
-attribute_3 = 3.0000
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 11 has 3 attribute(s) and 2 element(s):
-attribute_1 = 1.1100 1.1200
-attribute_2 = 2.1100 2.1200
-attribute_3 = 3.1100 3.1200
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 12 has 3 attribute(s) and 1 element(s):
-attribute_1 = 1.2000
-attribute_2 = 2.2000
-attribute_3 = 3.2000
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 13 has 3 attribute(s) and 1 element(s):
-attribute_1 = 1.3000
-attribute_2 = 2.3000
-attribute_3 = 3.3000
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 14 has 3 attribute(s) and 1 element(s):
-attribute_1 = 1.4000
-attribute_2 = 2.4000
-attribute_3 = 3.4000
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 15 has 3 attribute(s) and 1 element(s):
-attribute_1 = 1.5000
-attribute_2 = 2.5000
-attribute_3 = 3.5000
-
-after exgeat, error = 0
-
-after exgean, error = 0
-element block 16 has 3 attribute(s) and 1 element(s):
-attribute_1 = 1.6000
-attribute_2 = 2.6000
-attribute_3 = 3.6000
-
-after exgnsi, error = 0
-
-after exgnp, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-
-after exgns, error = 0
-
-after exgnsd, error = 0
-
-node list for node set 20
-100
-101
-102
-103
-104
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
-
-after exgnp, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-
-after exgns, error = 0
-
-after exgnsd, error = 0
-
-node list for node set 21
-200
-201
-202
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
-
-after exinq, error = 0
-
-There are 3 properties for each node set
-after exgpn, error = 0
-node set 1 property( 1): ID = 20
-node set 2 property( 1): ID = 21
-node set 1 property( 2): FACE = 4
-node set 2 property( 2): FACE = 5
-node set 1 property( 3): VELOCITY = 1000
-node set 2 property( 3): VELOCITY = 2000
-
-after exinq, error = 0
-
-after EXNSNL = 8 exinq, error = 0
-
-after EXNSDF = 8 exinq, error = 0
-
-after exgcns, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 1
- 6
-node_list =
-100
-101
-102
-103
-104
-200
-201
-202
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after exgssi, error = 0
-
-after exgsp, error = 0
-side set 30 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-after exgssd, error = 0
-
-element list for side set 30
- 3
- 3
-side list for side set 30
- 4
- 2
-node list for side set 30
- 8
- 5
- 6
- 7
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after exgsp, error = 0
-side set 31 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-after exgssd, error = 0
-
-element list for side set 31
- 1
- 3
-side list for side set 31
- 2
- 3
-node list for side set 31
- 2
- 3
- 7
- 8
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after exgsp, error = 0
-side set 32 parameters:
-num_sides = 7
-num_dist_factors = 0
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-element list for side set 32
- 4
- 4
- 4
- 4
- 4
- 4
- 4
-side list for side set 32
- 5
- 3
- 3
- 2
- 4
- 1
- 6
-node list for side set 32
- 9
- 12
- 11
- 10
- 11
- 12
- 16
- 15
- 11
- 12
- 16
- 15
- 10
- 11
- 15
- 14
- 9
- 13
- 16
- 12
- 9
- 10
- 14
- 13
- 13
- 14
- 15
- 16
-no dist factors for side set 32
-
-after exgsp, error = 0
-side set 33 parameters:
-num_sides = 4
-num_dist_factors = 0
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-element list for side set 33
- 5
- 5
- 5
- 5
-side list for side set 33
- 1
- 2
- 3
- 4
-node list for side set 33
- 17
- 18
- 20
- 18
- 19
- 20
- 17
- 20
- 19
- 17
- 19
- 18
-no dist factors for side set 33
-
-after exgsp, error = 0
-side set 34 parameters:
-num_sides = 2
-num_dist_factors = 0
-
-after exgss, error = 0
-
-after exgssn, error = 0
-
-element list for side set 34
- 6
- 7
-side list for side set 34
- 1
- 1
-node list for side set 34
- 21
- 22
-no dist factors for side set 34
-
-after exinq, error = 0
-
-There are 2 properties for each side set
-after exgpn, error = 0
-side set 1 property( 1): ID = 30
-side set 2 property( 1): ID = 31
-side set 3 property( 1): ID = 32
-side set 4 property( 1): ID = 33
-side set 5 property( 1): ID = 34
-side set 1 property( 2): COLOR = 100
-side set 2 property( 2): COLOR = 101
-side set 3 property( 2): COLOR = 0
-side set 4 property( 2): COLOR = 0
-side set 5 property( 2): COLOR = 0
-
-after exinq: EXSIDS = 5, error = 0
-
-after exinq: EXSSEL = 17, error = 0
-
-after exinq: EXSSNL = 50, error = 0
-
-after exinq: EXSSDF = 8, error = 0
-
-after exgcss, error = 0
-concatenated side set info
-ids =
- 30
- 31
- 32
- 33
- 34
-num_elem_per_set =
- 2
- 2
- 7
- 4
- 2
-num_df_per_set =
- 4
- 4
- 0
- 0
- 0
-elem_ind =
- 1
- 3
- 5
- 12
- 16
-df_ind =
- 1
- 5
- 9
- 9
- 9
-elem_list =
- 3
- 3
- 1
- 3
- 4
- 4
- 4
- 4
- 4
- 4
- 4
- 5
- 5
- 5
- 5
- 6
- 7
-side_list =
- 4
- 2
- 2
- 3
- 5
- 3
- 3
- 2
- 4
- 1
- 6
- 1
- 2
- 3
- 4
- 1
- 1
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after exinq, error = 0
-
-after exgqa, error = 0
-QA records =
-testwt1
-03/16/94
-15:41:33
-FASTQ
-fastq
-07/07/93
-16:41:33
-
-after exinq, error = 0
-
-after exginf, error = 0
-info records =
- This is the first information record.
- This is the second information record.
- This is the third information record.
-
-after exgvp, error = 0
-
-after exgvnm, error = 0
-There are 1 global variables; their names are :
-glo vars
-
-after exgvp, error = 0
-
-after exgvan, error = 0
-There are 2 nodal variables; their names are :
-nod_var0
-nod_var1
-
-after exgvp, error = 0
-
-after exgvan, error = 0
-There are 3 element variables; their names are :
-ele_var0
-ele_var1
-ele_var2
-
-after exgvtt, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
- 0
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
- 1
-
-after exinq, error = 0
-There are 10 time steps in the database.
-
-after exgtim, error = 0
-time value at time step 3 = 0.030
-
-after exgatm, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after exggv, error = 0
-global variable values at time step 3
-0.060
-
-after exggvt, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after exgnv, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-1.270
-1.300
-1.330
-1.360
-1.390
-1.420
-1.450
-1.480
-1.510
-1.540
-1.570
-1.600
-1.630
-1.660
-1.690
-1.720
-1.750
-1.780
-1.810
-1.840
-
-after exgnvt, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
-after exgebi, error = 0
-
-after exgev, error = 0
-element variable 1 values of element block 10 at time step 3
- 4.030
-
-after exgev, error = 0
-element variable 1 values of element block 11 at time step 3
- 5.030
- 5.060
-
-after exgev, error = -1
- 5.030
-
-after exgev, error = 0
-element variable 1 values of element block 13 at time step 3
- 7.030
-
-after exgev, error = 0
-element variable 1 values of element block 14 at time step 3
- 8.030
-
-after exgev, error = 0
-element variable 1 values of element block 15 at time step 3
- 9.030
-
-after exgev, error = 0
-element variable 1 values of element block 16 at time step 3
-10.030
-
-after exgevt, error = 0
-element variable 2 values for element 2 through time:
-6.010
-6.020
-6.030
-6.040
-6.050
-6.060
-6.070
-6.080
-6.090
-6.100
-
-after exclos, error = 0
diff --git a/forbind/test/testrd1.f b/forbind/test/testrd1.f
deleted file mode 100644
index 22def25..0000000
--- a/forbind/test/testrd1.f
+++ /dev/null
@@ -1,824 +0,0 @@
- program testrd1
-
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database read routines
-c
-c 09/07/93 V.R. Yarberry - Modified for API 2.00
- implicit none
-
- include 'exodusII.inc'
-
- integer iin, iout, ierr
- integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
- integer num_node_sets
- integer num_side_sets
- integer i, j, k, elem_map(10), connect(10), node_list(100)
- integer elem_list(100), side_list(100), ids(10), node_map(100)
- integer num_elem_per_set(10), num_nodes_per_set(10)
- integer num_df_per_set(10)
- integer num_df_in_set, num_sides_in_set
- integer df_ind(10),node_ind(10),elem_ind(10),num_qa_rec,num_info
- integer num_glo_vars, num_nod_vars, num_ele_vars
- integer truth_tab(3,7)
- integer num_time_steps
- integer num_elem_in_block(10), num_nodes_per_elem(10)
- integer num_attr(10), node_ctr_list(10), node_ctr
- integer num_nodes_in_set, num_elem_in_set
- integer df_list_len, list_len, elem_list_len, node_list_len
- integer node_num, time_step, var_index, beg_time, end_time
- integer elem_num
- integer cpu_ws,io_ws
- integer num_props, prop_value, n_node_map, n_elem_map
- integer ival
-
- real time_value, time_values(100), var_values(100)
- real x(100), y(100), z(100)
- real attrib(100), dist_fact(100)
- real vers, fdum
-
- character*(MXSTLN) coord_names(3), qa_record(4,2), var_names(3)
- character*(MXLNLN) inform(3), titl
- character typ*(MXSTLN), cdum*1
- character*(MXSTLN) prop_names(3)
- character*(MXSTLN) attrib_names(100)
- data iin /5/, iout /6/
-
-c call exopts (EXVRBS, ierr)
-c write (iout, '(/"after exopts, error = ", i3)' ) ierr
-
-c
-c open EXODUS II files
-c
-
- cpu_ws = 0
- io_ws = 0
-
- exoid = exopen ("test.exo", EXREAD, cpu_ws, io_ws, vers, ierr)
- write (iout, '(/"after exopen, error = ",i3)')
- 1 ierr
-
- write (iout, '("test.exo is an EXODUSII file; version ",
- 1 f4.2)') vers
- write (iout, '(" I/O word size",i2)') io_ws
-
-c
-c read database parameters
-c
-
- call exgini (exoid, titl, num_dim, num_nodes, num_elem,
- 1 num_elem_blk, num_node_sets, num_side_sets, ierr)
- write (iout, '(/"after exgini, error = ", i3)' ) ierr
-
- write (iout, '("database parameters:"/
- 1 "title = ", a81 /
- 2 "num_dim = ", i3 /
- 3 "num_nodes = ", i3 /
- 4 "num_elem = ", i3 /
- 5 "num_elem_blk = ", i3 /
- 6 "num_node_sets = ", i3 /
- 7 "num_side_sets = ", i3)')
- 8 titl,num_dim, num_nodes, num_elem,
- 9 num_elem_blk,num_node_sets, num_side_sets
-
-
-c
-c read nodal coordinates values and names from database
-c
-
- call exgcor (exoid, x, y, z, ierr)
- write (iout, '(/"after exgcor, error = ", i3)' ) ierr
-
- write (iout, '("x coords = ")')
- do 10 i = 1, num_nodes
- write (iout, '(f5.1)') x(i)
-10 continue
-
- write (iout, '("y coords = ")')
- do 20 i = 1, num_nodes
- write (iout, '(f5.1)') y(i)
-20 continue
-
- if (num_dim .gt. 2) then
- write (iout, '("z coords = ")')
- do 22 i = 1, num_nodes
- write (iout, '(f5.1)') z(i)
-22 continue
- endif
-
- call exgcon (exoid, coord_names, ierr)
- write (iout, '(/"after exgcon, error = ", i3)' ) ierr
-
- write (iout, '("x coord name = ", a9)') coord_names(1)
- write (iout, '("y coord name = ", a9)') coord_names(2)
-
-c
-c read map parameters
-c
-
- call exgmp (exoid, n_node_map, n_elem_map, ierr)
- write (iout, '(/"after exgmp, error = ", i3)' ) ierr
-
-c
-c read element maps
-c
-
- call exgpa (exoid, EXEMAP, "ID", ids, ierr)
- write (iout, '(/"after exgpa, error = ", i3)' ) ierr
-
- do 26 j = 1,n_elem_map
-
- call exgem (exoid, ids(j), elem_map, ierr)
- write (iout, '(/"after exgem, error = ", i3)' ) ierr
-
- write (iout, '(/"element map id = ", i3)' ) ids(j)
-
- do 24 i = 1, num_elem
- write (iout, '("elem_map(",i3,") = ", i3)') i, elem_map(i)
-C .. test reading partial element maps...
- call exgpem(exoid, ids(j), i, 1, ival, ierr)
- if (ival .ne. elem_map(i)) then
- write (iout, '("bad value found for map ",
- * " element ", i3)') i, elem_map(i)
- end if
-24 continue
-
-26 continue
-
-c
-c read element map properties
-c
-
- call exinq (exoid, EXNEMP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each element map")')
- 2 num_props
-
-
- call exgpn(exoid, EXEMAP, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 30 i = 1, num_props
- do 28 j = 1, n_elem_map
- call exgp(exoid, EXEMAP,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("elem map ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-28 continue
-30 continue
-
-c
-c read node maps
-c
-
- call exgpa (exoid, EXNMAP, "ID", ids, ierr)
- write (iout, '(/"after exgpa, error = ", i3)' ) ierr
-
- do 34 j = 1,n_node_map
-
- call exgnm (exoid, ids(j), node_map, ierr)
- write (iout, '(/"after exgnm, error = ", i3)' ) ierr
-
- write (iout, '(/"node map id = ", i3)' ) ids(j)
-
- do 32 i = 1, num_nodes
- write (iout, '("node_map(",i3,") = ", i3)') i, node_map(i)
-32 continue
-
-34 continue
-
-c
-c read node map properties
-c
-
- call exinq (exoid, EXNNMP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each node map")')
- 2 num_props
-
-
- call exgpn(exoid, EXNMAP, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 38 i = 1, num_props
- do 36 j = 1, n_node_map
- call exgp(exoid, EXNMAP,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("node map ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-36 continue
-38 continue
-
-c
-c read element block parameters
-c
-c
- call exgebi (exoid, ids, ierr)
- write (iout, '(/"after exgebi, error = ", i3)' ) ierr
-
- do 40 i = 1, num_elem_blk
-
- call exgelb (exoid, ids(i), typ, num_elem_in_block(i),
- 1 num_nodes_per_elem(i), num_attr(i), ierr)
- write (iout, '(/"after exgelb, error = ", i3)' ) ierr
-
- write (iout, '("element block id = ", i2,/
- 1 "element type = ", a9,/
- 2 "num_elem_in_block = ", i2,/
- 3 "num_nodes_per_elem = ", i2,/
- 4 "num_attr = ", i2)')
- 5 ids(i), typ, num_elem_in_block(i),
- 6 num_nodes_per_elem(i), num_attr(i)
-
-40 continue
-
-c read element block properties
-
- call exinq (exoid, EXNEBP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each element block")')
- 2 num_props
-
-
- call exgpn(exoid, EXEBLK, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 47 i = 1, num_props
- do 45 j = 1, num_elem_blk
- call exgp(exoid, EXEBLK,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("elem block ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-45 continue
-47 continue
-
-c
-c read element connectivity
-c
-
- do 60 i = 1, num_elem_blk
-
- call exgelc (exoid, ids(i), connect, ierr)
- write (iout, '(/"after exgelc, error = ", i3)' ) ierr
-
- write (iout, '("connect array for elem block ", i2)') ids(i)
-
- do 50 j = 1, num_nodes_per_elem(i)
- write (iout, '(i3)') connect(j)
-50 continue
-
-60 continue
-
-c
-c read element block attributes
-c
-
- do 70 i = 1, num_elem_blk
-
- call exgeat (exoid, ids(i), attrib, ierr)
- write (iout, '(/"after exgeat, error = ", i3)' ) ierr
-
- call exgean (exoid, ids(i), num_attr(i), attrib_names, ierr)
- write (iout, '(/"after exgean, error = ", i3)' ) ierr
-
- write (iout,
- * '("element block ", i2, " has ",i2," attribute(s) and ",
- * i2, " element(s):")')
- 1 ids(i), num_attr(i), num_elem_in_block(i)
- do j=1, num_attr(i)
- write (iout, 69) attrib_names(j),
- * (attrib(k),k= j, num_attr(i)*num_elem_in_block(i),
- * num_attr(i))
- end do
- 69 format(A32," = ", 10(f6.4,2x))
-70 continue
-
-c
-c read individual node sets
-c
- if (num_node_sets .gt. 0) then
- call exgnsi (exoid, ids, ierr)
- write (iout, '(/"after exgnsi, error = ", i3)' ) ierr
- endif
-
- do 100 i = 1, num_node_sets
-
- call exgnp (exoid, ids(i), num_nodes_in_set,
- 1 num_df_in_set, ierr)
- write (iout, '(/"after exgnp, error = ", i3)' ) ierr
-
- write (iout, '(/"node set ", i2, " parameters: ",/
- 2 "num_nodes = ", i2)') ids(i), num_nodes_in_set
-
- call exgns (exoid, ids(i), node_list, ierr)
- write (iout, '(/"after exgns, error = ", i3)' ) ierr
-
- if (num_df_in_set .gt. 0) then
- call exgnsd (exoid, ids(i), dist_fact, ierr)
- write (iout, '(/"after exgnsd, error = ", i3)' ) ierr
- endif
-
- write (iout, '(/"node list for node set ", i2)') ids(i)
-
- do 80 j = 1, num_nodes_in_set
- write (iout, '(i3)') node_list(j)
-80 continue
-
- if (num_df_in_set .gt. 0) then
- write (iout, '("dist factors for node set ", i2)') ids(i)
- do 90 j = 1, num_nodes_in_set
- write (iout, '(f5.2)') dist_fact(j)
-90 continue
- else
- write (iout, '("no dist factors for node set ", i2)') ids(i)
- endif
-
-100 continue
-
-c read node set properties
-
- call exinq (exoid, EXNNSP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each node set")')
- 2 num_props
-
-
- call exgpn(exoid, EXNSET, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 107 i = 1, num_props
- do 105 j = 1, num_node_sets
- call exgp(exoid,EXNSET,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("node set ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-105 continue
-107 continue
-
-c
-c read concatenated node sets; this produces the same information as
-c the above code which reads individual node sets
-c
- call exinq (exoid, EXNODS, num_node_sets, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- if (num_node_sets .gt. 0) then
- call exinq (exoid, EXNSNL, list_len, fdum, cdum, ierr)
- write(iout,'(/"after EXNSNL =",i3," exinq, error = ",i3)')
- 1 list_len,ierr
-
- call exinq (exoid, EXNSDF, list_len, fdum, cdum, ierr)
- write(iout,'(/"after EXNSDF =",i3," exinq, error = ",i3)')
- 1 list_len,ierr
-
- call exgcns (exoid, ids, num_nodes_per_set, num_df_per_set,
- 1 node_ind, df_ind, node_list, dist_fact, ierr)
- write (iout, '(/"after exgcns, error = ", i3)' ) ierr
-
- write (iout, '(/"concatenated node set info")')
-
- write (iout, '("ids = ")')
-
- do 110 i = 1, num_node_sets
- write (iout, '(i3)') ids(i)
-110 continue
-
- write (iout, '("num_nodes_per_set = ")')
-
- do 120 i = 1, num_node_sets
- write (iout, '(i3)') num_nodes_per_set(i)
-120 continue
-
- write (iout, '("node_ind = ")')
-
- do 130 i = 1, num_node_sets
- write (iout, '(i3)') node_ind(i)
-130 continue
-
- write (iout, '("node_list = ")')
-
- do 140 i = 1, list_len
- write (iout, '(i3)') node_list(i)
-140 continue
-
- write (iout, '("dist_fact = ")')
-
- do 150 i = 1, list_len
- write (iout, '(f5.3)') dist_fact(i)
-150 continue
- endif
-
-c
-c read individual side sets
-c
- if (num_side_sets .gt. 0) then
- call exgssi (exoid, ids, ierr)
- write (iout, '(/"after exgssi, error = ", i3)' ) ierr
- endif
-
- do 190 i = 1, num_side_sets
-
- call exgsp (exoid, ids(i), num_sides_in_set, num_df_in_set,
- 1 ierr)
- write (iout, '(/"after exgsp, error = ", i3)' ) ierr
-
- write (iout, '("side set ", i2, " parameters:",/
- 2 "num_sides = ", i3,/
- 3 "num_dist_factors = ", i3)')
- 4 ids(i), num_sides_in_set, num_df_in_set
-
- call exgss (exoid, ids(i), elem_list, side_list, ierr)
- write (iout, '(/"after exgss, error = ", i3)' ) ierr
-
- call exgssn (exoid, ids(i), node_ctr_list, node_list, ierr)
- write (iout, '(/"after exgssn, error = ", i3)' ) ierr
-
- if (num_df_in_set .gt. 0) then
- call exgssd (exoid, ids(i), dist_fact, ierr)
- write (iout, '(/"after exgssd, error = ", i3)' ) ierr
- endif
-
- write (iout, '(/"element list for side set ", i2)') ids(i)
-
- num_elem_in_set = num_sides_in_set
- do 160 j = 1, num_elem_in_set
- write (iout, '(i3)') elem_list(j)
-160 continue
-
- write (iout, '("side list for side set ", i2)') ids(i)
-
- do 170 j = 1, num_sides_in_set
- write (iout, '(i3)') side_list(j)
-170 continue
-
- node_ctr = 0
- write (iout, '("node list for side set ", i2)') ids(i)
- do 178 k=1, num_elem_in_set
- do 175 j=1, node_ctr_list(k)
- write (iout, '(i3)') node_list(j+node_ctr)
-175 continue
- node_ctr = node_ctr+node_ctr_list(k)
-178 continue
-
- if (num_df_in_set .gt. 0) then
- write (iout, '("dist factors for side set ", i2)') ids(i)
- do 180 j = 1, num_df_in_set
- write (iout, '(f6.3)') dist_fact(j)
-180 continue
- else
- write (iout, '("no dist factors for side set ", i2)') ids(i)
- endif
-
-190 continue
-
-c read side set properties
-
- call exinq (exoid, EXNSSP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each side set")')
- 2 num_props
-
-
- call exgpn(exoid, EXSSET, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 197 i = 1, num_props
- do 195 j = 1, num_side_sets
- call exgp(exoid, EXSSET,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("side set ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-195 continue
-197 continue
-
- call exinq (exoid, EXSIDS, num_side_sets, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSIDS =",i3,", error = ",i3)')
- 1 num_side_sets,ierr
-
- if (num_side_sets .gt. 0) then
- call exinq (exoid, EXSSEL, elem_list_len, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSSEL =",i3,", error = ",i3)')
- 1 elem_list_len,ierr
-
- call exinq (exoid, EXSSNL, node_list_len, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSSNL =",i3,", error = ",i3)')
- 1 node_list_len,ierr
-
- call exinq (exoid, EXSSDF, df_list_len, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSSDF =",i3,", error = ",i3)')
- 1 df_list_len,ierr
-c
-c read concatenated side sets; this produces the same information as
-c the above code which reads individual side sets
-c
- call exgcss (exoid, ids, num_elem_per_set, num_df_per_set,
- 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
- 2 ierr)
- write (iout, '(/"after exgcss, error = ", i3)' ) ierr
-
- write (iout, '("concatenated side set info")')
-
- write (iout, '("ids = ")')
-
- do 200 i = 1, num_side_sets
- write (iout, '(i3)') ids(i)
-200 continue
-
- write (iout, '("num_elem_per_set = ")')
-
- do 210 i = 1, num_side_sets
- write (iout, '(i3)') num_elem_per_set(i)
-210 continue
-
- write (iout, '("num_df_per_set = ")')
-
- do 220 i = 1, num_side_sets
- write (iout, '(i3)') num_df_per_set(i)
-220 continue
-
- write (iout, '("elem_ind = ")')
-
- do 230 i = 1, num_side_sets
- write (iout, '(i3)') elem_ind(i)
-230 continue
-
- write (iout, '("df_ind = ")')
-
- do 240 i = 1, num_side_sets
- write (iout, '(i3)') df_ind(i)
-240 continue
-
- write (iout, '("elem_list = ")')
-
- do 250 i = 1, elem_list_len
- write (iout, '(i3)') elem_list(i)
-250 continue
-
- write (iout, '("side_list = ")')
-
- do 260 i = 1, elem_list_len
- write (iout, '(i3)') side_list(i)
-260 continue
-
- write (iout, '("dist_fact = ")')
-
- do 270 i = 1, df_list_len
- write (iout, '(f6.3)') dist_fact(i)
-270 continue
- endif
-
-c
-c read QA records
-c
- call exinq (exoid, EXQA, num_qa_rec, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- call exgqa (exoid, qa_record, ierr)
- write (iout, '(/"after exgqa, error = ", i3)' ) ierr
-
- write (iout, '("QA records = ")')
-
- do 290 i = 1, num_qa_rec
- do 280 j = 1, 4
- write (iout, '(a)') qa_record(j,i)
-280 continue
-290 continue
-
-c
-c read information records
-c
- call exinq (exoid, EXINFO, num_info, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- call exginf (exoid, inform, ierr)
- write (iout, '(/"after exginf, error = ", i3)' ) ierr
-
- write (iout, '("info records = ")')
-
- do 300 i = 1, num_info
- write (iout, '(a81)') inform(i)
-300 continue
-
-c
-c read global variables parameters and names
-c
- call exgvp (exoid, "g", num_glo_vars, ierr)
- write (iout, '(/"after exgvp, error = ", i3)' ) ierr
-
- call exgvnm (exoid, "g", 1, var_names(1), ierr)
- write (iout, '(/"after exgvnm, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," global variables; their names ",
- 1 "are :")') num_glo_vars
-
- do 320 i = 1, num_glo_vars
- write (iout, '(a9)') var_names(i)
-320 continue
-
-c
-c read nodal variables parameters and names
-c
- call exgvp (exoid, "n", num_nod_vars, ierr)
- write (iout, '(/"after exgvp, error = ", i3)' ) ierr
-
- call exgvan (exoid, "n", num_nod_vars, var_names, ierr)
- write (iout, '(/"after exgvan, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," nodal variables; their names ",
- 1 "are :")') num_nod_vars
-
- do 330 i = 1, num_nod_vars
- write (iout, '(a9)') var_names(i)
-330 continue
-
-c
-c read element variables parameters and names
-c
- call exgvp (exoid, "e", num_ele_vars, ierr)
- write (iout, '(/"after exgvp, error = ", i3)' ) ierr
-
- call exgvan (exoid, "e", num_ele_vars, var_names, ierr)
- write (iout, '(/"after exgvan, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," element variables; their names ",
- 1 "are :")') num_ele_vars
-
- do 340 i = 1, num_ele_vars
- write (iout, '(a9)') var_names(i)
-340 continue
-
-c
-c read element variable truth table
-c
- call exgvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
- write (iout, '(/"after exgvtt, error = ", i3)' ) ierr
-
- write (iout, '("This is the element variable truth table:")')
-
- do 360 i = 1, num_elem_blk
- do 350 j = 1, num_ele_vars
- write (iout, '(i2)') truth_tab(j,i)
-350 continue
-360 continue
-
-c
-c determine how many time steps are stored
-c
- call exinq (exoid, EXTIMS, num_time_steps, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," time steps in the database.")')
- 1 num_time_steps
-c
-c read time value at one time step
-c
- time_step = 3
- call exgtim (exoid, time_step, time_value, ierr)
- write (iout, '(/"after exgtim, error = ", i3)' ) ierr
-
- write (iout, '("time value at time step ",i2," = ", f5.3)')
- 1 time_step, time_value
-c
-c read time values at all time steps
-c
- call exgatm (exoid, time_values, ierr)
- write (iout, '(/"after exgatm, error = ", i3)' ) ierr
-
- write (iout, '("time values at all time steps are:")')
-
- do 370 i = 1, num_time_steps
- write (iout, '(f5.3)') time_values(i)
-370 continue
-
- var_index = 1
- beg_time = 1
- end_time = -1
-c
-c read all global variables at one time step
-c
- call exggv (exoid, time_step, num_glo_vars, var_values, ierr)
- write (iout, '(/"after exggv, error = ", i3)' ) ierr
-
- write (iout, '("global variable values at time step ",i2)')
- 1 time_step
-
- do 400 i = 1, num_glo_vars
- write (iout, '(f5.3)') var_values(i)
-400 continue
-
-c
-c read a single global variable through time
-c
- call exggvt (exoid, var_index, beg_time, end_time, var_values,
- 1 ierr)
- write (iout, '(/"after exggvt, error = ", i3)' ) ierr
-
- write (iout, '("global variable ",i2," values through time:")')
- 1 var_index
-
- do 410 i = 1, num_time_steps
- write (iout, '(f5.3)') var_values(i)
-410 continue
-
-c
-c read a nodal variable at one time step
-c
- call exgnv (exoid, time_step, var_index, num_nodes, var_values,
- 1 ierr)
- write (iout, '(/"after exgnv, error = ", i3)' ) ierr
-
- write (iout, '("nodal variable ",i2," values at time step ",i2)')
- 1 var_index, time_step
-
- do 420 i = 1, num_nodes
- write (iout, '(f5.3)') var_values(i)
-420 continue
-
-c
-c read a nodal variable through time
-c
- node_num = 1
-
- call exgnvt (exoid, var_index, node_num, beg_time, end_time,
- 1 var_values, ierr)
- write (iout, '(/"after exgnvt, error = ", i3)' ) ierr
-
- write (iout, '("nodal variable ",i2," values for node ",i2,
- 1 " through time:")') var_index, node_num
-
- do 430 i = 1, num_time_steps
- write (iout, '(f5.3)') var_values(i)
-430 continue
-
-c
-c read an element variable at one time step
-c
- call exgebi (exoid, ids, ierr)
- write (iout, '(/"after exgebi, error = ", i3)' ) ierr
-
- do 450 i = 1, num_elem_blk
-
- call exgev (exoid, time_step, var_index, ids(i),
- 1 num_elem_in_block(i), var_values, ierr)
- write (iout, '(/"after exgev, error = ", i3)' ) ierr
-
- if (ierr .eq. 0) then
- write (iout, '("element variable ",i2," values of element ",
- 1 "block ",i2," at time step ",i2)')
- 2 var_index, ids(i), time_step
- endif
-
- do 440 j = 1, num_elem_in_block(i)
- write (iout, '(f6.3)') var_values(j)
-440 continue
-
-450 continue
-
-c
-c read an element variable through time
-c
- var_index = 2
- elem_num = 2
-
- call exgevt (exoid, var_index, elem_num, beg_time, end_time,
- 1 var_values, ierr)
- write (iout, '(/"after exgevt, error = ", i3)' ) ierr
-
- write (iout, '("element variable ",i2," values for element ",i2,
- 1 " through time:")') var_index, elem_num
-
- do 460 i = 1, num_time_steps
- write (iout, '(f5.3)') var_values(i)
-460 continue
-
- call exclos (exoid, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testrd_nsid.dmp b/forbind/test/testrd_nsid.dmp
deleted file mode 100644
index e956f17..0000000
--- a/forbind/test/testrd_nsid.dmp
+++ /dev/null
@@ -1,162 +0,0 @@
-
-after exopen, error = 0
- I/O word size 4
- Model Size 1
-
-after exgini, error = 0
-database parameters:
-title = This is a test
-num_dim = 3
-num_nodes = 33
-num_elem = 7
-num_elem_blk = 1
-num_node_sets = 0
-num_side_sets = 0
-
-after exgcor, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
- 0.0
- 10.0
- 10.0
- 1.0
- 1.0
- 10.0
- 10.0
- 1.0
- 0.0
- 1.0
- 10.0
- 7.0
- 3.0
- 6.0
- 0.0
- 3.0
- 6.0
- 0.0
- 2.7
- 6.0
- 5.7
- 3.7
- 0.0
- 10.0
- 10.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 0.0
- 0.0
- 10.0
- 10.0
- 10.0
- 10.0
- 0.0
- 0.0
- 0.0
- 5.0
- 0.0
- 0.0
- 0.0
- 2.0
- 2.0
- 2.0
- 1.7
- 1.7
- 1.7
- 0.0
- 0.0
- 0.0
- 10.0
-z coords =
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 0.0
--10.0
--10.0
- 0.0
- 5.0
- 2.0
- 3.0
- 6.0
- 0.0
- 0.0
- 6.0
- 2.0
- 0.0
- 2.7
- 3.3
- 1.7
- 2.3
- 0.0
- 0.0
- 10.0
-
-after exgcon, error = 0
-x coord name = xcoor
-y coord name = ycoor
-
-after exgmap, error = 0
-elem_map(1) = 1
-elem_map(2) = 2
-elem_map(3) = 3
-elem_map(4) = 4
-elem_map(5) = 5
-elem_map(6) = 6
-elem_map(7) = 7
-
-after exgebi, error = 0
-
-after exgelb, error = 0
-element block id = 10
-element type = nsided
-num_elem_in_block = 7
-num_nodes_per_elem = 37
-num_attr = 0
-
-after exgelc, error = 0
-
-after exgecpp, error = 0
-connect array for elem block 10
- Element 1, Nodes/Element = 4 -- 1 2 3 4
- Element 2, Nodes/Element = 4 -- 5 6 7 8
- Element 3, Nodes/Element = 8 -- 9 10 11 12 13 14 15 16
- Element 4, Nodes/Element = 4 -- 17 18 19 20
- Element 5, Nodes/Element = 6 -- 21 22 23 24 25 26
- Element 6, Nodes/Element = 8 -- 17 18 19 20 27 28 30 29
- Element 7, Nodes/Element = 3 -- 31 32 33
-
-after exinq, error = 0
-
-There are 3 coordinate frames
-after exgfrm, error = 0
- 1 RECTANGULAR 0.10 0.20 0.30 0.40 0.50 0.60 0.70 0.80 0.90
- 11 CYLINDRICAL 1.10 1.20 1.30 1.40 1.50 1.60 1.70 1.80 1.90
- 111 SPHERICAL 2.10 2.20 2.30 2.40 2.50 2.60 2.70 2.80 2.90
-
-after exclos, error = 0
diff --git a/forbind/test/testrd_nsid.f b/forbind/test/testrd_nsid.f
deleted file mode 100644
index ce6f53e..0000000
--- a/forbind/test/testrd_nsid.f
+++ /dev/null
@@ -1,208 +0,0 @@
- program testrd
-
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database read routines
-c
-c 09/07/93 V.R. Yarberry - Modified for API 2.00
- implicit none
-
- include 'exodusII.inc'
-
- integer iin, iout, ierr, ioff
- integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
- integer num_node_sets
- integer num_side_sets
- integer i, j, k, elem_map(100), connect(100), nnpe(10)
- integer ids(10)
- integer num_elem_in_block(10), num_nodes_per_elem(10)
- integer num_attr(10)
- integer cpu_ws,io_ws, mod_sz
-
- real x(100), y(100), z(100)
- real vers
-
- character*(MXSTLN) coord_names(3)
- character*(MXLNLN) titl
- character*(MXSTLN) eltype(10)
-
- data iin /5/, iout /6/
-
-
-c
-c open EXODUS II files
-c
-
- cpu_ws = 0
- io_ws = 0
-
- exoid = exopen ("test-nsided.exo", EXREAD, cpu_ws, io_ws,
- * vers, ierr)
- write (iout, '(/"after exopen, error = ",i3)')
- 1 ierr
-
- write (iout, '("test-nsided.exo is an EXODUSII file; version ",
- 1 f4.2)') vers
- write (iout, '(" I/O word size",i2)') io_ws
-
- mod_sz = exlgmd(exoid)
- write (iout, '(" Model Size",i2)') mod_sz
-
-c
-c read database parameters
-c
-
- call exgini (exoid, titl, num_dim, num_nodes, num_elem,
- 1 num_elem_blk, num_node_sets, num_side_sets, ierr)
- write (iout, '(/"after exgini, error = ", i3)' ) ierr
-
- write (iout, '("database parameters:"/
- 1 "title = ", a81 /
- 2 "num_dim = ", i3 /
- 3 "num_nodes = ", i3 /
- 4 "num_elem = ", i3 /
- 5 "num_elem_blk = ", i3 /
- 6 "num_node_sets = ", i3 /
- 7 "num_side_sets = ", i3)')
- 8 titl,num_dim, num_nodes, num_elem,
- 9 num_elem_blk,num_node_sets, num_side_sets
-
-
-c
-c read nodal coordinates values and names from database
-c
-
- call exgcor (exoid, x, y, z, ierr)
- write (iout, '(/"after exgcor, error = ", i3)' ) ierr
-
- write (iout, '("x coords = ")')
- do 10 i = 1, num_nodes
- write (iout, '(f5.1)') x(i)
-10 continue
-
- write (iout, '("y coords = ")')
- do 20 i = 1, num_nodes
- write (iout, '(f5.1)') y(i)
-20 continue
-
- if (num_dim .gt. 2) then
- write (iout, '("z coords = ")')
- do 22 i = 1, num_nodes
- write (iout, '(f5.1)') z(i)
-22 continue
- endif
-
- call exgcon (exoid, coord_names, ierr)
- write (iout, '(/"after exgcon, error = ", i3)' ) ierr
-
- write (iout, '("x coord name = ", a9)') coord_names(1)
- write (iout, '("y coord name = ", a9)') coord_names(2)
-
-c
-c read element order map
-c
-
- call exgmap (exoid, elem_map, ierr)
- write (iout, '(/"after exgmap, error = ", i3)' ) ierr
-
- do 30 i = 1, num_elem
- write (iout, '("elem_map(",i1,") = ", i1)') i, elem_map(i)
-30 continue
-
-c
-c read element block parameters
-c
-c
- call exgebi (exoid, ids, ierr)
- write (iout, '(/"after exgebi, error = ", i3)' ) ierr
-
- do 40 i = 1, num_elem_blk
-
- call exgelb (exoid, ids(i), eltype(i), num_elem_in_block(i),
- 1 num_nodes_per_elem(i), num_attr(i), ierr)
- write (iout, '(/"after exgelb, error = ", i3)' ) ierr
-
- write (iout, '("element block id = ", i2,/
- 1 "element type = ", a9,/
- 2 "num_elem_in_block = ", i2,/
- 3 "num_nodes_per_elem = ", i2,/
- 4 "num_attr = ", i2)')
- 5 ids(i), eltype(i), num_elem_in_block(i),
- 6 num_nodes_per_elem(i), num_attr(i)
-
-40 continue
-
-c
-c read element connectivity
-c
-
- do 60 i = 1, num_elem_blk
-
- call exgelc (exoid, ids(i), connect, ierr)
- write (iout, '(/"after exgelc, error = ", i3)' ) ierr
-
- if (eltype(i) .eq. 'nsided' .or. eltype(i) .eq. 'NSIDED') then
- call exgecpp(exoid, EXEBLK, ids(i), nnpe, ierr)
- write (iout, '(/"after exgecpp, error = ", i3)' ) ierr
-
- write (iout, '("connect array for elem block ", i2)') ids(i)
-
- ioff = 0
- do j = 1, num_elem_in_block(i)
- write (iout, 100) j, nnpe(j), (connect(ioff+k),k=1,nnpe(j))
- ioff = ioff + nnpe(j)
- end do
-
- end if
-60 continue
-
-C ... Test coordinate frames
- call getfrm(exoid)
-
- call exclos (exoid, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
- 100 format(' Element ',I3,', Nodes/Element = ',I3,' -- ',20I3)
- stop
- end
-
- subroutine getfrm(exoid)
- implicit none
- include 'exodusII.inc'
-
- real fdum
- character*1 cdum
- integer iout
-
- integer exoid, ierr, i, j
- integer numfrm; ! Assumed to be 3 for remaining dimensions
- integer cfids(3), tags(3)
- character*32 ctag
- real coord(27)
-
- data iout /6/
-
- call exinq(exoid, EXNCF, numfrm, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," coordinate frames")')
- 2 numfrm
-
- call exgfrm(exoid, numfrm, cfids, coord, tags, ierr);
- write (6,'("after exgfrm, error = ", i4)') ierr
-
-! NOTE: These values may not be sensical; just used for testing.
- do i=0,2
- if (tags(i+1) .eq. EXCFREC) then
- ctag = 'RECTANGULAR'
- else if (tags(i+1) .eq. EXCFCYL) then
- ctag = 'CYLINDRICAL'
- else if (tags(i+1) .eq. EXCFSPH) then
- ctag = 'SPHERICAL'
- end if
-
- write (iout, 100) cfids(i+1), ctag, (COORD(9*i+j),j=1,9)
- end do
-
- 100 format(i5, 3x, A, 9F10.2)
- return
- end
diff --git a/forbind/test/testrdd.dmp b/forbind/test/testrdd.dmp
deleted file mode 100644
index be84733..0000000
--- a/forbind/test/testrdd.dmp
+++ /dev/null
@@ -1,409 +0,0 @@
-
-after exopen, error = 0
- I/O word size 8
-
-after exgini, error = 0
-database parameters:
-title = This is a test
-num_dim = 2
-num_nodes = 8
-num_elem = 2
-num_elem_blk = 2
-num_node_sets = 2
-num_side_sets = 2
-
-after exgcor, error = 0
-x coords =
- 0.0
- 1.0
- 1.0
- 0.0
- 1.0
- 2.0
- 2.0
- 1.0
-y coords =
- 0.0
- 0.0
- 1.0
- 1.0
- 0.0
- 0.0
- 1.0
- 1.0
-
-after exgcon, error = 0
-x coord name = xcoor
-y coord name = ycoor
-
-after exgmap, error = 0
-elem_map(1) = 1
-elem_map(2) = 2
-
-after exgebi, error = 0
-
-after exgelb, error = 0
-element block id = 10
-element type = quad
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after exgelb, error = 0
-element block id = 11
-element type = quad
-num_elem_in_block = 1
-num_nodes_per_elem = 4
-num_attr = 1
-
-after exinq, error = 0
-
-There are 3 properties for each element block
-after exgpn, error = 0
-elem block 1 property( 1): ID = 10
-elem block 2 property( 1): ID = 11
-elem block 1 property( 2): MATL = 10
-elem block 2 property( 2): MATL = 20
-elem block 1 property( 3): DENSITY = 0
-elem block 2 property( 3): DENSITY = 0
-
-after exgelc, error = 0
-connect array for elem block 10
- 1
- 2
- 3
- 4
-
-after exgelc, error = 0
-connect array for elem block 11
- 5
- 6
- 7
- 8
-
-after exgeat, error = 0
-element block 10 attributes = 3.1416
-
-after exgeat, error = 0
-element block 11 attributes = 6.1416
-
-after exgnsi, error = 0
-
-after exgnp, error = 0
-
-node set 20 parameters:
-num_nodes = 5
-
-after exgns, error = 0
-
-after exgnsd, error = 0
-
-node list for node set 20
-100
-101
-102
-103
-104
-dist factors for node set 20
- 1.00
- 2.00
- 3.00
- 4.00
- 5.00
-
-after exgnp, error = 0
-
-node set 21 parameters:
-num_nodes = 3
-
-after exgns, error = 0
-
-after exgnsd, error = 0
-
-node list for node set 21
-200
-201
-202
-dist factors for node set 21
- 1.10
- 2.10
- 3.10
-
-after exinq, error = 0
-
-There are 3 properties for each node set
-after exgpn, error = 0
-node set 1 property( 1): ID = 20
-node set 2 property( 1): ID = 21
-node set 1 property( 2): FACE = 4
-node set 2 property( 2): FACE = 5
-node set 1 property( 3): VELOCITY = 1000
-node set 2 property( 3): VELOCITY = 2000
-
-after exinq, error = 0
-
-after EXNSNL = 8 exinq, error = 0
-
-after EXNSDF = 8 exinq, error = 0
-
-after exgcns, error = 0
-
-concatenated node set info
-ids =
- 20
- 21
-num_nodes_per_set =
- 5
- 3
-node_ind =
- 1
- 6
-node_list =
-100
-101
-102
-103
-104
-200
-201
-202
-dist_fact =
-1.000
-2.000
-3.000
-4.000
-5.000
-1.100
-2.100
-3.100
-
-after exgssi, error = 0
-
-after exgsp, error = 0
-side set 30 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after exgss, error = 0
-
-after exgssd, error = 0
-
-element list for side set 30
- 11
- 12
-side list for side set 30
- 1
- 2
-dist factors for side set 30
-30.000
-30.100
-30.200
-30.300
-
-after exgsp, error = 0
-side set 31 parameters:
-num_sides = 2
-num_dist_factors = 4
-
-after exgss, error = 0
-
-after exgssd, error = 0
-
-element list for side set 31
- 13
- 14
-side list for side set 31
- 3
- 4
-dist factors for side set 31
-31.000
-31.100
-31.200
-31.300
-
-after exinq, error = 0
-
-There are 2 properties for each side set
-after exgpn, error = 0
-side set 1 property( 1): ID = 30
-side set 2 property( 1): ID = 31
-side set 1 property( 2): COLOR = 100
-side set 2 property( 2): COLOR = 101
-
-after exinq: EXSIDS = 2, error = 0
-
-after exinq: EXSSEL = 4, error = 0
-
-after exinq: EXSSDF = 8, error = 0
-
-after exgcss, error = 0
-concatenated side set info
-ids =
- 30
- 31
-num_elem_per_set =
- 2
- 2
-num_df_per_set =
- 4
- 4
-elem_ind =
- 1
- 3
-df_ind =
- 1
- 5
-elem_list =
- 11
- 12
- 13
- 14
-side_list =
- 1
- 2
- 3
- 4
-dist_fact =
-30.000
-30.100
-30.200
-30.300
-31.000
-31.100
-31.200
-31.300
-
-after exinq, error = 0
-
-after exgqa, error = 0
-QA records =
-testwtd
-07/07/93
-15:41:33
-FASTQ
-fastq
-07/07/93
-16:41:33
-
-after exinq, error = 0
-
-after exginf, error = 0
-info records =
- This is the first information record.
- This is the second information record.
- This is the third information record.
-
-after exgvp, error = 0
-
-after exgvan, error = 0
-There are 1 global variables; their names are :
-glo_vars
-
-after exgvp, error = 0
-
-after exgvan, error = 0
-There are 2 nodal variables; their names are :
-nod_var0
-nod_var1
-
-after exgvp, error = 0
-
-after exgvan, error = 0
-There are 3 element variables; their names are :
-ele_var0
-ele_var1
-ele_var2
-
-after exgvtt, error = 0
-This is the element variable truth table:
- 1
- 1
- 1
- 1
- 1
- 1
-
-after exinq, error = 0
-There are 10 time steps in the database.
-
-after exgtim, error = 0
-time value at time step 3 = 0.030
-
-after exgatm, error = 0
-time values at all time steps are:
-0.010
-0.020
-0.030
-0.040
-0.050
-0.060
-0.070
-0.080
-0.090
-0.100
-
-after exggv, error = 0
-global variable values at time step 3
-0.060
-
-after exggvt, error = 0
-global variable 1 values through time:
-0.020
-0.040
-0.060
-0.080
-0.100
-0.120
-0.140
-0.160
-0.180
-0.200
-
-after exgnv, error = 0
-nodal variable 1 values at time step 3
-1.030
-1.060
-1.090
-1.120
-1.150
-1.180
-1.210
-1.240
-
-after exgnvt, error = 0
-nodal variable 1 values for node 1 through time:
-1.010
-1.020
-1.030
-1.040
-1.050
-1.060
-1.070
-1.080
-1.090
-1.100
-
-after exgebi, error = 0
-
-after exgev, error = 0
-element variable 1 values of element block 10 at time step 3
-4.030
-
-after exgev, error = 0
-element variable 1 values of element block 11 at time step 3
-5.030
-
-after exgevt, error = 0
-element variable 2 values for element 2 through time:
-6.010
-6.020
-6.030
-6.040
-6.050
-6.060
-6.070
-6.080
-6.090
-6.100
-
-after exclos, error = 0
diff --git a/forbind/test/testrdd.f b/forbind/test/testrdd.f
deleted file mode 100644
index df9df9d..0000000
--- a/forbind/test/testrdd.f
+++ /dev/null
@@ -1,689 +0,0 @@
- program testrdd
-
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database read routines with double precision
-c
-c 09/07/93 V.R. Yarberry - Modified for API 2.00
- implicit none
-
- include 'exodusII.inc'
-
- integer iin, iout, ierr
- integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
- integer num_node_sets
- integer num_side_sets
- integer i, j, elem_map(2), connect(4), node_list(10)
- integer elem_list(10), side_list(10), ids(5)
- integer num_elem_per_set(2), num_nodes_per_set(2)
- integer num_df_per_set(2)
- integer num_df_in_set, num_sides_in_set
- integer df_ind(2), node_ind(2), elem_ind(2), num_qa_rec, num_info
- integer num_glo_vars, num_nod_vars, num_ele_vars
- integer truth_tab(3,2)
- integer num_time_steps
- integer num_elem_in_block(2), num_nodes_per_elem(2)
- integer num_attr(2)
- integer num_nodes_in_set, num_elem_in_set
- integer df_list_len, list_len, elem_list_len
- integer node_num, time_step, var_index, beg_time, end_time
- integer elem_num
- integer cpu_ws,io_ws
- integer num_props, prop_value
-
- real*8 time_value, time_values(10), var_values(10)
- real*8 x(8), y(8), dummy(1)
- real*8 attrib(1), dist_fact(8)
- real vers, fdum
-
- character*(MXSTLN) coord_names(3), qa_record(4,2), var_names(3)
- character*(MXLNLN) inform(3), titl
- character typ*(MXSTLN), cdum*1
- character*(MXSTLN) prop_names(3)
-
- data iin /5/, iout /6/
-
-
-c
-c open EXODUS II files
-c
-
- cpu_ws = 8
- io_ws = 0
-
- exoid = exopen ("test.exo", EXREAD, cpu_ws, io_ws, vers, ierr)
- write (iout, '(/"after exopen, error = ",i3)')
- 1 ierr
-
- write (iout, '("test.exo is an EXODUSII file; version ",
- 1 f4.2)') vers
- write (iout, '(" I/O word size",i2)') io_ws
-
-c
-c read database parameters
-c
-
- call exgini (exoid, titl, num_dim, num_nodes, num_elem,
- 1 num_elem_blk, num_node_sets, num_side_sets, ierr)
- write (iout, '(/"after exgini, error = ", i3)' ) ierr
-
- write (iout, '("database parameters:"/
- 1 "title = ", a81 /
- 2 "num_dim = ", i3 /
- 3 "num_nodes = ", i3 /
- 4 "num_elem = ", i3 /
- 5 "num_elem_blk = ", i3 /
- 6 "num_node_sets = ", i3 /
- 7 "num_side_sets = ", i3)')
- 8 titl,num_dim, num_nodes, num_elem,
- 9 num_elem_blk,num_node_sets, num_side_sets
-
-
-c
-c read nodal coordinates values and names from database
-c
-
- call exgcor (exoid, x, y, dummy, ierr)
- write (iout, '(/"after exgcor, error = ", i3)' ) ierr
-
- write (iout, '("x coords = ")')
- do 10 i = 1, num_nodes
- write (iout, '(f5.1)') x(i)
-10 continue
-
- write (iout, '("y coords = ")')
- do 20 i = 1, num_nodes
- write (iout, '(f5.1)') y(i)
-20 continue
-
- call exgcon (exoid, coord_names, ierr)
- write (iout, '(/"after exgcon, error = ", i3)' ) ierr
-
- write (iout, '("x coord name = ", a9)') coord_names(1)
- write (iout, '("y coord name = ", a9)') coord_names(2)
-
-c
-c read element order map
-c
-
- call exgmap (exoid, elem_map, ierr)
- write (iout, '(/"after exgmap, error = ", i3)' ) ierr
-
- do 30 i = 1, num_elem
- write (iout, '("elem_map(",i1,") = ", i1)') i, elem_map(i)
-30 continue
-
-c
-c read element block parameters
-c
-c
- call exgebi (exoid, ids, ierr)
- write (iout, '(/"after exgebi, error = ", i3)' ) ierr
-
- do 40 i = 1, num_elem_blk
-
- call exgelb (exoid, ids(i), typ, num_elem_in_block(i),
- 1 num_nodes_per_elem(i), num_attr(i), ierr)
- write (iout, '(/"after exgelb, error = ", i3)' ) ierr
-
- write (iout, '("element block id = ", i2,/
- 1 "element type = ", a9,/
- 2 "num_elem_in_block = ", i2,/
- 3 "num_nodes_per_elem = ", i2,/
- 4 "num_attr = ", i2)')
- 5 ids(i), typ, num_elem_in_block(i),
- 6 num_nodes_per_elem(i), num_attr(i)
-
-40 continue
-
-c read element block properties */
-
- call exinq (exoid, EXNEBP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each element block")')
- 2 num_props
-
-
- call exgpn(exoid, EXEBLK, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 47 i = 1, num_props
- do 45 j = 1, num_elem_blk
- call exgp(exoid, EXEBLK,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("elem block ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-45 continue
-47 continue
-
-c
-c read element connectivity
-c
-
- do 60 i = 1, num_elem_blk
-
- call exgelc (exoid, ids(i), connect, ierr)
- write (iout, '(/"after exgelc, error = ", i3)' ) ierr
-
- write (iout, '("connect array for elem block ", i2)') ids(i)
-
- do 50 j = 1, num_nodes_per_elem(i)
- write (iout, '(i3)') connect(j)
-50 continue
-
-60 continue
-
-c
-c read element block attributes
-c
-
- do 70 i = 1, num_elem_blk
-
- call exgeat (exoid, ids(i), attrib, ierr)
- write (iout, '(/"after exgeat, error = ", i3)' ) ierr
-
- write (iout, '("element block ", i2, " attributes = ", f6.4)')
- 1 ids(i), attrib
-
-70 continue
-
-c
-c read individual node sets
-c
- if (num_node_sets .gt. 0) then
- call exgnsi (exoid, ids, ierr)
- write (iout, '(/"after exgnsi, error = ", i3)' ) ierr
- endif
-
- do 100 i = 1, num_node_sets
-
- call exgnp (exoid, ids(i), num_nodes_in_set,
- 1 num_df_in_set, ierr)
- write (iout, '(/"after exgnp, error = ", i3)' ) ierr
-
- write (iout, '(/"node set ", i2, " parameters: ",/
- 2 "num_nodes = ", i2)') ids(i), num_nodes_in_set
-
- call exgns (exoid, ids(i), node_list, ierr)
- write (iout, '(/"after exgns, error = ", i3)' ) ierr
- call exgnsd (exoid, ids(i), dist_fact, ierr)
- write (iout, '(/"after exgnsd, error = ", i3)' ) ierr
-
- write (iout, '(/"node list for node set ", i2)') ids(i)
-
- do 80 j = 1, num_nodes_in_set
- write (iout, '(i3)') node_list(j)
-80 continue
-
- write (iout, '("dist factors for node set ", i2)') ids(i)
-
- do 90 j = 1, num_nodes_in_set
- write (iout, '(f5.2)') dist_fact(j)
-90 continue
-
-100 continue
-
-c read node set properties
-
- call exinq (exoid, EXNNSP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each node set")')
- 2 num_props
-
-
- call exgpn(exoid, EXNSET, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 107 i = 1, num_props
- do 105 j = 1, num_node_sets
- call exgp(exoid,EXNSET,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("node set ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-105 continue
-107 continue
-
-c
-c read concatenated node sets; this produces the same information as
-c the above code which reads individual node sets
-c
- call exinq (exoid, EXNODS, num_node_sets, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- if (num_node_sets .gt. 0) then
- call exinq (exoid, EXNSNL, list_len, fdum, cdum, ierr)
- write(iout,'(/"after EXNSNL =",i3," exinq, error = ",i3)')
- 1 list_len,ierr
-
- call exinq (exoid, EXNSDF, list_len, fdum, cdum, ierr)
- write(iout,'(/"after EXNSDF =",i3," exinq, error = ",i3)')
- 1 list_len,ierr
-
- call exgcns (exoid, ids, num_nodes_per_set, num_df_per_set,
- 1 node_ind, df_ind, node_list, dist_fact, ierr)
- write (iout, '(/"after exgcns, error = ", i3)' ) ierr
-
- write (iout, '(/"concatenated node set info")')
-
- write (iout, '("ids = ")')
-
- do 110 i = 1, num_node_sets
- write (iout, '(i3)') ids(i)
-110 continue
-
- write (iout, '("num_nodes_per_set = ")')
-
- do 120 i = 1, num_node_sets
- write (iout, '(i3)') num_nodes_per_set(i)
-120 continue
-
- write (iout, '("node_ind = ")')
-
- do 130 i = 1, num_node_sets
- write (iout, '(i3)') node_ind(i)
-130 continue
-
- write (iout, '("node_list = ")')
-
- do 140 i = 1, list_len
- write (iout, '(i3)') node_list(i)
-140 continue
-
- write (iout, '("dist_fact = ")')
-
- do 150 i = 1, list_len
- write (iout, '(f5.3)') dist_fact(i)
-150 continue
- endif
-
-c
-c read individual side sets
-c
- if (num_side_sets .gt. 0) then
- call exgssi (exoid, ids, ierr)
- write (iout, '(/"after exgssi, error = ", i3)' ) ierr
- endif
-
- do 190 i = 1, num_side_sets
-
- call exgsp (exoid, ids(i), num_sides_in_set, num_df_in_set,
- 1 ierr)
- write (iout, '(/"after exgsp, error = ", i3)' ) ierr
-
- write (iout, '("side set ", i2, " parameters:",/
- 2 "num_sides = ", i3,/
- 3 "num_dist_factors = ", i3)')
- 4 ids(i), num_sides_in_set, num_df_in_set
-
- call exgss (exoid, ids(i), elem_list, side_list, ierr)
- write (iout, '(/"after exgss, error = ", i3)' ) ierr
-
- call exgssd (exoid, ids(i), dist_fact, ierr)
- write (iout, '(/"after exgssd, error = ", i3)' ) ierr
-
- write (iout, '(/"element list for side set ", i2)') ids(i)
-
- num_elem_in_set = num_sides_in_set
- do 160 j = 1, num_elem_in_set
- write (iout, '(i3)') elem_list(j)
-160 continue
-
- write (iout, '("side list for side set ", i2)') ids(i)
-
- do 170 j = 1, num_sides_in_set
- write (iout, '(i3)') side_list(j)
-170 continue
-
-
- write (iout, '("dist factors for side set ", i2)') ids(i)
-
- do 180 j = 1, num_df_in_set
- write (iout, '(f6.3)') dist_fact(j)
-180 continue
-
-190 continue
-
-c read side set properties
-
- call exinq (exoid, EXNSSP, num_props, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
- write (iout,
- 1 '(/"There are ",i2," properties for each side set")')
- 2 num_props
-
-
- call exgpn(exoid, EXSSET, prop_names, ierr)
- write (iout, '("after exgpn, error = ", i3)' ) ierr
-
- do 197 i = 1, num_props
- do 195 j = 1, num_side_sets
- call exgp(exoid, EXSSET,ids(j),prop_names(i),prop_value,ierr)
- if (ierr .eq. 0) then
- write( iout,
- 1 '("side set ",i2," property(",i2,"): ",a," = ",i5)' )
- 2 j, i, prop_names(i), prop_value
- else
- write (iout, '(/"after exgp, error = ", i3)' ) ierr
- endif
-195 continue
-197 continue
-
- call exinq (exoid, EXSIDS, num_side_sets, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSIDS =",i3,", error = ",i3)')
- 1 num_side_sets,ierr
-
- if (num_side_sets .gt. 0) then
- call exinq (exoid, EXSSEL, elem_list_len, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSSEL =",i3,", error = ",i3)')
- 1 elem_list_len,ierr
-
-c call exinq (exoid, EXSSNL, node_list_len, fdum, cdum, ierr)
-c write (iout, '(/"after exinq: EXSSNL =",i3,", error = ",i3)')
-c 1 node_list_len,ierr
-
- call exinq (exoid, EXSSDF, df_list_len, fdum, cdum, ierr)
- write (iout, '(/"after exinq: EXSSDF =",i3,", error = ",i3)')
- 1 df_list_len,ierr
-c
-c read concatenated side sets; this produces the same information as
-c the above code which reads individual side sets
-c
-c NOTE: SKIP concatenated side set until routine exgcss has been redefined
-c if (.TRUE.) goto 275
-c
- call exgcss (exoid, ids, num_elem_per_set, num_df_per_set,
- 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
- 2 ierr)
- write (iout, '(/"after exgcss, error = ", i3)' ) ierr
-
- write (iout, '("concatenated side set info")')
-
- write (iout, '("ids = ")')
-
- do 200 i = 1, num_side_sets
- write (iout, '(i3)') ids(i)
-200 continue
-
- write (iout, '("num_elem_per_set = ")')
-
- do 210 i = 1, num_side_sets
- write (iout, '(i3)') num_elem_per_set(i)
-210 continue
-
- write (iout, '("num_df_per_set = ")')
-
- do 220 i = 1, num_side_sets
- write (iout, '(i3)') num_df_per_set(i)
-220 continue
-
- write (iout, '("elem_ind = ")')
-
- do 230 i = 1, num_side_sets
- write (iout, '(i3)') elem_ind(i)
-230 continue
-
- write (iout, '("df_ind = ")')
-
- do 240 i = 1, num_side_sets
- write (iout, '(i3)') df_ind(i)
-240 continue
-
- write (iout, '("elem_list = ")')
-
- do 250 i = 1, elem_list_len
- write (iout, '(i3)') elem_list(i)
-250 continue
-
- write (iout, '("side_list = ")')
-
- do 260 i = 1, elem_list_len
- write (iout, '(i3)') side_list(i)
-260 continue
-
- write (iout, '("dist_fact = ")')
-
- do 270 i = 1, df_list_len
- write (iout, '(f6.3)') dist_fact(i)
-270 continue
- endif
-
-c
-c read QA records
-c
- call exinq (exoid, EXQA, num_qa_rec, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- call exgqa (exoid, qa_record, ierr)
- write (iout, '(/"after exgqa, error = ", i3)' ) ierr
-
- write (iout, '("QA records = ")')
-
- do 290 i = 1, num_qa_rec
- do 280 j = 1, 4
- write (iout, '(a)') qa_record(j,i)
-280 continue
-290 continue
-
-c
-c read information records
-c
- call exinq (exoid, EXINFO, num_info, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- call exginf (exoid, inform, ierr)
- write (iout, '(/"after exginf, error = ", i3)' ) ierr
-
- write (iout, '("info records = ")')
-
- do 300 i = 1, num_info
- write (iout, '(a81)') inform(i)
-300 continue
-
-c
-c read global variables parameters and names
-c
- call exgvp (exoid, "g", num_glo_vars, ierr)
- write (iout, '(/"after exgvp, error = ", i3)' ) ierr
-
- call exgvan (exoid, "g", num_glo_vars, var_names, ierr)
- write (iout, '(/"after exgvan, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," global variables; their names ",
- 1 "are :")') num_glo_vars
-
- do 320 i = 1, num_glo_vars
- write (iout, '(a9)') var_names(i)
-320 continue
-
-c
-c read nodal variables parameters and names
-c
- call exgvp (exoid, "n", num_nod_vars, ierr)
- write (iout, '(/"after exgvp, error = ", i3)' ) ierr
-
- call exgvan (exoid, "n", num_nod_vars, var_names, ierr)
- write (iout, '(/"after exgvan, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," nodal variables; their names ",
- 1 "are :")') num_nod_vars
-
- do 330 i = 1, num_nod_vars
- write (iout, '(a9)') var_names(i)
-330 continue
-
-c
-c read element variables parameters and names
-c
- call exgvp (exoid, "e", num_ele_vars, ierr)
- write (iout, '(/"after exgvp, error = ", i3)' ) ierr
-
- call exgvan (exoid, "e", num_ele_vars, var_names, ierr)
- write (iout, '(/"after exgvan, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," element variables; their names ",
- 1 "are :")') num_ele_vars
-
- do 340 i = 1, num_ele_vars
- write (iout, '(a9)') var_names(i)
-340 continue
-
-c
-c read element variable truth table
-c
- call exgvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
- write (iout, '(/"after exgvtt, error = ", i3)' ) ierr
-
- write (iout, '("This is the element variable truth table:")')
-
- do 360 i = 1, num_elem_blk
- do 350 j = 1, num_ele_vars
- write (iout, '(i2)') truth_tab(j,i)
-350 continue
-360 continue
-
-c
-c determine how many time steps are stored
-c
- call exinq (exoid, EXTIMS, num_time_steps, fdum, cdum, ierr)
- write (iout, '(/"after exinq, error = ", i3)' ) ierr
-
- write (iout, '("There are ",i2," time steps in the database.")')
- 1 num_time_steps
-c
-c read time value at one time step
-c
- time_step = 3
- call exgtim (exoid, time_step, time_value, ierr)
- write (iout, '(/"after exgtim, error = ", i3)' ) ierr
-
- write (iout, '("time value at time step ",i2," = ", f5.3)')
- 1 time_step, time_value
-c
-c read time values at all time steps
-c
- call exgatm (exoid, time_values, ierr)
- write (iout, '(/"after exgatm, error = ", i3)' ) ierr
-
- write (iout, '("time values at all time steps are:")')
-
- do 370 i = 1, num_time_steps
- write (iout, '(f5.3)') time_values(i)
-370 continue
-
- var_index = 1
- beg_time = 1
- end_time = -1
-c
-c read all global variables at one time step
-c
- call exggv (exoid, time_step, num_glo_vars, var_values, ierr)
- write (iout, '(/"after exggv, error = ", i3)' ) ierr
-
- write (iout, '("global variable values at time step ",i2)')
- 1 time_step
-
- do 400 i = 1, num_glo_vars
- write (iout, '(f5.3)') var_values(i)
-400 continue
-
-c
-c read a single global variable through time
-c
- call exggvt (exoid, var_index, beg_time, end_time, var_values,
- 1 ierr)
- write (iout, '(/"after exggvt, error = ", i3)' ) ierr
-
- write (iout, '("global variable ",i2," values through time:")')
- 1 var_index
-
- do 410 i = 1, num_time_steps
- write (iout, '(f5.3)') var_values(i)
-410 continue
-
-c
-c read a nodal variable at one time step
-c
- call exgnv (exoid, time_step, var_index, num_nodes, var_values,
- 1 ierr)
- write (iout, '(/"after exgnv, error = ", i3)' ) ierr
-
- write (iout, '("nodal variable ",i2," values at time step ",i2)')
- 1 var_index, time_step
-
- do 420 i = 1, num_nodes
- write (iout, '(f5.3)') var_values(i)
-420 continue
-
-c
-c read a nodal variable through time
-c
- node_num = 1
-
- call exgnvt (exoid, var_index, node_num, beg_time, end_time,
- 1 var_values, ierr)
- write (iout, '(/"after exgnvt, error = ", i3)' ) ierr
-
- write (iout, '("nodal variable ",i2," values for node ",i2,
- 1 " through time:")') var_index, node_num
-
- do 430 i = 1, num_time_steps
- write (iout, '(f5.3)') var_values(i)
-430 continue
-
-c
-c read an element variable at one time step
-c
- call exgebi (exoid, ids, ierr)
- write (iout, '(/"after exgebi, error = ", i3)' ) ierr
-
- do 450 i = 1, num_elem_blk
-
- call exgev (exoid, time_step, var_index, ids(i),
- 1 num_elem_in_block(i), var_values, ierr)
- write (iout, '(/"after exgev, error = ", i3)' ) ierr
-
- if (ierr .eq. 0) then
- write (iout, '("element variable ",i2," values of element ",
- 1 "block ",i2," at time step ",i2)')
- 2 var_index, ids(i), time_step
- endif
-
- do 440 j = 1, num_elem_in_block(i)
- write (iout, '(f5.3)') var_values(j)
-440 continue
-
-450 continue
-
-c
-c read an element variable through time
-c
- var_index = 2
- elem_num = 2
-
- call exgevt (exoid, var_index, elem_num, beg_time, end_time,
- 1 var_values, ierr)
- write (iout, '(/"after exgevt, error = ", i3)' ) ierr
-
- write (iout, '("element variable ",i2," values for element ",i2,
- 1 " through time:")') var_index, elem_num
-
- do 460 i = 1, num_time_steps
- write (iout, '(f5.3)') var_values(i)
-460 continue
-
- call exclos (exoid, ierr)
- write (iout, '(/"after exclos, error = ", i3)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testwt.f b/forbind/test/testwt.f
deleted file mode 100644
index 4a8e058..0000000
--- a/forbind/test/testwt.f
+++ /dev/null
@@ -1,1150 +0,0 @@
- program testwt
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database write routines.
-c
- include 'exodusII.inc'
-
- integer iin, iout
- integer exoid, num_dim,num_nodes,elem_map(5),num_elem,num_elem_blk
- integer num_elem_in_block(10), num_nodes_per_elem(10),numattr(10)
- integer num_node_sets, num_side_sets
- integer i, j, k, m, connect(10)
- integer node_list(100), elem_list(100), side_list(100)
- integer ebids(10),ids(10), num_nodes_per_set(10)
- integer num_elem_per_set(10), num_df_per_set(10)
- integer df_ind(10), node_ind(10), elem_ind(10)
- integer num_qa_rec, num_info
- integer num_glo_vars, num_nod_vars, num_ele_vars
- integer truth_tab(3,5)
- integer whole_time_step, num_time_steps
- integer cpu_word_size, io_word_size
- integer prop_array(2)
-
- real glob_var_vals(100), nodal_var_vals(100)
- real time_value, elem_var_vals(100)
- real x(100), y(100), z(100)
- real attrib(100), dist_fact(100)
-
- character*(MXSTLN) coord_names(3)
- character*(MXSTLN) cname
- character*(MXSTLN) var_names(3)
- character*(MXSTLN) qa_record(4,2)
- character*(MXLNLN) inform(3)
- character*(MXSTLN) prop_names(2)
- character*(MXSTLN) attrib_names(1)
-
- data iin /5/, iout /6/
-
- call exopts (EXABRT, ierr)
- write (iout,'("after exopts, error = ", i4)') ierr
- cpu_word_size = 0
- io_word_size = 0
-c
-c create EXODUS II files
-c
- exoid = excre ("test.exo",
- 1 EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,'("after excre for test.exo, id: ", i4)') exoid
- write (iout,'(" cpu word size: ",i4," io word size: ",i4)')
- 1 cpu_word_size, io_word_size
- write (iout,'("after excre, error = ", i4)') ierr
-c
-c initialize file with parameters
-c
-
- num_dim = 3
- num_nodes = 26
- num_elem = 5
- num_elem_blk = 5
- num_node_sets = 2
- num_side_sets = 5
- call expini (exoid, "This is a test", num_dim, num_nodes,
- 1 num_elem, num_elem_blk, num_node_sets,
- 2 num_side_sets, ierr)
-
- write (iout, '("after expini, error = ", i4)' ) ierr
-
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write nodal coordinates values and names to database
-c
-c Quad #1
- x(1) = 0.0
- x(2) = 1.0
- x(3) = 1.0
- x(4) = 0.0
-
- y(1) = 0.0
- y(2) = 0.0
- y(3) = 1.0
- y(4) = 1.0
-
- z(1) = 0.0
- z(2) = 0.0
- z(3) = 0.0
- z(4) = 0.0
-
-c Quad #2
- x(5) = 1.0
- x(6) = 2.0
- x(7) = 2.0
- x(8) = 1.0
-
- y(5) = 0.0
- y(6) = 0.0
- y(7) = 1.0
- y(8) = 1.0
-
- z(5) = 0.0
- z(6) = 0.0
- z(7) = 0.0
- z(8) = 0.0
-
-c Hex #1
- x(9) = 0.0
- x(10) = 10.0
- x(11) = 10.0
- x(12) = 1.0
- x(13) = 1.0
- x(14) = 10.0
- x(15) = 10.0
- x(16) = 1.0
-
- y(9) = 0.0
- y(10) = 0.0
- y(11) = 0.0
- y(12) = 0.0
- y(13) = 10.0
- y(14) = 10.0
- y(15) = 10.0
- y(16) = 10.0
-
- z(9) = 0.0
- z(10) = 0.0
- z(11) =-10.0
- z(12) =-10.0
- z(13) = 0.0
- z(14) = 0.0
- z(15) =-10.0
- z(16) =-10.0
-
-c Tetra #1
- x(17) = 0.0
- x(18) = 1.0
- x(19) = 10.0
- x(20) = 7.0
-
- y(17) = 0.0
- y(18) = 0.0
- y(19) = 0.0
- y(20) = 5.0
-
- z(17) = 0.0
- z(18) = 5.0
- z(19) = 2.0
- z(20) = 3.0
-
-c Wedge #1
- x(21) = 3.0
- x(22) = 6.0
- x(23) = 0.0
- x(24) = 3.0
- x(25) = 6.0
- x(26) = 0.0
-
- y(21) = 0.0
- y(22) = 0.0
- y(23) = 0.0
- y(24) = 2.0
- y(25) = 2.0
- y(26) = 2.0
-
- z(21) = 6.0
- z(22) = 0.0
- z(23) = 0.0
- z(24) = 6.0
- z(25) = 2.0
- z(26) = 0.0
- call expcor (exoid, x, y, z, ierr)
- write (iout, '("after expcor, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-
- coord_names(1) = "xcoor"
- coord_names(2) = "ycoor"
- coord_names(3) = "zcoor"
-
- call expcon (exoid, coord_names, ierr)
- write (iout, '("after expcon, error = ", i4)' ) ierr
- call exupda(exoid,ierr)
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-
-c
-c write element order map
-c
-
- do 10 i = 1, num_elem
- elem_map(i) = i
-10 continue
-
- call expmap (exoid, elem_map, ierr)
- write (iout, '("after expmap, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write element block parameters
-c
-
- num_elem_in_block(1) = 1
- num_elem_in_block(2) = 1
- num_elem_in_block(3) = 1
- num_elem_in_block(4) = 1
- num_elem_in_block(5) = 1
-
- num_nodes_per_elem(1) = 4
- num_nodes_per_elem(2) = 4
- num_nodes_per_elem(3) = 8
- num_nodes_per_elem(4) = 4
- num_nodes_per_elem(5) = 6
-
- ebids(1) = 10
- ebids(2) = 11
- ebids(3) = 12
- ebids(4) = 13
- ebids(5) = 14
-
- numattr(1) = 1
- numattr(2) = 1
- numattr(3) = 1
- numattr(4) = 1
- numattr(5) = 1
-
- cname = "quad"
- call expelb (exoid,ebids(1),cname,num_elem_in_block(1),
- 1 num_nodes_per_elem(1),numattr(1),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expelb (exoid,ebids(2),cname,num_elem_in_block(2),
- 1 num_nodes_per_elem(2),numattr(2),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- cname = "hex"
- call expelb (exoid,ebids(3),cname,num_elem_in_block(3),
- 1 num_nodes_per_elem(3),numattr(3),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- cname = "tetra"
- call expelb (exoid,ebids(4),cname,num_elem_in_block(4),
- 1 num_nodes_per_elem(4),numattr(4),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- cname = "wedge"
- call expelb (exoid,ebids(5),cname,num_elem_in_block(5),
- 1 num_nodes_per_elem(5),numattr(5),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c write element block properties
-
- prop_names(1) = "MATL"
- prop_names(2) = "DENSITY"
- call exppn(exoid,EXEBLK,2,prop_names,ierr)
- write (iout, '("after exppn, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expp(exoid, EXEBLK, ebids(1), "MATL", 10, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expp(exoid, EXEBLK, ebids(2), "MATL", 20, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expp(exoid, EXEBLK, ebids(3), "MATL", 30, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expp(exoid, EXEBLK, ebids(4), "MATL", 40, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expp(exoid, EXEBLK, ebids(5), "MATL", 50, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write element connectivity
-c
-
- connect(1) = 1
- connect(2) = 2
- connect(3) = 3
- connect(4) = 4
-
- call expelc (exoid, ebids(1), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- connect(1) = 5
- connect(2) = 6
- connect(3) = 7
- connect(4) = 8
-
- call expelc (exoid, ebids(2), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- connect(1) = 9
- connect(2) = 10
- connect(3) = 11
- connect(4) = 12
- connect(5) = 13
- connect(6) = 14
- connect(7) = 15
- connect(8) = 16
-
- call expelc (exoid, ebids(3), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- connect(1) = 17
- connect(2) = 18
- connect(3) = 19
- connect(4) = 20
-
- call expelc (exoid, ebids(4), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- connect(1) = 21
- connect(2) = 22
- connect(3) = 23
- connect(4) = 24
- connect(5) = 25
- connect(6) = 26
-
- call expelc (exoid, ebids(5), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write element block attributes
-c
- attrib(1) = 3.14159
- call expeat (exoid, ebids(1), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- attrib(1) = 6.14159
- call expeat (exoid, ebids(2), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expeat (exoid, ebids(3), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expeat (exoid, ebids(4), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expeat (exoid, ebids(5), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- attrib_names(1) = 'THICKNESS'
- do i=1, 5
- call expean (exoid, ebids(i), 1, attrib_names, ierr)
- write (iout, '("after expean, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- end do
-c
-c write individual node sets
-c
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
-
- call expnp (exoid, 20, 5, 5, ierr)
- write (iout, '("after expnp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expns (exoid, 20, node_list, ierr)
- write (iout, '("after expns, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expnsd (exoid, 20, dist_fact, ierr)
- write (iout, '("after expnsd, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- node_list(1) = 200
- node_list(2) = 201
- node_list(3) = 202
-
- dist_fact(1) = 1.1
- dist_fact(2) = 2.1
- dist_fact(3) = 3.1
-
- call expnp (exoid, 21, 3, 3, ierr)
- write (iout, '("after expnp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expns (exoid, 21, node_list, ierr)
- write (iout, '("after expns, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expnsd (exoid, 21, dist_fact, ierr)
- write (iout, '("after expnsd, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write concatenated node sets; this produces the same information as
-c the above code which writes individual node sets
-c
-
- ids(1) = 20
- ids(2) = 21
-
- num_nodes_per_set(1) = 5
- num_nodes_per_set(2) = 3
-
- num_df_per_set(1) = 5
- num_df_per_set(2) = 3
-
- node_ind(1) = 1
- node_ind(2) = 6
-
- df_ind(1) = 1
- df_ind(2) = 6
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
- node_list(6) = 200
- node_list(7) = 201
- node_list(8) = 202
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
- dist_fact(6) = 1.1
- dist_fact(7) = 2.1
- dist_fact(8) = 3.1
-
-c call expcns (exoid, ids, num_nodes_per_set, num_df_per_set,
-c 1 node_ind, df_ind, node_list, dist_fact, ierr)
-c write (iout, '("after expcns, error = ", i4)' ) ierr
-
-c write node set properties
-
- prop_names(1) = "FACE"
- call expp(exoid, EXNSET, 20, prop_names(1), 4, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expp(exoid, EXNSET, 21, prop_names(1), 5, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- prop_array(1) = 1000
- prop_array(2) = 2000
-
- prop_names(1) = "VELOCITY"
- call exppa(exoid, EXNSET, prop_names(1), prop_array, ierr)
- write (iout, '("after exppa, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write individual side sets
-c
-
-c side set #1 - quad
-
- elem_list(1) = 2
- elem_list(2) = 2
-
- side_list(1) = 4
- side_list(2) = 2
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
-
- call expsp (exoid, 30, 2, 4, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expss (exoid, 30, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expssd (exoid, 30, dist_fact, ierr)
- write (iout, '("after expssd, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c side set #2 - quad, spanning 2 elements
-
- elem_list(1) = 1
- elem_list(2) = 2
-
- side_list(1) = 2
- side_list(2) = 3
-
- dist_fact(1) = 31.0
- dist_fact(2) = 31.1
- dist_fact(3) = 31.2
- dist_fact(4) = 31.3
-
- call expsp (exoid, 31, 2, 4, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expss (exoid, 31, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expssd (exoid, 31, dist_fact, ierr)
- write (iout, '("after expssd, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c side set #3 - hex
-
- elem_list(1) = 3
- elem_list(2) = 3
- elem_list(3) = 3
- elem_list(4) = 3
- elem_list(5) = 3
- elem_list(6) = 3
- elem_list(7) = 3
-
- side_list(1) = 5
- side_list(2) = 3
- side_list(3) = 3
- side_list(4) = 2
- side_list(5) = 4
- side_list(6) = 1
- side_list(7) = 6
-
- call expsp (exoid, 32, 7, 0, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expss (exoid, 32, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c side set #4 - tetras
-
- elem_list(1) = 4
- elem_list(2) = 4
- elem_list(3) = 4
- elem_list(4) = 4
-
- side_list(1) = 1
- side_list(2) = 2
- side_list(3) = 3
- side_list(4) = 4
-
- call expsp (exoid, 33, 4, 0, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expss (exoid, 33, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c side set #5 - wedges
-
- elem_list(1) = 5
- elem_list(2) = 5
- elem_list(3) = 5
- elem_list(4) = 5
- elem_list(5) = 5
-
- side_list(1) = 1
- side_list(2) = 2
- side_list(3) = 3
- side_list(4) = 4
- side_list(5) = 5
-
- call expsp (exoid, 34, 5, 0, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expss (exoid, 34, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-
-c write concatenated side sets; this produces the same information as
-c the above code which writes individual side sets
-c
-
- ids(1) = 30
- ids(2) = 31
- ids(3) = 32
- ids(4) = 33
- ids(5) = 34
-
-c side set #1
- node_list(1) = 8
- node_list(2) = 5
- node_list(3) = 6
- node_list(4) = 7
-
-c side set #2
- node_list(5) = 2
- node_list(6) = 3
- node_list(7) = 7
- node_list(8) = 8
-
-c side set #3
- node_list(9) = 9
- node_list(10) = 12
- node_list(11) = 11
- node_list(12) = 10
-
- node_list(13) = 11
- node_list(14) = 12
- node_list(15) = 16
- node_list(16) = 15
-
- node_list(17) = 16
- node_list(18) = 15
- node_list(19) = 11
- node_list(20) = 12
-
- node_list(21) = 10
- node_list(22) = 11
- node_list(23) = 15
- node_list(24) = 14
-
- node_list(25) = 13
- node_list(26) = 16
- node_list(27) = 12
- node_list(28) = 9
-
- node_list(29) = 14
- node_list(30) = 13
- node_list(31) = 9
- node_list(32) = 10
-
- node_list(33) = 16
- node_list(34) = 13
- node_list(35) = 14
- node_list(36) = 15
-
-c side set #4
- node_list(37) = 17
- node_list(38) = 18
- node_list(39) = 20
-
- node_list(40) = 18
- node_list(41) = 19
- node_list(42) = 20
-
- node_list(43) = 20
- node_list(44) = 19
- node_list(45) = 17
-
- node_list(46) = 19
- node_list(47) = 18
- node_list(48) = 17
-
-c side set #5
- node_list(49) = 25
- node_list(50) = 24
- node_list(51) = 21
- node_list(52) = 22
-
- node_list(53) = 26
- node_list(54) = 25
- node_list(55) = 22
- node_list(56) = 23
-
- node_list(57) = 26
- node_list(58) = 23
- node_list(59) = 21
- node_list(60) = 24
-
- node_list(61) = 23
- node_list(62) = 22
- node_list(63) = 21
-
- node_list(64) = 24
- node_list(65) = 25
- node_list(66) = 26
-
- num_elem_per_set(1) = 2
- num_elem_per_set(2) = 2
- num_elem_per_set(3) = 7
- num_elem_per_set(4) = 4
- num_elem_per_set(5) = 5
-
- num_nodes_per_set(1) = 4
- num_nodes_per_set(2) = 4
- num_nodes_per_set(3) = 28
- num_nodes_per_set(4) = 12
- num_nodes_per_set(5) = 20
-
- elem_ind(1) = 1
- elem_ind(2) = 3
- elem_ind(3) = 5
- elem_ind(4) = 12
- elem_ind(5) = 16
-
- node_ind(1) = 1
- node_ind(2) = 5
- node_ind(3) = 9
- node_ind(4) = 37
- node_ind(5) = 48
-
- elem_list(1) = 3
- elem_list(2) = 3
- elem_list(3) = 1
- elem_list(4) = 3
- elem_list(5) = 4
- elem_list(6) = 4
- elem_list(7) = 4
- elem_list(8) = 4
- elem_list(9) = 4
- elem_list(10) = 4
- elem_list(11) = 4
- elem_list(12) = 5
- elem_list(13) = 5
- elem_list(14) = 5
- elem_list(15) = 5
- elem_list(16) = 6
- elem_list(17) = 6
- elem_list(18) = 6
- elem_list(19) = 6
- elem_list(20) = 6
-
-c side_list(1) = 1
-c side_list(2) = 2
-c side_list(3) = 3
-c side_list(4) = 4
-
-c call excn2s(exoid, num_elem_per_set, num_nodes_per_set, elem_ind,
-c 1 node_ind, elem_list, node_list, side_list, ierr)
-c write (iout, '("after excn2s, error = ", i4)' ) ierr
-
-
- num_df_per_set(1) = 4
- num_df_per_set(2) = 4
- num_df_per_set(3) = 0
- num_df_per_set(4) = 0
- num_df_per_set(5) = 0
-
- df_ind(1) = 1
- df_ind(2) = 5
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
- dist_fact(5) = 31.0
- dist_fact(6) = 31.1
- dist_fact(7) = 31.2
- dist_fact(8) = 31.3
-
-c call expcss (exoid, ids, num_elem_per_set, num_df_per_set,
-c 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
-c 2 ierr)
-c write (iout, '("after expcss, error = ", i4)' ) ierr
-
- prop_names(1) = "COLOR"
- call expp(exoid, EXSSET, 30, prop_names(1), 100, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expp(exoid, EXSSET, 31, prop_names(1), 101, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-c
-c
-c write QA records
-c
-
- num_qa_rec = 2
-
- qa_record(1,1) = "TESTWT fortran version"
- qa_record(2,1) = "testwt"
- qa_record(3,1) = "07/07/93"
- qa_record(4,1) = "15:41:33"
- qa_record(1,2) = "FASTQ"
- qa_record(2,2) = "fastq"
- qa_record(3,2) = "07/07/93"
- qa_record(4,2) = "16:41:33"
-
- call expqa (exoid, num_qa_rec, qa_record, ierr)
- write (iout, '("after expqa, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-
-c
-c write information records
-c
-
- num_info = 3
-
- inform(1) = "This is the first information record."
- inform(2) = "This is the second information record."
- inform(3) = "This is the third information record."
-
- call expinf (exoid, num_info, inform, ierr)
- write (iout, '("after expinf, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c write results variables parameters and names
-
- num_glo_vars = 1
-
- var_names(1) = "glo_vars"
-
- call expvp (exoid, "g", num_glo_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expvan (exoid, "g", num_glo_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-
- num_nod_vars = 2
-
- var_names(1) = "nod_var0"
- var_names(2) = "nod_var1"
-
- call expvp (exoid, "n", num_nod_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expvan (exoid, "n", num_nod_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-
- num_ele_vars = 3
-
- var_names(1) = "ele_var0"
- var_names(2) = "ele_var1"
- var_names(3) = "ele_var2"
-
- call expvp (exoid, "e", num_ele_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
- call expvan (exoid, "e", num_ele_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write element variable truth table
-c
-
- k = 0
-
- do 30 i = 1,num_elem_blk
- do 20 j = 1,num_ele_vars
- truth_tab(j,i) = 1
-20 continue
-30 continue
-
- call expvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
- write (iout, '("after expvtt, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c for each time step, write the analysis results;
-c the code below fills the arrays glob_var_vals,
-c nodal_var_vals, and elem_var_vals with values for debugging purposes;
-c obviously the analysis code will populate these arrays
-c
-
- whole_time_step = 1
- num_time_steps = 10
-
- do 110 i = 1, num_time_steps
- time_value = real(i)/100.
-c
-c write time value
-c
-
- call exptim (exoid, whole_time_step, time_value, ierr)
- write (iout, '("after exptim, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write global variables
-c
-
- do 50 j = 1, num_glo_vars
- glob_var_vals(j) = real(j+1) * time_value
-50 continue
-
- call expgv (exoid, whole_time_step, num_glo_vars,
- 1 glob_var_vals, ierr)
- write (iout, '("after expgv, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write nodal variables
-c
-
- do 70 k = 1, num_nod_vars
- do 60 j = 1, num_nodes
-
- nodal_var_vals(j) = real(k) + (real(j) * time_value)
-
-60 continue
-
- call expnv (exoid, whole_time_step, k, num_nodes,
- 1 nodal_var_vals, ierr)
- write (iout, '("after expnv, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-70 continue
-
-c
-c write element variables
-c
-
- do 100 k = 1, num_ele_vars
- do 90 j = 1, num_elem_blk
- do 80 m = 1, num_elem_in_block(j)
-
- elem_var_vals(m) = real(k+1) + real(j+1) +
- 1 (real(m)*time_value)
-c write(iout,*)'elem_var_val(',m,'): ',elem_var_vals(m)
-
-80 continue
-
- call expev (exoid, whole_time_step, k, ebids(j),
- 1 num_elem_in_block(j), elem_var_vals, ierr)
- write (iout, '("after expev, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-90 continue
-100 continue
-
- whole_time_step = whole_time_step + 1
-
-c
-c update the data file; this should be done at the end of every time
-c step to ensure that no data is lost if the analysis dies
-c
- call exupda (exoid, ierr)
- write (iout, '("after exupda, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-110 continue
-
-c
-c close the EXODUS files
-c
- call exclos (exoid, ierr)
- write (iout, '("after exclos, error = ", i4)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testwt1.f b/forbind/test/testwt1.f
deleted file mode 100644
index f36eada..0000000
--- a/forbind/test/testwt1.f
+++ /dev/null
@@ -1,996 +0,0 @@
- program testwt1
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database write routines.
-c
-
-c history -
-c Original L.A. Schoof
-c 02/25/93 V.R. Yarberry - Added error checks for file creation.
-c 03/04/93 V.R. Yarberry - Fixed bug in expvtt test, ebids was not passed
-c 08/31/93 VRY - updated to match API version 2.00
-c
- include 'exodusII.inc'
-
- integer iin, iout
- integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
- integer num_elem_in_block(10), num_nodes_per_elem(10),numattr(10)
- integer num_node_sets, num_side_sets
- integer i, j, k, m, elem_map(10), node_map(100), connect(10)
- integer node_list(100), elem_list(100), side_list(100)
- integer ebids(10),ids(10), num_nodes_per_set(10)
- integer num_elem_per_set(10), num_df_per_set(10)
- integer df_ind(10), node_ind(10), elem_ind(10)
- integer num_qa_rec, num_info
- integer num_glo_vars, num_nod_vars, num_ele_vars
- integer truth_tab(3,7)
- integer whole_time_step, num_time_steps
- integer cpu_word_size, io_word_size
- integer prop_array(2)
-
- real glob_var_vals(100), nodal_var_vals(100)
- real time_value, elem_var_vals(100)
- real x(100), y(100), z(100)
- real attrib(100), dist_fact(100)
-
- character*(MXSTLN) coord_names(3)
- character*(MXSTLN) cname
- character*(MXSTLN) var_names(3)
- character*(MXSTLN) qa_record(4,2)
- character*(MXLNLN) inform(3)
- character*(MXSTLN) prop_names(2)
- character*(MXSTLN) attrib_names(3)
-
- data iin /5/, iout /6/
-
- cpu_word_size = 0
- io_word_size = 0
-c
-c create EXODUS II files
-c
- exoid = excre ("test.exo",
- 1 EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,'("after excre for test.exo, id: ", i4)') exoid
- write (iout,'(" cpu word size: ",i4," io word size: ",i4)')
- 1 cpu_word_size, io_word_size
- write (iout,'("after excre, error = ", i4)') ierr
-c
-c initialize file with parameters
-c
-
- num_dim = 3
- num_nodes = 28
- num_elem = 8
- num_elem_blk = 7
- num_node_sets = 2
- num_side_sets = 5
-c Uncomment the following line to test NULL side sets
-c num_side_sets = 6
-
- call expini (exoid, "This is testwt1", num_dim, num_nodes,
- 1 num_elem, num_elem_blk, num_node_sets,
- 2 num_side_sets, ierr)
-
- write (iout, '("after expini, error = ", i4)' ) ierr
-
-c
-c write nodal coordinates values and names to database
-c
-c Quad #1
- x(1) = 0.0
- x(2) = 1.0
- x(3) = 1.0
- x(4) = 0.0
-
- y(1) = 0.0
- y(2) = 0.0
- y(3) = 1.0
- y(4) = 1.0
-
- z(1) = 0.0
- z(2) = 0.0
- z(3) = 0.0
- z(4) = 0.0
-
-c Quad #2
- x(5) = 1.0
- x(6) = 2.0
- x(7) = 2.0
- x(8) = 1.0
-
- y(5) = 0.0
- y(6) = 0.0
- y(7) = 1.0
- y(8) = 1.0
-
- z(5) = 0.0
- z(6) = 0.0
- z(7) = 0.0
- z(8) = 0.0
-
-c Hex #1
- x(9) = 0.0
- x(10) = 10.0
- x(11) = 10.0
- x(12) = 1.0
- x(13) = 1.0
- x(14) = 10.0
- x(15) = 10.0
- x(16) = 1.0
-
- y(9) = 0.0
- y(10) = 0.0
- y(11) = 0.0
- y(12) = 0.0
- y(13) = 10.0
- y(14) = 10.0
- y(15) = 10.0
- y(16) = 10.0
-
- z(9) = 0.0
- z(10) = 0.0
- z(11) =-10.0
- z(12) =-10.0
- z(13) = 0.0
- z(14) = 0.0
- z(15) =-10.0
- z(16) =-10.0
-
-c Tetra #1
- x(17) = 0.0
- x(18) = 1.0
- x(19) = 10.0
- x(20) = 7.0
-
- y(17) = 0.0
- y(18) = 0.0
- y(19) = 0.0
- y(20) = 5.0
-
- z(17) = 0.0
- z(18) = 5.0
- z(19) = 2.0
- z(20) = 3.0
-
-c Circle #1
- x(21) = 100.0
- y(21) = 100.0
- z(21) = 0.0
-
-c Sphere #1
- x(22) = 50.0
- y(22) = 50.0
- z(22) = 20.0
-
-c Wedge #1
- x(23) = 3.0
- x(24) = 6.0
- x(25) = 0.0
- x(26) = 3.0
- x(27) = 6.0
- x(28) = 0.0
-
- y(23) = 0.0
- y(24) = 0.0
- y(25) = 0.0
- y(26) = 2.0
- y(27) = 2.0
- y(28) = 2.0
-
- z(23) = 6.0
- z(24) = 0.0
- z(25) = 0.0
- z(26) = 6.0
- z(27) = 2.0
- z(28) = 0.0
- call expcor (exoid, x, y, z, ierr)
- write (iout, '("after expcor, error = ", i4)' ) ierr
-
- coord_names(1) = "xcoor"
- coord_names(2) = "ycoor"
- coord_names(3) = "zcoor"
-
- call expcon (exoid, coord_names, ierr)
- write (iout, '("after expcon, error = ", i4)' ) ierr
-
-c
-c write node and element map parameters
-c
-
- n_node_maps = 1
- n_elem_maps = 2
-
- call expmp (exoid, n_node_maps, n_elem_maps, ierr)
- write (iout, '("after expmp, error = ", i4)' ) ierr
-
-c
-c write element map properties
-c
-
- prop_names(1) = "ORDER"
- prop_names(2) = "NUMBER"
- call exppn(exoid,EXEMAP,2,prop_names,ierr)
- write (iout, '("after exppn, error = ", i4)' ) ierr
-
-c
-c write element order map
-c
-
- do 10 i = 1, num_elem
- elem_map(i) = i
-10 continue
-
- id = 111
- call expem (exoid, id, elem_map, ierr)
- write (iout, '("after expem, error = ", i4)' ) ierr
-
- call expp(exoid, EXEMAP, id, "ORDER", 1, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
-c
-c write element numbering map
-c
- id = 222
-C write map an element at a time...
- do 11 i = 1, num_elem
- elem_map(i) = i*2
- call exppem (exoid, id, i, 1, elem_map(i), ierr)
- write (iout, '("after exppem, error = ", i4)' ) ierr
-11 continue
-
- call expp(exoid, EXEMAP, id, "NUMBER", 1, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
-c
-c write node map properties
-c
-
- prop_names(1) = "NUMBER"
- call exppn(exoid,EXNMAP,1,prop_names,ierr)
- write (iout, '("after exppn, error = ", i4)' ) ierr
-
-c
-c write node numbering map
-c
-
- do 13 i = 1, num_nodes
- node_map(i) = i*3
- 13 continue
-
- id = 333
- call expnm (exoid, id, node_map, ierr)
- write (iout, '("after expnm, error = ", i4)' ) ierr
-
- call expp(exoid, EXNMAP, id, "NUMBER", 1, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
-c
-c write element block parameters
-c
-
- num_elem_in_block(1) = 1
- num_elem_in_block(2) = 2
- num_elem_in_block(3) = 1
- num_elem_in_block(4) = 1
- num_elem_in_block(5) = 1
- num_elem_in_block(6) = 1
- num_elem_in_block(7) = 1
-
- num_nodes_per_elem(1) = 4
- num_nodes_per_elem(2) = 4
- num_nodes_per_elem(3) = 8
- num_nodes_per_elem(4) = 4
- num_nodes_per_elem(5) = 1
- num_nodes_per_elem(6) = 1
- num_nodes_per_elem(7) = 6
-
- ebids(1) = 10
- ebids(2) = 11
- ebids(3) = 12
- ebids(4) = 13
- ebids(5) = 14
- ebids(6) = 15
- ebids(7) = 16
-
- numattr(1) = 3
- numattr(2) = 3
- numattr(3) = 3
- numattr(4) = 3
- numattr(5) = 3
- numattr(6) = 3
- numattr(7) = 3
-
- cname = "quad"
- call expelb (exoid,ebids(1),cname,num_elem_in_block(1),
- 1 num_nodes_per_elem(1),numattr(1),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- call expelb (exoid,ebids(2),cname,num_elem_in_block(2),
- 1 num_nodes_per_elem(2),numattr(2),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- cname = "hex"
- call expelb (exoid,ebids(3),cname,num_elem_in_block(3),
- 1 num_nodes_per_elem(3),numattr(3),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- cname = "tetra"
- call expelb (exoid,ebids(4),cname,num_elem_in_block(4),
- 1 num_nodes_per_elem(4),numattr(4),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- cname = "circle"
- call expelb (exoid,ebids(5),cname,num_elem_in_block(5),
- 1 num_nodes_per_elem(5),numattr(5),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- cname = "sphere"
- call expelb (exoid,ebids(6),cname,num_elem_in_block(6),
- 1 num_nodes_per_elem(6),numattr(6),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- cname = "wedge"
- call expelb (exoid,ebids(7),cname,num_elem_in_block(7),
- 1 num_nodes_per_elem(7),numattr(7),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
-c write element block properties
-
- prop_names(1) = "MATL"
- prop_names(2) = "DENSITY"
- call exppn(exoid,EXEBLK,2,prop_names,ierr)
- write (iout, '("after exppn, error = ", i4)' ) ierr
-
- call expp(exoid, EXEBLK, ebids(1), "MATL", 10, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(2), "MATL", 20, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(3), "MATL", 30, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(4), "MATL", 40, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(5), "MATL", 50, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(6), "MATL", 60, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(7), "MATL", 70, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
-c
-c write element connectivity
-c
-
- connect(1) = 1
- connect(2) = 2
- connect(3) = 3
- connect(4) = 4
-
- call expelc (exoid, ebids(1), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 1
- connect(2) = 2
- connect(3) = 3
- connect(4) = 4
- connect(5) = 5
- connect(6) = 6
- connect(7) = 7
- connect(8) = 8
-
- call expelc (exoid, ebids(2), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 9
- connect(2) = 10
- connect(3) = 11
- connect(4) = 12
- connect(5) = 13
- connect(6) = 14
- connect(7) = 15
- connect(8) = 16
-
- call expelc (exoid, ebids(3), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 17
- connect(2) = 18
- connect(3) = 19
- connect(4) = 20
-
- call expelc (exoid, ebids(4), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 21
-
- call expelc (exoid, ebids(5), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 22
-
- call expelc (exoid, ebids(6), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 23
- connect(2) = 24
- connect(3) = 25
- connect(4) = 26
- connect(5) = 27
- connect(6) = 28
-
- call expelc (exoid, ebids(7), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
-c
-c write element block attributes
-c
- attrib(1) = 1.0 ! block 1
- attrib(2) = 2.0
- attrib(3) = 3.0
- attrib(4) = 1.11 ! block 2, element 1
- attrib(5) = 2.11
- attrib(6) = 3.11
- attrib(7) = 1.12 ! block 2, element 2
- attrib(8) = 2.12
- attrib(9) = 3.12
- attrib(10) = 1.2 ! block 3
- attrib(11) = 2.2
- attrib(12) = 3.2
- attrib(13) = 1.3 ! block 4
- attrib(14) = 2.3
- attrib(15) = 3.3
- attrib(16) = 1.4 ! block 5
- attrib(17) = 2.4
- attrib(18) = 3.4
- attrib(19) = 1.5 ! block 6
- attrib(20) = 2.5
- attrib(21) = 3.5
- attrib(22) = 1.6 ! block 7
- attrib(23) = 2.6
- attrib(24) = 3.6
-
- call expeat (exoid, ebids(1), attrib(1), ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- call expeat (exoid, ebids(2), attrib(4), ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- call expeat (exoid, ebids(3), attrib(10), ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- call expeat (exoid, ebids(4), attrib(13), ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- call expeat (exoid, ebids(5), attrib(16), ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- call expeat (exoid, ebids(6), attrib(19), ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- call expeat (exoid, ebids(7), attrib(22), ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- attrib_names(1) = "attribute_1"
- attrib_names(2) = "attribute_2"
- attrib_names(3) = "attribute_3"
- do i=1, num_elem_blk
- call expean (exoid, ebids(i), numattr(i), attrib_names, ierr)
- write (iout, '("after expean, error = ", i4)' ) ierr
- end do
-
-c
-c write individual node sets
-c
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
-
-c call expnp (exoid, 20, 5, 5, ierr)
-c write (iout, '("after expnp, error = ", i4)' ) ierr
-c call expns (exoid, 20, node_list, ierr)
-c write (iout, '("after expns, error = ", i4)' ) ierr
-c call expnsd (exoid, 20, dist_fact, ierr)
-c write (iout, '("after expnsd, error = ", i4)' ) ierr
-
- node_list(1) = 200
- node_list(2) = 201
- node_list(3) = 202
-
- dist_fact(1) = 1.1
- dist_fact(2) = 2.1
- dist_fact(3) = 3.1
-
-c call expnp (exoid, 21, 3, 3, ierr)
-c write (iout, '("after expnp, error = ", i4)' ) ierr
-c call expns (exoid, 21, node_list, ierr)
-c write (iout, '("after expns, error = ", i4)' ) ierr
-c call expnsd (exoid, 21, dist_fact, ierr)
-c write (iout, '("after expnsd, error = ", i4)' ) ierr
-
-c
-c write concatenated node sets; this produces the same information as
-c the above code which writes individual node sets
-c
-
- ids(1) = 20
- ids(2) = 21
-
- num_nodes_per_set(1) = 5
- num_nodes_per_set(2) = 3
-
- num_df_per_set(1) = 5
- num_df_per_set(2) = 3
-
- node_ind(1) = 1
- node_ind(2) = 6
-
- df_ind(1) = 1
- df_ind(2) = 6
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
- node_list(6) = 200
- node_list(7) = 201
- node_list(8) = 202
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
- dist_fact(6) = 1.1
- dist_fact(7) = 2.1
- dist_fact(8) = 3.1
-
- call expcns (exoid, ids, num_nodes_per_set, num_df_per_set,
- 1 node_ind, df_ind, node_list, dist_fact, ierr)
- write (iout, '("after expcns, error = ", i4)' ) ierr
-
-c write node set properties
-
- prop_names(1) = "FACE"
- call expp(exoid, EXNSET, 20, prop_names(1), 4, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- call expp(exoid, EXNSET, 21, prop_names(1), 5, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- prop_array(1) = 1000
- prop_array(2) = 2000
-
- prop_names(1) = "VELOCITY"
- call exppa(exoid, EXNSET, prop_names(1), prop_array, ierr)
- write (iout, '("after exppa, error = ", i4)' ) ierr
-
-c
-c write individual side sets
-c
-
- elem_list(1) = 11
- elem_list(2) = 12
-
- side_list(1) = 1
- side_list(2) = 2
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
-
-c call expsp (exoid, 30, 2, 4, ierr)
-c write (iout, '("after expsp, error = ", i4)' ) ierr
-
-c call expss (exoid, 30, elem_list, side_list, ierr)
-c write (iout, '("after expss, error = ", i4)' ) ierr
-
-c call expssd (exoid, 30, dist_fact, ierr)
-c write (iout, '("after expssd, error = ", i4)' ) ierr
-
- elem_list(1) = 13
- elem_list(2) = 14
-
- side_list(1) = 3
- side_list(2) = 4
-
- dist_fact(1) = 31.0
- dist_fact(2) = 31.1
- dist_fact(3) = 31.2
- dist_fact(4) = 31.3
-
-c call expsp (exoid, 31, 2, 4, ierr)
-c write (iout, '("after expsp, error = ", i4)' ) ierr
-
-c call expss (exoid, 31, elem_list, side_list, ierr)
-c write (iout, '("after expss, error = ", i4)' ) ierr
-
-c call expssd (exoid, 31, dist_fact, ierr)
-c write (iout, '("after expssd, error = ", i4)' ) ierr
-
-c write concatenated side sets; this produces the same information as
-c the above code which writes individual side sets
-c
-
- ids(1) = 30
- ids(2) = 31
- ids(3) = 32
- ids(4) = 33
- ids(5) = 34
- ids(6) = 35
-
-c side set #1 - quad
- node_list(1) = 8
- node_list(2) = 5
- node_list(3) = 6
- node_list(4) = 7
-
-c side set #2 - quad/hex, spanning 2 element types
- node_list(5) = 2
- node_list(6) = 3
- node_list(7) = 7
- node_list(8) = 8
-
-c side set #3 - hex
- node_list(9) = 9
- node_list(10) = 12
- node_list(11) = 11
- node_list(12) = 10
-
- node_list(13) = 11
- node_list(14) = 12
- node_list(15) = 16
- node_list(16) = 15
-
- node_list(17) = 16
- node_list(18) = 15
- node_list(19) = 11
- node_list(20) = 12
-
- node_list(21) = 10
- node_list(22) = 11
- node_list(23) = 15
- node_list(24) = 14
-
- node_list(25) = 13
- node_list(26) = 16
- node_list(27) = 12
- node_list(28) = 9
-
- node_list(29) = 14
- node_list(30) = 13
- node_list(31) = 9
- node_list(32) = 10
-
- node_list(33) = 16
- node_list(34) = 13
- node_list(35) = 14
- node_list(36) = 15
-
-c side set #4 - Tetra
- node_list(37) = 17
- node_list(38) = 18
- node_list(39) = 20
-
- node_list(40) = 18
- node_list(41) = 19
- node_list(42) = 20
-
- node_list(43) = 20
- node_list(44) = 19
- node_list(45) = 17
-
- node_list(46) = 19
- node_list(47) = 18
- node_list(48) = 17
-
-c side set #5 - Circle/Sphere
- node_list(49) = 21
- node_list(50) = 22
-
-c side set #6 - Wedges
- node_list(51) = 27
- node_list(52) = 26
- node_list(53) = 23
- node_list(54) = 24
-
- node_list(55) = 28
- node_list(56) = 27
- node_list(57) = 24
- node_list(58) = 25
-
- node_list(59) = 28
- node_list(60) = 25
- node_list(61) = 23
- node_list(62) = 26
-
- node_list(63) = 25
- node_list(64) = 24
- node_list(65) = 23
-
- node_list(66) = 26
- node_list(67) = 27
- node_list(68) = 28
-
- num_elem_per_set(1) = 2
- num_elem_per_set(2) = 2
- num_elem_per_set(3) = 7
- num_elem_per_set(4) = 4
- num_elem_per_set(5) = 2
- num_elem_per_set(6) = 5
-c Uncomment following line to test NULL side sets
-c num_elem_per_set(6) = 0
-
- num_nodes_per_set(1) = 4
- num_nodes_per_set(2) = 4
- num_nodes_per_set(3) = 28
- num_nodes_per_set(4) = 12
- num_nodes_per_set(5) = 2
- num_nodes_per_set(6) = 18
-
- elem_ind(1) = 1
- elem_ind(2) = 3
- elem_ind(3) = 5
- elem_ind(4) = 12
- elem_ind(5) = 16
- elem_ind(6) = 18
-
- node_ind(1) = 1
- node_ind(2) = 5
- node_ind(3) = 9
- node_ind(4) = 37
- node_ind(5) = 48
- node_ind(6) = 50
-
- elem_list(1) = 3
- elem_list(2) = 3
- elem_list(3) = 1
- elem_list(4) = 3
- elem_list(5) = 4
- elem_list(6) = 4
- elem_list(7) = 4
- elem_list(8) = 4
- elem_list(9) = 4
- elem_list(10) = 4
- elem_list(11) = 4
- elem_list(12) = 5
- elem_list(13) = 5
- elem_list(14) = 5
- elem_list(15) = 5
- elem_list(16) = 6
- elem_list(17) = 7
- elem_list(18) = 8
- elem_list(19) = 8
- elem_list(20) = 8
- elem_list(21) = 8
- elem_list(22) = 8
-
-c side_list(1) = 1
-c side_list(2) = 2
-c side_list(3) = 3
-c side_list(4) = 4
-
- call excn2s(exoid, num_elem_per_set, num_nodes_per_set, elem_ind,
- 1 node_ind, elem_list, node_list, side_list, ierr)
- write (iout, '("after excn2s, error = ", i4)' ) ierr
-
- num_df_per_set(1) = 4
- num_df_per_set(2) = 4
- num_df_per_set(3) = 0
- num_df_per_set(4) = 0
- num_df_per_set(5) = 0
- num_df_per_set(6) = 0
-
- df_ind(1) = 1
- df_ind(2) = 5
- df_ind(3) = 9
- df_ind(4) = 9
- df_ind(5) = 9
- df_ind(6) = 9
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
- dist_fact(5) = 31.0
- dist_fact(6) = 31.1
- dist_fact(7) = 31.2
- dist_fact(8) = 31.3
-
- call expcss (exoid, ids, num_elem_per_set, num_df_per_set,
- 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
- 2 ierr)
- write (iout, '("after expcss, error = ", i4)' ) ierr
-
- prop_names(1) = "COLOR"
- call expp(exoid, EXSSET, 30, prop_names(1), 100, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- call expp(exoid, EXSSET, 31, prop_names(1), 101, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-c
-c
-c write QA records
-c
-
- num_qa_rec = 2
-
- qa_record(1,1) = "TESTWT1 fortran version"
- qa_record(2,1) = "testwt1"
- qa_record(3,1) = "03/16/94"
- qa_record(4,1) = "15:41:33"
- qa_record(1,2) = "FASTQ"
- qa_record(2,2) = "fastq"
- qa_record(3,2) = "07/07/93"
- qa_record(4,2) = "16:41:33"
-
- call expqa (exoid, num_qa_rec, qa_record, ierr)
- write (iout, '("after expqa, error = ", i4)' ) ierr
-
-
-c
-c write information records
-c
-
- num_info = 3
-
- inform(1) = "This is the first information record."
- inform(2) = "This is the second information record."
- inform(3) = "This is the third information record."
-
- call expinf (exoid, num_info, inform, ierr)
- write (iout, '("after expinf, error = ", i4)' ) ierr
-
-
-c write results variables parameters and names
-
- num_glo_vars = 1
-
- var_names(1) = "glo vars"
-
- call expvp (exoid, "g", num_glo_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvnm (exoid, "g", 1, var_names(1), ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
-
- num_nod_vars = 2
-
- var_names(1) = "nod_var0"
- var_names(2) = "nod_var1"
-
- call expvp (exoid, "n", num_nod_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "n", num_nod_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
-
- num_ele_vars = 3
-
- var_names(1) = "ele_var0"
- var_names(2) = "ele_var1"
- var_names(3) = "ele_var2"
-
- call expvp (exoid, "e", num_ele_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "e", num_ele_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
-c
-c write element variable truth table
-c
-
- k = 0
-
- do 30 i = 1,num_elem_blk
- do 20 j = 1,num_ele_vars
- truth_tab(j,i) = 1
-20 continue
-30 continue
-
- truth_tab(1,3) = 0
-
-c call expvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
-c write (iout, '("after expvtt, error = ", i4)' ) ierr
-
-c
-c for each time step, write the analysis results;
-c the code below fills the arrays glob_var_vals,
-c nodal_var_vals, and elem_var_vals with values for debugging purposes;
-c obviously the analysis code will populate these arrays
-c
-
- whole_time_step = 1
- num_time_steps = 10
-
- do 110 i = 1, num_time_steps
- time_value = real(i)/100.
-c
-c write time value
-c
-
- call exptim (exoid, whole_time_step, time_value, ierr)
- write (iout, '("after exptim, error = ", i4)' ) ierr
-
-c
-c write global variables
-c
-
- do 50 j = 1, num_glo_vars
- glob_var_vals(j) = real(j+1) * time_value
-50 continue
-
- call expgv (exoid, whole_time_step, num_glo_vars,
- 1 glob_var_vals, ierr)
- write (iout, '("after expgv, error = ", i4)' ) ierr
-
-c
-c write nodal variables
-c
-
- do 70 k = 1, num_nod_vars
- do 60 j = 1, num_nodes
-
- nodal_var_vals(j) = real(k) + (real(j) * time_value)
-
-60 continue
-
- call expnv (exoid, whole_time_step, k, num_nodes,
- 1 nodal_var_vals, ierr)
- write (iout, '("after expnv, error = ", i4)' ) ierr
-
-70 continue
-
-c
-c write element variables
-c
-
- do 100 k = 1, num_ele_vars
- do 90 j = 1, num_elem_blk
- do 80 m = 1, num_elem_in_block(j)
-
- elem_var_vals(m) = real(k+1) + real(j+1) +
- 1 (real(m)*time_value)
-c write(iout,*)'elem_var_val(',m,'): ',elem_var_vals(m)
-
-80 continue
-
- if (k .eq. 1 .and. j .eq. 3) then
- continue ! skip element block 3, variable 1
- else
- call expev (exoid, whole_time_step, k, ebids(j),
- 1 num_elem_in_block(j), elem_var_vals, ierr)
- write (iout, '("after expev, error = ", i4)' ) ierr
- endif
-
-90 continue
-100 continue
-
- whole_time_step = whole_time_step + 1
-
-c
-c update the data file; this should be done at the end of every time
-c step to ensure that no data is lost if the analysis dies
-c
- call exupda (exoid, ierr)
- write (iout, '("after exupda, error = ", i4)' ) ierr
-
-110 continue
-
-c
-c close the EXODUS files
-c
- call exclos (exoid, ierr)
- write (iout, '("after exclos, error = ", i4)' ) ierr
-
- stop
- end
diff --git a/forbind/test/testwt2.f b/forbind/test/testwt2.f
deleted file mode 100644
index 6e31660..0000000
--- a/forbind/test/testwt2.f
+++ /dev/null
@@ -1,1432 +0,0 @@
- program testwt2
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database write routines. It tests multiple simultaneous output files.
-c
-c 09/07/93 V.R. Yarberry - Revised for 2.00 API
-
- include 'exodusII.inc'
-
- integer iin, iout
- integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
- integer exoid2, num_dim2, num_nodes2, num_elem2, num_elem_blk2
- integer num_elem_in_block(10), num_node_sets
- integer num_elem_in_block2(10), num_node_sets2
- integer num_side_sets, num_nodes_per_elem(10), numattr(10)
- integer num_side_sets2, num_nodes_per_elem2(10), numattr2(10)
- integer i, j, k, m, elem_map(5), connect(10)
- integer elem_map2(5), connect2(10)
- integer node_list(100), elem_list(100), side_list(100)
- integer node_list2(100), elem_list2(100), side_list2(100)
- integer ebids(10),ids(10),num_nodes_per_set(10)
- integer num_elem_per_set(10), num_df_per_set(10)
- integer ebids2(10)
- integer df_ind(10), node_ind(10), elem_ind(10)
- integer num_qa_rec, num_info
- integer num_qa_rec2,num_info2
- integer num_glo_vars, num_nod_vars, num_ele_vars
- integer num_glo_vars2, num_nod_vars2, num_ele_vars2
- integer truth_tab(3,5)
- integer whole_time_step, num_time_steps
- integer cpu_word_size, io_word_size
- integer prop_array(2)
-
- real glob_var_vals(100), nodal_var_vals(100)
- real time_value, elem_var_vals(100)
- real time_value2
- real x(100), y(100), z(100)
- real x2(100), y2(100), z2(100)
- real attrib(100), dist_fact(100)
- real attrib2(100), dist_fact2(100)
-
- character*(MXLNLN) title
- character*(MXLNLN) title2
- character*(MXSTLN) coord_names(3)
- character*(MXSTLN) coord_names2(3)
- character*(MXSTLN) cname
- character*(MXSTLN) cname2
- character*(MXSTLN) var_names(3)
- character*(MXSTLN) var_names2(3)
- character*(MXSTLN) qa_record(4,2)
- character*(MXSTLN) qa_record2(4,2)
- character*(MXLNLN) inform(3)
- character*(MXLNLN) inform2(3)
- character*(MXSTLN) prop_names(2)
-
- data iin /5/, iout /6/
-
-c
-c create EXODUS II files
-c
- cpu_word_size = 0
- io_word_size = 4
-c
-c first create a "regular" file that contains everything except
-c history variable info
-c
- exoid = excre ("test.exo",
- 1 EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,'("after excre for test.exo,id: ",i4,", err=",i3)')
- 1 exoid, ierr
- write (iout,'(" cpu word size: ",i4," io word size: ",i4)')
- 1 cpu_word_size, io_word_size
- write (iout, '("after excre, error = ", i4)' ) ierr
-
- exoid2= excre ("test2.exo",
- 1 EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,'("after excre for test2.exo,id: ",i4,", err=",i3)')
- 1 exoid2, ierr
- write (iout, '("after excre (2), error = ", i4)' ) ierr
-
-c
-c initialize file with parameters
-c
-
- title = "This is test 2"
- num_dim = 3
- num_nodes = 26
- num_elem = 5
- num_elem_blk = 5
- num_node_sets = 2
- num_side_sets = 5
-
- call expini (exoid, title, num_dim, num_nodes,
- 1 num_elem, num_elem_blk, num_node_sets,
- 2 num_side_sets, ierr)
-
- write (iout, '("after expini, error = ", i4)' ) ierr
-
- title2 = "This is test 2"
- num_dim2 = 3
- num_nodes2 = 26
- num_elem2 = 5
- num_elem_blk2 = 5
- num_node_sets2 = 2
- num_side_sets2 = 5
-
- call expini (exoid2, title2, num_dim2, num_nodes2,
- 1 num_elem2, num_elem_blk2, num_node_sets2,
- 2 num_side_sets2, ierr)
-
- write (iout, '("after expini (2), error = ", i4)' ) ierr
-
-
-c
-c write nodal coordinates values and names to database
-c
-c Quad #1
- x(1) = 0.0
- x(2) = 1.0
- x(3) = 1.0
- x(4) = 0.0
-
- y(1) = 0.0
- y(2) = 0.0
- y(3) = 1.0
- y(4) = 1.0
-
- z(1) = 0.0
- z(2) = 0.0
- z(3) = 0.0
- z(4) = 0.0
-
-c Quad #2
- x(5) = 1.0
- x(6) = 2.0
- x(7) = 2.0
- x(8) = 1.0
-
- y(5) = 0.0
- y(6) = 0.0
- y(7) = 1.0
- y(8) = 1.0
-
- z(5) = 0.0
- z(6) = 0.0
- z(7) = 0.0
- z(8) = 0.0
-
-c Hex #1
- x(9) = 0.0
- x(10) = 10.0
- x(11) = 10.0
- x(12) = 1.0
- x(13) = 1.0
- x(14) = 10.0
- x(15) = 10.0
- x(16) = 1.0
-
- y(9) = 0.0
- y(10) = 0.0
- y(11) = 0.0
- y(12) = 0.0
- y(13) = 10.0
- y(14) = 10.0
- y(15) = 10.0
- y(16) = 10.0
-
- z(9) = 0.0
- z(10) = 0.0
- z(11) =-10.0
- z(12) =-10.0
- z(13) = 0.0
- z(14) = 0.0
- z(15) =-10.0
- z(16) =-10.0
-
-c Tetra #1
- x(17) = 0.0
- x(18) = 1.0
- x(19) = 10.0
- x(20) = 7.0
-
- y(17) = 0.0
- y(18) = 0.0
- y(19) = 0.0
- y(20) = 5.0
-
- z(17) = 0.0
- z(18) = 5.0
- z(19) = 2.0
- z(20) = 3.0
-
-c Wedge #1
- x(21) = 3.0
- x(22) = 6.0
- x(23) = 0.0
- x(24) = 3.0
- x(25) = 6.0
- x(26) = 0.0
-
- y(21) = 0.0
- y(22) = 0.0
- y(23) = 0.0
- y(24) = 2.0
- y(25) = 2.0
- y(26) = 2.0
-
- z(21) = 6.0
- z(22) = 0.0
- z(23) = 0.0
- z(24) = 6.0
- z(25) = 2.0
- z(26) = 0.0
-
- call expcor (exoid, x, y, z, ierr)
- write (iout, '("after expcor, error = ", i4)' ) ierr
-
-c Quad #1
- x2(1) = 0.0
- x2(2) = 1.0
- x2(3) = 1.0
- x2(4) = 0.0
-
- y2(1) = 0.0
- y2(2) = 0.0
- y2(3) = 1.0
- y2(4) = 1.0
-
- z2(1) = 0.0
- z2(2) = 0.0
- z2(3) = 0.0
- z2(4) = 0.0
-
-c Quad #2
- x2(5) = 1.0
- x2(6) = 2.0
- x2(7) = 2.0
- x2(8) = 1.0
-
- y2(5) = 0.0
- y2(6) = 0.0
- y2(7) = 1.0
- y2(8) = 1.0
-
- z2(5) = 0.0
- z2(6) = 0.0
- z2(7) = 0.0
- z2(8) = 0.0
-
-c Hex #1
- x2(9) = 0.0
- x2(10) = 10.0
- x2(11) = 10.0
- x2(12) = 1.0
- x2(13) = 1.0
- x2(14) = 10.0
- x2(15) = 10.0
- x2(16) = 1.0
-
- y2(9) = 0.0
- y2(10) = 0.0
- y2(11) = 0.0
- y2(12) = 0.0
- y2(13) = 10.0
- y2(14) = 10.0
- y2(15) = 10.0
- y2(16) = 10.0
-
- z2(9) = 0.0
- z2(10) = 0.0
- z2(11) =-10.0
- z2(12) =-10.0
- z2(13) = 0.0
- z2(14) = 0.0
- z2(15) =-10.0
- z2(16) =-10.0
-
-c Tetra #1
- x2(17) = 0.0
- x2(18) = 1.0
- x2(19) = 10.0
- x2(20) = 7.0
-
- y2(17) = 0.0
- y2(18) = 0.0
- y2(19) = 0.0
- y2(20) = 5.0
-
- z2(17) = 0.0
- z2(18) = 5.0
- z2(19) = 2.0
- z2(20) = 3.0
-
-c Wedge #1
- x2(21) = 3.0
- x2(22) = 6.0
- x2(23) = 0.0
- x2(24) = 3.0
- x2(25) = 6.0
- x2(26) = 0.0
-
- y2(21) = 0.0
- y2(22) = 0.0
- y2(23) = 0.0
- y2(24) = 2.0
- y2(25) = 2.0
- y2(26) = 2.0
-
- z2(21) = 6.0
- z2(22) = 0.0
- z2(23) = 0.0
- z2(24) = 6.0
- z2(25) = 2.0
- z2(26) = 0.0
-
-
- call expcor (exoid2, x2, y2, z2, ierr)
- write (iout, '("after expcor (2), error = ", i4)' ) ierr
-
- coord_names(1) = "xcoor"
- coord_names(2) = "ycoor"
- coord_names(3) = "zcoor"
-
- call expcon (exoid, coord_names, ierr)
- write (iout, '("after expcon, error = ", i4)' ) ierr
-
- coord_names2(1) = "xcoor"
- coord_names2(2) = "ycoor"
- coord_names2(3) = "zcoor"
-
- call expcon (exoid2, coord_names2, ierr)
- write (iout, '("after expcon (2), error = ", i4)' ) ierr
-
-
-c
-c write element order map
-c
-
- do 10 i = 1, num_elem
- elem_map(i) = i
-10 continue
-
- call expmap (exoid, elem_map, ierr)
- write (iout, '("after expmap, error = ", i4)' ) ierr
-
- do 12 i = 1, num_elem2
- elem_map2(i) = i
-12 continue
-
- call expmap (exoid2, elem_map2, ierr)
- write (iout, '("after expmap (2), error = ", i4)' ) ierr
-
-c
-c write element block parameters
-c
-
- num_elem_in_block(1) = 1
- num_elem_in_block(2) = 1
- num_elem_in_block(3) = 1
- num_elem_in_block(4) = 1
- num_elem_in_block(5) = 1
-
- num_nodes_per_elem(1) = 4
- num_nodes_per_elem(2) = 4
- num_nodes_per_elem(3) = 8
- num_nodes_per_elem(4) = 4
- num_nodes_per_elem(5) = 6
-
- ebids(1) = 10
- ebids(2) = 11
- ebids(3) = 12
- ebids(4) = 13
- ebids(5) = 14
-
- numattr(1) = 1
- numattr(2) = 1
- numattr(3) = 1
- numattr(4) = 1
- numattr(5) = 1
-
- cname = "quad"
-
- call expelb (exoid,ebids(1),cname,num_elem_in_block(1),
- 1 num_nodes_per_elem(1),numattr(1),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- call expelb (exoid,ebids(2),cname,num_elem_in_block(2),
- 1 num_nodes_per_elem(2),numattr(2),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- cname = "hex"
- call expelb (exoid,ebids(3),cname,num_elem_in_block(3),
- 1 num_nodes_per_elem(3),numattr(3),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- cname = "tetra"
- call expelb (exoid,ebids(4),cname,num_elem_in_block(4),
- 1 num_nodes_per_elem(4),numattr(4),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- cname = "wedge"
- call expelb (exoid,ebids(5),cname,num_elem_in_block(5),
- 1 num_nodes_per_elem(5),numattr(5),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- num_elem_in_block2(1) = 1
- num_elem_in_block2(2) = 1
- num_elem_in_block2(3) = 1
- num_elem_in_block2(4) = 1
- num_elem_in_block2(5) = 1
-
- num_nodes_per_elem2(1) = 4
- num_nodes_per_elem2(2) = 4
- num_nodes_per_elem2(3) = 8
- num_nodes_per_elem2(4) = 4
- num_nodes_per_elem2(5) = 6
-
- ebids2(1) = 10
- ebids2(2) = 11
- ebids2(3) = 12
- ebids2(4) = 13
- ebids2(5) = 14
-
- numattr2(1) = 1
- numattr2(2) = 1
- numattr2(3) = 1
- numattr2(4) = 1
- numattr2(5) = 1
-
- cname2 = "quad"
-
- call expelb(exoid2,ebids2(1),cname2,num_elem_in_block2(1),
- 1 num_nodes_per_elem2(1),numattr2(1),ierr)
- write (iout, '("after expelb (2), error = ", i4)' ) ierr
-
- call expelb(exoid2,ebids2(2),cname2,num_elem_in_block2(2),
- 1 num_nodes_per_elem2(2),numattr2(2),ierr)
- write (iout, '("after expelb (2), error = ", i4)' ) ierr
-
- cname2 = "hex"
- call expelb(exoid2,ebids2(3),cname2,num_elem_in_block2(3),
- 1 num_nodes_per_elem(3),numattr(3),ierr)
- write (iout, '("after expelb (2), error = ", i4)' ) ierr
-
- cname2 = "tetra"
- call expelb(exoid2,ebids2(4),cname2,num_elem_in_block2(4),
- 1 num_nodes_per_elem2(4),numattr2(4),ierr)
- write (iout, '("after expelb (2), error = ", i4)' ) ierr
-
- cname2 = "wedge"
- call expelb(exoid2,ebids2(5),cname2,num_elem_in_block2(5),
- 1 num_nodes_per_elem2(5),numattr2(5),ierr)
- write (iout, '("after expelb (2), error = ", i4)' ) ierr
-
-
-c write element block properties
-
- prop_names(1) = "MATL"
- prop_names(2) = "DENSITY"
- call exppn(exoid,EXEBLK,2,prop_names,ierr)
- write (iout, '("after exppn, error = ", i4)' ) ierr
-
- call expp(exoid, EXEBLK, ebids(1), "MATL", 10, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(2), "MATL", 20, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(3), "MATL", 30, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(4), "MATL", 40, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(5), "MATL", 50, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- call exppn(exoid2,EXEBLK,2,prop_names,ierr)
- write (iout, '("after exppn (2), error = ", i4)' ) ierr
-
- call expp(exoid2, EXEBLK, ebids(1), "MATL", 100, ierr)
- write (iout, '("after expp (2), error = ", i4)' ) ierr
- call expp(exoid2, EXEBLK, ebids(2), "MATL", 200, ierr)
- write (iout, '("after expp (2), error = ", i4)' ) ierr
- call expp(exoid2, EXEBLK, ebids(3), "MATL", 300, ierr)
- write (iout, '("after expp (2), error = ", i4)' ) ierr
- call expp(exoid2, EXEBLK, ebids(4), "MATL", 400, ierr)
- write (iout, '("after expp (2), error = ", i4)' ) ierr
- call expp(exoid2, EXEBLK, ebids(5), "MATL", 500, ierr)
- write (iout, '("after expp (2), error = ", i4)' ) ierr
-
-
-c
-c write element connectivity
-c
-
- connect(1) = 1
- connect(2) = 2
- connect(3) = 3
- connect(4) = 4
-
- call expelc (exoid, ebids(1), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 5
- connect(2) = 6
- connect(3) = 7
- connect(4) = 8
-
- call expelc (exoid, ebids(2), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 9
- connect(2) = 10
- connect(3) = 11
- connect(4) = 12
- connect(5) = 13
- connect(6) = 14
- connect(7) = 15
- connect(8) = 16
-
- call expelc (exoid, ebids(3), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 17
- connect(2) = 18
- connect(3) = 19
- connect(4) = 20
-
- call expelc (exoid, ebids(4), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 21
- connect(2) = 22
- connect(3) = 23
- connect(4) = 24
- connect(5) = 25
- connect(6) = 26
-
- call expelc (exoid, ebids(5), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect2(1) = 1
- connect2(2) = 2
- connect2(3) = 3
- connect2(4) = 4
-
- call expelc (exoid2, ebids2(1), connect2, ierr)
- write (iout, '("after expelc (2), error = ", i4)' ) ierr
-
- connect2(1) = 5
- connect2(2) = 6
- connect2(3) = 7
- connect2(4) = 8
-
- call expelc (exoid2, ebids2(2), connect2, ierr)
- write (iout, '("after expelc (2), error = ", i4)' ) ierr
-
- connect2(1) = 9
- connect2(2) = 10
- connect2(3) = 11
- connect2(4) = 12
- connect2(5) = 13
- connect2(6) = 14
- connect2(7) = 15
- connect2(8) = 16
-
- call expelc (exoid2, ebids2(3), connect2, ierr)
- write (iout, '("after expelc (2), error = ", i4)' ) ierr
-
- connect2(1) = 17
- connect2(2) = 18
- connect2(3) = 19
- connect2(4) = 20
-
- call expelc (exoid2, ebids2(4), connect2, ierr)
- write (iout, '("after expelc (2), error = ", i4)' ) ierr
-
- connect2(1) = 21
- connect2(2) = 22
- connect2(3) = 23
- connect2(4) = 24
- connect2(5) = 25
- connect2(6) = 26
-
- call expelc (exoid2, ebids2(5), connect2, ierr)
- write (iout, '("after expelc (2), error = ", i4)' ) ierr
-
-c
-c write element block attributes
-c
-
- attrib(1) = 3.14159
- call expeat (exoid, ebids(1), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- attrib(1) = 6.14159
- call expeat (exoid, ebids(2), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- call expeat (exoid, ebids(3), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- call expeat (exoid, ebids(4), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- call expeat (exoid, ebids(5), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
-
- attrib2(1) = 3.
- call expeat (exoid2, ebids2(1), attrib2, ierr)
- write (iout, '("after expeat (2), error = ", i4)' ) ierr
-
- attrib2(1) = 6.
- call expeat (exoid2, ebids2(2), attrib2, ierr)
- write (iout, '("after expeat (2), error = ", i4)' ) ierr
-
- call expeat (exoid2, ebids2(3), attrib2, ierr)
- write (iout, '("after expeat (2), error = ", i4)' ) ierr
-
- call expeat (exoid2, ebids2(4), attrib2, ierr)
- write (iout, '("after expeat (2), error = ", i4)' ) ierr
-
- call expeat (exoid2, ebids(5), attrib2, ierr)
- write (iout, '("after expeat (2), error = ", i4)' ) ierr
-
-
-c
-c write individual node sets
-c
-
- call expnp (exoid, 20, 5, 5, ierr)
- write (iout, '("after expnp, error = ", i4)' ) ierr
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
-
- call expns (exoid, 20, node_list, ierr)
- write (iout, '("after expns, error = ", i4)' ) ierr
- call expnsd (exoid, 20, dist_fact, ierr)
- write (iout, '("after expnsd, error = ", i4)' ) ierr
-
- call expnp (exoid, 21, 3, 3, ierr)
- write (iout, '("after expnp, error = ", i4)' ) ierr
-
- node_list(1) = 200
- node_list(2) = 201
- node_list(3) = 202
-
- dist_fact(1) = 1.1
- dist_fact(2) = 2.1
- dist_fact(3) = 3.1
-
- call expns (exoid, 21, node_list, ierr)
- write (iout, '("after expns, error = ", i4)' ) ierr
- call expnsd (exoid, 21, dist_fact, ierr)
- write (iout, '("after expnsd, error = ", i4)' ) ierr
-
- prop_names(1) = "FACE"
- call expp(exoid, EXNSET, 20, prop_names(1), 4, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- call expp(exoid, EXNSET, 21, prop_names(1), 5, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- prop_array(1) = 1000
- prop_array(2) = 2000
-
- prop_names(1) = "VELOCITY"
- call exppa(exoid, EXNSET, prop_names(1), prop_array, ierr)
- write (iout, '("after exppa, error = ", i4)' ) ierr
-
-C**** file 2
-
- call expnp (exoid2, 20, 5, 5, ierr)
- write (iout, '("after expnp (2), error = ", i4)' ) ierr
-
- node_list2(1) = 100
- node_list2(2) = 101
- node_list2(3) = 102
- node_list2(4) = 103
- node_list2(5) = 104
-
- dist_fact2(1) = 1.0
- dist_fact2(2) = 2.0
- dist_fact2(3) = 3.0
- dist_fact2(4) = 4.0
- dist_fact2(5) = 5.0
-
- call expns (exoid2, 20, node_list2, ierr)
- write (iout, '("after expns (2), error = ", i4)' ) ierr
- call expnsd (exoid2, 20, dist_fact2, ierr)
- write (iout, '("after expnsd (2), error = ", i4)' ) ierr
-
- call expnp (exoid2, 21, 3, 3, ierr)
- write (iout, '("after expnp (2), error = ", i4)' ) ierr
-
- node_list2(1) = 200
- node_list2(2) = 201
- node_list2(3) = 202
-
- dist_fact2(1) = 1.1
- dist_fact2(2) = 2.1
- dist_fact2(3) = 3.1
-
- call expns (exoid2, 21, node_list2, ierr)
- write (iout, '("after expns (2), error = ", i4)' ) ierr
- call expnsd (exoid2, 21, dist_fact2, ierr)
- write (iout, '("after expnsd (2), error = ", i4)' ) ierr
-
-c
-c write concatenated node sets; this produces the same information as
-c the above code which writes individual node sets
-c
-
- ids(1) = 20
- ids(2) = 21
-
- num_nodes_per_set(1) = 5
- num_nodes_per_set(2) = 3
-
- node_ind(1) = 1
- node_ind(2) = 6
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
- node_list(6) = 200
- node_list(7) = 201
- node_list(8) = 202
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
- dist_fact(6) = 1.1
- dist_fact(7) = 2.1
- dist_fact(8) = 3.1
-
-c call expcns (exoid, ids, num_nodes_per_set, node_ind, node_list,
-c 1 dist_fact, ierr)
-c write (iout, '("after expcns, error = ", i4)' ) ierr
-c
-
- prop_names(1) = "FACE"
- call expp(exoid2, EXNSET, 20, prop_names(1), 4, ierr)
- write (iout, '("after expp (2), error = ", i4)' ) ierr
-
- prop_names(1) = "FACE"
- call expp(exoid2, EXNSET, 21, prop_names(1), 5, ierr)
- write (iout, '("after expp (2), error = ", i4)' ) ierr
-
- prop_array(1) = 1000
- prop_array(2) = 2000
-
- prop_names(1) = "VELOCITY"
- call exppa(exoid2, EXNSET, prop_names(1), prop_array, ierr)
- write (iout, '("after exppa (2), error = ", i4)' ) ierr
-
-c write individual side sets
-c
-
-c side set #1 - quad
-
- elem_list(1) = 2
- elem_list(2) = 2
-
- side_list(1) = 4
- side_list(2) = 2
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
-
- call expsp (exoid, 30, 2, 4, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
-
- call expss (exoid, 30, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
-
- call expssd (exoid, 30, dist_fact, ierr)
- write (iout, '("after expssd, error = ", i4)' ) ierr
-
-c side set #2 - quad, spanning 2 elements
-
- elem_list(1) = 1
- elem_list(2) = 2
-
- side_list(1) = 2
- side_list(2) = 3
-
- dist_fact(1) = 31.0
- dist_fact(2) = 31.1
- dist_fact(3) = 31.2
- dist_fact(4) = 31.3
-
- call expsp (exoid, 31, 2, 4, ierr)
- write (iout, '("after expsp, error = ", i3)' ) ierr
-
- call expss (exoid, 31, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i3)' ) ierr
-
- call expssd (exoid, 31, dist_fact, ierr)
- write (iout, '("after expssd, error = ", i3)' ) ierr
-
-c side set #3 - hex
-
- elem_list(1) = 3
- elem_list(2) = 3
- elem_list(3) = 3
- elem_list(4) = 3
- elem_list(5) = 3
- elem_list(6) = 3
- elem_list(7) = 3
-
- side_list(1) = 5
- side_list(2) = 3
- side_list(3) = 3
- side_list(4) = 2
- side_list(5) = 4
- side_list(6) = 1
- side_list(7) = 6
-
- call expsp (exoid, 32, 7, 0, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
-
- call expss (exoid, 32, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
-
-c side set #4 - tetras
-
- elem_list(1) = 4
- elem_list(2) = 4
- elem_list(3) = 4
- elem_list(4) = 4
-
- side_list(1) = 1
- side_list(2) = 2
- side_list(3) = 3
- side_list(4) = 4
-
- call expsp (exoid, 33, 4, 0, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
-
- call expss (exoid, 33, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
-
-c side set #5 - wedges
-
- elem_list(1) = 5
- elem_list(2) = 5
- elem_list(3) = 5
- elem_list(4) = 5
- elem_list(5) = 5
-
- side_list(1) = 1
- side_list(2) = 2
- side_list(3) = 3
- side_list(4) = 4
- side_list(5) = 5
-
- call expsp (exoid, 34, 5, 0, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
-
- call expss (exoid, 34, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
-
-
-c side set #1 - quad
-
- elem_list2(1) = 2
- elem_list2(2) = 2
-
- side_list2(1) = 4
- side_list2(2) = 2
-
- dist_fact2(1) = 30.0
- dist_fact2(2) = 30.1
- dist_fact2(3) = 30.2
- dist_fact2(4) = 30.3
-
- call expsp (exoid2, 30, 2, 4, ierr)
- write (iout, '("after expsp (2), error = ", i4)' ) ierr
-
- call expss (exoid2, 30, elem_list2, side_list2, ierr)
- write (iout, '("after expss (2), error = ", i4)' ) ierr
-
- call expssd (exoid2, 30, dist_fact2, ierr)
- write (iout, '("after expssd (2), error = ", i4)' ) ierr
-
-c side set #2 - quad, spanning 2 elements
-
- elem_list2(1) = 1
- elem_list2(2) = 2
-
- side_list2(1) = 2
- side_list2(2) = 3
-
- dist_fact2(1) = 31.0
- dist_fact2(2) = 31.1
- dist_fact2(3) = 31.2
- dist_fact2(4) = 31.3
-
- call expsp (exoid2, 31, 2, 4, ierr)
- write (iout, '("after expsp (2), error = ", i3)' ) ierr
-
- call expss (exoid2, 31, elem_list2, side_list2, ierr)
- write (iout, '("after expss (2), error = ", i3)' ) ierr
-
- call expssd (exoid2, 31, dist_fact2, ierr)
- write (iout, '("after expssd (2), error = ", i3)' ) ierr
-
-c side set #3 - hex
-
- elem_list2(1) = 3
- elem_list2(2) = 3
- elem_list2(3) = 3
- elem_list2(4) = 3
- elem_list2(5) = 3
- elem_list2(6) = 3
- elem_list2(7) = 3
-
- side_list2(1) = 5
- side_list2(2) = 3
- side_list2(3) = 3
- side_list2(4) = 2
- side_list2(5) = 4
- side_list2(6) = 1
- side_list2(7) = 6
-
- call expsp (exoid2, 32, 7, 0, ierr)
- write (iout, '("after expsp (2), error = ", i4)' ) ierr
-
- call expss (exoid2, 32, elem_list2, side_list2, ierr)
- write (iout, '("after expss (2), error = ", i4)' ) ierr
-
-c side set #4 - tetras
-
- elem_list2(1) = 4
- elem_list2(2) = 4
- elem_list2(3) = 4
- elem_list2(4) = 4
-
- side_list2(1) = 1
- side_list2(2) = 2
- side_list2(3) = 3
- side_list2(4) = 4
-
- call expsp (exoid2, 33, 4, 0, ierr)
- write (iout, '("after expsp (2), error = ", i4)' ) ierr
-
- call expss (exoid2, 33, elem_list2, side_list2, ierr)
- write (iout, '("after expss (2), error = ", i4)' ) ierr
-
-c side set #5 - wedges
-
- elem_list2(1) = 5
- elem_list2(2) = 5
- elem_list2(3) = 5
- elem_list2(4) = 5
- elem_list2(5) = 5
-
- side_list2(1) = 1
- side_list2(2) = 2
- side_list2(3) = 3
- side_list2(4) = 4
- side_list2(5) = 5
-
- call expsp (exoid2, 34, 5, 0, ierr)
- write (iout, '("after expsp (2), error = ", i4)' ) ierr
-
- call expss (exoid2, 34, elem_list2, side_list2, ierr)
- write (iout, '("after expss (2), error = ", i4)' ) ierr
-
-c
-c write concatenated side sets; this produces the same information as
-c the above code which writes individual side sets
-c
- ids(1) = 30
- ids(2) = 31
- ids(3) = 32
- ids(4) = 33
- ids(5) = 34
-
-c side set #1
- node_list(1) = 8
- node_list(2) = 5
- node_list(3) = 6
- node_list(4) = 7
-
-c side set #2
- node_list(5) = 2
- node_list(6) = 3
- node_list(7) = 7
- node_list(8) = 8
-
-c side set #3
- node_list(9) = 9
- node_list(10) = 12
- node_list(11) = 11
- node_list(12) = 10
-
- node_list(13) = 11
- node_list(14) = 12
- node_list(15) = 16
- node_list(16) = 15
-
- node_list(17) = 16
- node_list(18) = 15
- node_list(19) = 11
- node_list(20) = 12
-
- node_list(21) = 10
- node_list(22) = 11
- node_list(23) = 15
- node_list(24) = 14
-
- node_list(25) = 13
- node_list(26) = 16
- node_list(27) = 12
- node_list(28) = 9
-
- node_list(29) = 14
- node_list(30) = 13
- node_list(31) = 9
- node_list(32) = 10
-
- node_list(33) = 16
- node_list(34) = 13
- node_list(35) = 14
- node_list(36) = 15
-
-c side set #4
- node_list(37) = 17
- node_list(38) = 18
- node_list(39) = 20
-
- node_list(40) = 18
- node_list(41) = 19
- node_list(42) = 20
-
- node_list(43) = 20
- node_list(44) = 19
- node_list(45) = 17
-
- node_list(46) = 19
- node_list(47) = 18
- node_list(48) = 17
-
-c side set #5
- node_list(49) = 25
- node_list(50) = 24
- node_list(51) = 21
- node_list(52) = 22
-
- node_list(53) = 26
- node_list(54) = 25
- node_list(55) = 22
- node_list(56) = 23
-
- node_list(57) = 26
- node_list(58) = 23
- node_list(59) = 21
- node_list(60) = 24
-
- node_list(61) = 23
- node_list(62) = 22
- node_list(63) = 21
-
- node_list(64) = 24
- node_list(65) = 25
- node_list(66) = 26
-
- num_elem_per_set(1) = 2
- num_elem_per_set(2) = 2
- num_elem_per_set(3) = 7
- num_elem_per_set(4) = 4
- num_elem_per_set(5) = 5
-
- num_nodes_per_set(1) = 4
- num_nodes_per_set(2) = 4
- num_nodes_per_set(3) = 28
- num_nodes_per_set(4) = 12
- num_nodes_per_set(5) = 20
-
- elem_ind(1) = 1
- elem_ind(2) = 3
- elem_ind(3) = 5
- elem_ind(4) = 12
- elem_ind(5) = 16
-
- node_ind(1) = 1
- node_ind(2) = 5
- node_ind(3) = 9
- node_ind(4) = 37
- node_ind(5) = 48
-
- elem_list(1) = 3
- elem_list(2) = 3
- elem_list(3) = 1
- elem_list(4) = 3
- elem_list(5) = 4
- elem_list(6) = 4
- elem_list(7) = 4
- elem_list(8) = 4
- elem_list(9) = 4
- elem_list(10) = 4
- elem_list(11) = 4
- elem_list(12) = 5
- elem_list(13) = 5
- elem_list(14) = 5
- elem_list(15) = 5
- elem_list(16) = 6
- elem_list(17) = 6
- elem_list(18) = 6
- elem_list(19) = 6
- elem_list(20) = 6
-
-c side_list(1) = 1
-c side_list(2) = 2
-c side_list(3) = 3
-c side_list(4) = 4
-
-
-c call excn2s(exoid, num_elem_per_set, num_nodes_per_set, elem_ind,
-c 1 node_ind, elem_list, node_list, side_list, ierr)
-c write (iout, '("after excn2s, error = ", i4)' ) ierr
-
- num_df_per_set(1) = 4
- num_df_per_set(2) = 4
- num_df_per_set(3) = 0
- num_df_per_set(4) = 0
- num_df_per_set(5) = 0
-
- df_ind(1) = 1
- df_ind(2) = 5
-
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
- dist_fact(5) = 31.0
- dist_fact(6) = 31.1
- dist_fact(7) = 31.2
- dist_fact(8) = 31.3
-
-c call expcss (exoid, ids, num_elem_per_set, num_df_per_set,
-c 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
-c 2 ierr)
-c write (iout, '("after expcss, error = ", i4)' ) ierr
-
-c call expcss (exoid2, ids, num_elem_per_set, num_df_per_set,
-c 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
-c 2 ierr)
-c write (iout, '("after expcss (2), error = ", i4)' ) ierr
-
- prop_names(1) = "COLOR"
- call expp(exoid, EXSSET, 30, prop_names(1), 100, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- call expp(exoid, EXSSET, 31, prop_names(1), 101, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
-
- prop_names(1) = "COLOR"
- call expp(exoid2, EXSSET, 30, prop_names(1), 100, ierr)
- write (iout, '("after expp (2), error = ", i4)' ) ierr
-
- call expp(exoid2, EXSSET, 31, prop_names(1), 101, ierr)
- write (iout, '("after expp (2), error = ", i4)' ) ierr
-
-
-c
-c write QA records
-c
-
- num_qa_rec = 2
-
- qa_record(1,1) = "TESTWT2 fortran version"
- qa_record(2,1) = "testwt2"
- qa_record(3,1) = "07/07/93"
- qa_record(4,1) = "15:41:33"
- qa_record(1,2) = "FASTQ"
- qa_record(2,2) = "fastq"
- qa_record(3,2) = "07/07/93"
- qa_record(4,2) = "16:41:33"
-
- call expqa (exoid, num_qa_rec, qa_record, ierr)
- write (iout, '("after expqa, error = ", i4)' ) ierr
-
- num_qa_rec2 = 2
-
- qa_record2(1,1) = "TESTWT2 fortran version"
- qa_record2(2,1) = "testwt2"
- qa_record2(3,1) = "07/07/93"
- qa_record2(4,1) = "15:41:33"
- qa_record2(1,2) = "FASTQ"
- qa_record2(2,2) = "fastq"
- qa_record2(3,2) = "07/07/93"
- qa_record2(4,2) = "16:41:33"
-
- call expqa (exoid2, num_qa_rec2, qa_record2, ierr)
- write (iout, '("after expqa (2), error = ", i4)' ) ierr
-
-
-c
-c write information records
-c
-
- num_info = 3
-
- inform(1) = "This is the first information record."
- inform(2) = "This is the second information record."
- inform(3) = "This is the third information record."
-
- call expinf (exoid, num_info, inform, ierr)
- write (iout, '("after expinf, error = ", i4)' ) ierr
-
- num_info2 = 3
-
- inform2(1) = "This is the first information record."
- inform2(2) = "This is the second information record."
- inform2(3) = "This is the third information record."
-
- call expinf (exoid2, num_info2, inform2, ierr)
- write (iout, '("after expinf (2), error = ", i4)' ) ierr
-
-
-c write results variables parameters and names
-
- num_glo_vars = 1
-
- var_names(1) = "glo_vars"
-
- call expvp (exoid, "g", num_glo_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "g", num_glo_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
- num_glo_vars2 = 1
-
- var_names2(1) = "glo_vars"
-
- call expvp (exoid2, "g", num_glo_vars2, ierr)
- write (iout, '("after expvp (2), error = ", i4)' ) ierr
- call expvan (exoid2, "g", num_glo_vars2, var_names2, ierr)
- write (iout, '("after expvan (2), error = ", i4)' ) ierr
-
-
- num_nod_vars = 2
-
- var_names(1) = "nod_var0"
- var_names(2) = "nod_var1"
-
- call expvp (exoid, "n", num_nod_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "n", num_nod_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
- num_nod_vars2 = 2
-
- var_names2(1) = "nod_var0"
- var_names2(2) = "nod_var1"
-
- call expvp (exoid2, "n", num_nod_vars2, ierr)
- write (iout, '("after expvp (2), error = ", i4)' ) ierr
- call expvan (exoid2, "n", num_nod_vars2, var_names2, ierr)
- write (iout, '("after expvan (2), error = ", i4)' ) ierr
-
-
- num_ele_vars = 3
-
- var_names(1) = "ele_var0"
- var_names(2) = "ele_var1"
- var_names(3) = "ele_var2"
-
- call expvp (exoid, "e", num_ele_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "e", num_ele_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
- num_ele_vars2 = 3
-
- var_names2(1) = "ele_var0"
- var_names2(2) = "ele_var1"
- var_names2(3) = "ele_var2"
-
- call expvp (exoid2, "e", num_ele_vars2, ierr)
- write (iout, '("after expvp (2), error = ", i4)' ) ierr
- call expvan (exoid2, "e", num_ele_vars2, var_names2, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
-c
-c write element variable truth table
-c
-
- k = 0
-
- do 30 i = 1,num_elem_blk
- do 20 j = 1,num_ele_vars
- truth_tab(j,i) = 1
-20 continue
-30 continue
-
- call exgebi (exoid, ebids, ierr)
- write (iout, '("after exgebi, error = ", i4)' ) ierr
- call exgebi (exoid2, ebids2, ierr)
- write (iout, '("after exgebi (2), error = ", i4)' ) ierr
- call expvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
- write (iout, '("after expvtt, error = ", i4)' ) ierr
- call expvtt (exoid2, num_elem_blk, num_ele_vars, truth_tab, ierr)
- write (iout, '("after expvtt, error = ", i4)' ) ierr
-
-c
-c for each time step, write the analysis results;
-c the code below fills the arrays glob_var_vals,
-c nodal_var_vals, and elem_var_vals with values for debugging purposes;
-c obviously the analysis code will populate these arrays
-c
-
- whole_time_step = 1
- num_time_steps = 10
-
- do 110 i = 1, num_time_steps
- time_value = real(i)/100
- time_value2 = real(i)/100
-c
-c write time value to regular file
-c
-
- call exptim (exoid, whole_time_step, time_value, ierr)
- write (iout, '("after exptim, error = ", i4)' ) ierr
-
- call exptim (exoid2, whole_time_step, time_value2, ierr)
- write (iout, '("after exptim (2), error = ", i4)' ) ierr
-
-c
-c write global variables
-c
-
- do 50 j = 1, num_glo_vars
- glob_var_vals(j) = real(j+1) * time_value
-50 continue
-
- call expgv (exoid, whole_time_step, num_glo_vars,
- 1 glob_var_vals, ierr)
- write (iout, '("after expgv, error = ", i4)' ) ierr
-
- call expgv (exoid2, whole_time_step, num_glo_vars,
- 1 glob_var_vals, ierr)
- write (iout, '("after expgv (2), error = ", i4)' ) ierr
-
-c
-c write nodal variables
-c
-
- do 70 k = 1, num_nod_vars
- do 60 j = 1, num_nodes
-
- nodal_var_vals(j) = real(k) + (real(j) * time_value)
-
-60 continue
-
- call expnv (exoid, whole_time_step, k, num_nodes,
- 1 nodal_var_vals, ierr)
- write (iout, '("after expnv, error = ", i4)' ) ierr
-
- call expnv (exoid2, whole_time_step, k, num_nodes,
- 1 nodal_var_vals, ierr)
- write (iout, '("after expnv (2), error = ", i4)' ) ierr
-
-70 continue
-
-c
-c write element variables
-c
-
- do 100 k = 1, num_ele_vars
- do 90 j = 1, num_elem_blk
- do 80 m = 1, num_elem_in_block(j)
-
- elem_var_vals(m) = real(k+1) + real(j+1) +
- 1 (real(m)*time_value)
-
-80 continue
-
- call expev (exoid, whole_time_step, k, ebids(j),
- 1 num_elem_in_block(j), elem_var_vals, ierr)
- write (iout, '("after expev, error = ", i4)' ) ierr
- call expev (exoid2, whole_time_step, k, ebids(j),
- 1 num_elem_in_block(j), elem_var_vals, ierr)
- write (iout, '("after expev (2), error = ", i4)' ) ierr
-
-90 continue
-100 continue
-
- whole_time_step = whole_time_step + 1
-
-c
-c update the data file; this should be done at the end of every time
-c step to ensure that no data is lost if the analysis dies
-c
- call exupda (exoid, ierr)
- write (iout, '("after exupda, error = ", i4)' ) ierr
- call exupda (exoid2, ierr)
- write (iout, '("after exupda (2), error = ", i4)' ) ierr
-
-110 continue
-
-c
-c close the EXODUS files
-c
- call exclos (exoid, ierr)
- write (iout, '("after exclos, error = ", i4)' ) ierr
-
- call exclos (exoid2, ierr)
- write (iout, '("after exclos (2), error = ", i4)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testwt3.f b/forbind/test/testwt3.f
deleted file mode 100644
index 0e052aa..0000000
--- a/forbind/test/testwt3.f
+++ /dev/null
@@ -1,594 +0,0 @@
- program testwt3
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database write routines. This test writes GENISIS (geometry)
-c data to the history file.
-c
-c 08/10/93 V.R. Yarberry - Updated for use with 2.01 API
-
- include 'exodus_app.inc'
-
- integer iin, iout
- integer exoid, exoidh, num_dim, num_nodes, num_elem, num_elem_blk
- integer num_elem_in_block(2), num_node_sets
- integer num_side_sets, error
- integer i, j, k, m, elem_map(2), connect(4)
- integer node_list(10), elem_list(10)
- integer ebids(2),ids(2), num_nodes_per_set(2), num_elem_per_set(1)
- integer node_ind(2), elem_ind(1), num_qa_rec, num_info
- integer num_his_vars, num_glo_vars, num_nod_vars, num_ele_vars
- integer truth_tab(3,2)
- integer hist_time_step, whole_time_step, num_time_steps
- integer cpu_word_size, io_word_size
-
- real hist_var_vals(10), glob_var_vals(10), nodal_var_vals(8)
- real time_value, elem_var_vals(20)
- real x(8), y(8), dummy(1)
- real attrib(1), dist_fact(8)
-
- character*(MXLNLN) title
- character*(MXSTLN) coord_names(3)
- character*(MXSTLN) cname
- character*(MXSTLN) var_names(3)
- character*(MXSTLN) qa_record(4,2)
- character*(MXLNLN) inform(3)
-
- logical whole
-
- data iin /5/, iout /6/
-
-c
-c create EXODUS II files
-c
- cpu_word_size = 4
- io_word_size = 4
-c
-c first create a "regular" file that contains everything except
-c history variable info
-c
- exoid = excre ("test.exo",
- 1 "r", EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,'("after excre for test.exo, id: ", i3)') exoid
- write (iout,'("after excre, error = ", i3)') ierr
-
-c
-c create a "history" file if you will output history variables
-c
- exoidh = excre ("testh.exo",
- 1 "h", EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,'("after excre for testh.exo, id: ", i3)') exoidh
- write (iout,'("after excre, error = ", i3)') ierr
-
-c
-c initialize file with parameters
-c
-
- title = "This is test 3 - genisis data in history file"
- num_dim = 2
- num_nodes = 8
- num_elem = 2
- num_elem_blk = 2
- num_node_sets = 2
- num_side_sets = 1
-
- call expini (exoid, title, num_dim, num_nodes,
- 1 num_elem, num_elem_blk, num_node_sets,
- 2 num_side_sets, ierr)
-
- write (iout, '("after expini, error = ", i3)' ) ierr
-
- call expini (exoidh, title, num_dim, num_nodes,
- 1 num_elem, num_elem_blk, num_node_sets,
- 2 num_side_sets, ierr)
-
- write (iout, '("after expini (h), error = ", i3)' ) ierr
-
-c
-c write nodal coordinates values and names to database
-c
-
- x(1) = 0.0
- x(2) = 1.0
- x(3) = 1.0
- x(4) = 0.0
- x(5) = 1.0
- x(6) = 2.0
- x(7) = 2.0
- x(8) = 1.0
- y(1) = 0.0
- y(2) = 0.0
- y(3) = 1.0
- y(4) = 1.0
- y(5) = 0.0
- y(6) = 0.0
- y(7) = 1.0
- y(8) = 1.0
-
- call expcor (exoid, x, y, dummy, ierr)
- write (iout, '("after expcor, error = ", i3)' ) ierr
-
- call expcor (exoidh, x, y, dummy, ierr)
- write (iout, '("after expcor (h), error = ", i3)' ) ierr
-
- coord_names(1) = "xcoorjun"
- coord_names(2) = "ycoorjun"
-
- call expcon (exoid, coord_names, ierr)
- write (iout, '("after expcon, error = ", i3)' ) ierr
-
- call expcon (exoidh, coord_names, ierr)
- write (iout, '("after expcon (h), error = ", i3)' ) ierr
-
-
-c
-c write element order map
-c
-
- do 10 i = 1, num_elem
- elem_map(i) = i
-10 continue
-
- call expmap (exoid, elem_map, ierr)
- write (iout, '("after expmap, error = ", i3)' ) ierr
-
- call expmap (exoidh, elem_map, ierr)
- write (iout, '("after expmap (h), error = ", i3)' ) ierr
-
-c
-c write element block parameters
-c
-
- num_elem_in_block(1) = 1
- num_elem_in_block(2) = 1
-
- ebids(1) = 10
- ebids(2) = 11
-
- cname = "quadjunk"
-
- call expelb (exoid, ebids(1), cname, num_elem_in_block(1),
- 1 4,1,ierr)
- write (iout, '("after expelb, error = ", i3)' ) ierr
-
- call expelb (exoid, ebids(2), cname, num_elem_in_block(2),
- 1 4,1,ierr)
- write (iout, '("after expelb, error = ", i3)' ) ierr
-
- call expelb (exoidh, ebids(1), cname, num_elem_in_block(1),
- 1 4,1,ierr)
- write (iout, '("after expelb (h), error = ", i3)' ) ierr
-
- call expelb (exoidh, ebids(2), cname, num_elem_in_block(2),
- 1 4,1,ierr)
- write (iout, '("after expelbi(h), error = ", i3)' ) ierr
-
-c
-c write element connectivity
-c
-
- connect(1) = 1
- connect(2) = 2
- connect(3) = 3
- connect(4) = 4
-
- call expelc (exoid, ebids(1), connect, ierr)
- write (iout, '("after expelc, error = ", i3)' ) ierr
-
- call expelc (exoidh, ebids(1), connect, ierr)
- write (iout, '("after expelci (h), error = ", i3)' ) ierr
-
- connect(1) = 5
- connect(2) = 6
- connect(3) = 7
- connect(4) = 8
-
- call expelc (exoid, ebids(2), connect, ierr)
- write (iout, '("after expelc, error = ", i3)' ) ierr
-
- call expelc (exoidh, ebids(2), connect, ierr)
- write (iout, '("after expelc (h), error = ", i3)' ) ierr
-
-c
-c write element block attributes
-c
-
- attrib(1) = 3.14159
- call expeat (exoid, ebids(1), attrib, ierr)
- write (iout, '("after expeat, error = ", i3)' ) ierr
-
- call expeat (exoidh, ebids(1), attrib, ierr)
- write (iout, '("after expeat (h), error = ", i3)' ) ierr
-
- attrib(1) = 6.14159
- call expeat (exoid, ebids(2), attrib, ierr)
- write (iout, '("after expeat, error = ", i3)' ) ierr
-
- call expeat (exoidh, ebids(2), attrib, ierr)
- write (iout, '("after expeat (h), error = ", i3)' ) ierr
-
-c
-c write individual node sets
-c
-
- call expnp (exoid, 20, 5, ierr)
- write (iout, '("after expnp, error = ", i3)' ) ierr
-
- call expnp (exoidh, 20, 5, ierr)
- write (iout, '("after expnp (h), error = ", i3)' ) ierr
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
-
- call expns (exoid, 20, node_list, dist_fact, ierr)
- write (iout, '("after expns, error = ", i3)' ) ierr
-
- call expns (exoidh, 20, node_list, dist_fact, ierr)
- write (iout, '("after expns (h), error = ", i3)' ) ierr
-
- call expnp (exoid, 21, 3, ierr)
- write (iout, '("after expnp, error = ", i3)' ) ierr
-
- call expnp (exoidh, 21, 3, ierr)
- write (iout, '("after expnp (h), error = ", i3)' ) ierr
-
- node_list(1) = 200
- node_list(2) = 201
- node_list(3) = 202
-
- dist_fact(1) = 1.1
- dist_fact(2) = 2.1
- dist_fact(3) = 3.1
-
- call expns (exoid, 21, node_list, dist_fact, ierr)
- write (iout, '("after expns, error = ", i3)' ) ierr
-
- call expns (exoidh, 21, node_list, dist_fact, ierr)
- write (iout, '("after expns (h), error = ", i3)' ) ierr
-
-c
-c write concatenated node sets; this produces the same information as
-c the above code which writes individual node sets
-c
-
-c ids(1) = 20
-c ids(2) = 21
-
-c num_nodes_per_set(1) = 5
-c num_nodes_per_set(2) = 3
-
-c node_ind(1) = 1
-c node_ind(2) = 6
-
-c node_list(1) = 100
-c node_list(2) = 101
-c node_list(3) = 102
-c node_list(4) = 103
-c node_list(5) = 104
-c node_list(6) = 200
-c node_list(7) = 201
-c node_list(8) = 202
-
-c dist_fact(1) = 1.0
-c dist_fact(2) = 2.0
-c dist_fact(3) = 3.0
-c dist_fact(4) = 4.0
-c dist_fact(5) = 5.0
-c dist_fact(6) = 1.1
-c dist_fact(7) = 2.1
-c dist_fact(8) = 3.1
-
-c call expcns (exoid, ids, num_nodes_per_set, node_ind, node_list,
-c 1 dist_fact, ierr)
-c write (iout, '("after expcns, error = ", i3)' ) ierr
-
-c
-c write individual side sets
-c
-
- call expsp (exoid, 30, 2, 4, ierr)
- write (iout, '("after expsp, error = ", i3)' ) ierr
-
- call expsp (exoidh, 30, 2, 4, ierr)
- write (iout, '("after expsp (h), error = ", i3)' ) ierr
-
- elem_list(1) = 1
- elem_list(2) = 2
-
- node_list(1) = 1
- node_list(2) = 2
- node_list(3) = 3
- node_list(4) = 4
-
- dist_fact(1) = 0.0
- dist_fact(2) = 0.0
- dist_fact(3) = 0.0
- dist_fact(4) = 0.0
-
- call expss (exoid, 30, elem_list, node_list, ierr)
- write (iout, '("after expss, error = ", i3)' ) ierr
-
- call expssd (exoid, 30, dist_fact, ierr)
- write (iout, '("after expssd, error = ", i3)' ) ierr
-
- call expss (exoidh, 30, elem_list, node_list, ierr)
- write (iout, '("after expss (h), error = ", i3)' ) ierr
-
- call expssd (exoidh, 30, dist_fact, ierr)
- write (iout, '("after expssd (h), error = ", i3)' ) ierr
-
-c
-c write concatenated side sets; this produces the same information as
-c the above code which writes individual side sets
-c
-
-c ids(1) = 30
-
-c num_elem_per_set(1) = 2
-
-c num_nodes_per_set(1) = 4
-
-c elem_ind(1) = 1
-
-c node_ind(1) = 1
-
-c elem_list(1) = 1
-c elem_list(2) = 2
-
-c node_list(1) = 1
-c node_list(2) = 2
-c node_list(3) = 3
-c node_list(4) = 4
-
-c dist_fact(1) = 0.0
-c dist_fact(2) = 0.0
-c dist_fact(3) = 0.0
-c dist_fact(4) = 0.0
-
-c call expcss (exoid, ids, num_elem_per_set, num_nodes_per_set,
-c 1 elem_ind, node_ind, elem_list, node_list, dist_fact,
-c 2 ierr)
-c write (iout, '("after expcss, error = ", i3)' ) ierr
-
-c
-c write QA records
-c
-
- num_qa_rec = 2
-
- qa_record(1,1) = "PRONTO2D"
- qa_record(2,1) = "pronto2d"
- qa_record(3,1) = "3/10/92"
- qa_record(4,1) = "15:41:33"
- qa_record(1,2) = "FASTQ"
- qa_record(2,2) = "fastq"
- qa_record(3,2) = "2/10/92"
- qa_record(4,2) = "11:41:33"
-
- call expqa (exoid, num_qa_rec, qa_record, ierr)
- write (iout, '("after expqa, error = ", i3)' ) ierr
-
- call expqa (exoidh, num_qa_rec, qa_record, ierr)
- write (iout, '("after expqa (h), error = ", i3)' ) ierr
-
-
-c
-c write information records
-c
-
- num_info = 3
-
- inform(1) = "This is the first information record."
- inform(2) = "This is the second information record."
- inform(3) = "This is the third information record."
-
- call expinf (exoid, num_info, inform, ierr)
- write (iout, '("after expinf, error = ", i3)' ) ierr
-
- call expinf (exoidh, num_info, inform, ierr)
- write (iout, '("after expinf (h), error = ", i3)' ) ierr
-
-
-c write results variables parameters and names
-
- num_his_vars = 1
-
- var_names(1) = "his_vars"
-
- call expvp (exoidh, "h", num_his_vars, ierr)
- write (iout, '("after expvp, error = ", i3)' ) ierr
- call expvan (exoidh, "h", num_his_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i3)' ) ierr
-
-
- num_glo_vars = 1
-
- var_names(1) = "glo_vars"
-
- call expvp (exoid, "g", num_glo_vars, ierr)
- write (iout, '("after expvp, error = ", i3)' ) ierr
- call expvan (exoid, "g", num_glo_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i3)' ) ierr
-
-
- num_nod_vars = 2
-
- var_names(1) = "nod_var0"
- var_names(2) = "nod_var1"
-
- call expvp (exoid, "n", num_nod_vars, ierr)
- write (iout, '("after expvp, error = ", i3)' ) ierr
- call expvan (exoid, "n", num_nod_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i3)' ) ierr
-
-
- num_ele_vars = 3
-
- var_names(1) = "ele_var0"
- var_names(2) = "ele_var1"
- var_names(3) = "ele_var2"
-
- call expvp (exoid, "e", num_ele_vars, ierr)
- write (iout, '("after expvp, error = ", i3)' ) ierr
- call expvan (exoid, "e", num_ele_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i3)' ) ierr
-
-c
-c write element variable truth table
-c
-
- k = 0
-
- do 30 i = 1,num_elem_blk
- do 20 j = 1,num_ele_vars
- truth_tab(j,i) = 1
-20 continue
-30 continue
-
- call exgebi (exoid, ebids, ierr)
- write (iout, '("after exgebi, error = ", i3)' ) ierr
- call expvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ebids,
- & ierr)
- write (iout, '("after expvtt, error = ", i3)' ) ierr
-
-c
-c for each time step, write the analysis results;
-c the code below fills the arrays hist_var_vals, glob_var_vals,
-c nodal_var_vals, and elem_var_vals with values for debugging purposes;
-c obviously the analysis code will populate these arrays
-c
-
- whole = .true.
- hist_time_step = 1
- whole_time_step = 1
- num_time_steps = 10
-
- do 110 i = 1, num_time_steps
- time_value = real(i)/100
-
-c
-c if history time step
-c
-
-c
-c write time value to history file
-c
-
- call exptim (exoidh, hist_time_step, time_value, ierr)
- write (iout, '("after exptim, error = ", i3)' ) ierr
-
-c
-c write history variables to history file
-c
-
- do 40 j = 1, num_his_vars
- hist_var_vals(j) = real(j+1) * time_value
-40 continue
-
- call exphv (exoidh, hist_time_step, num_his_vars,
- 1 hist_var_vals, ierr)
- write (iout, '("after exphv, error = ", i3)' ) ierr
-
- hist_time_step = hist_time_step + 1
-c
-c update the history file
-c
-
- call exupda (exoidh, ierr)
- write (iout, '("after exupda, error = ", i3)' ) ierr
-
-c
-c if whole time step
-c
-
- if (whole) then
-
-c
-c write time value to regular file
-c
-
- call exptim (exoid, whole_time_step, time_value, ierr)
- write (iout, '("after exptim, error = ", i3)' ) ierr
-
-c
-c write global variables
-c
-
- do 50 j = 1, num_glo_vars
- glob_var_vals(j) = real(j+1) * time_value
-50 continue
-
- call expgv (exoid, whole_time_step, num_glo_vars,
- 1 glob_var_vals, ierr)
- write (iout, '("after expgv, error = ", i3)' ) ierr
-
-c
-c write nodal variables
-c
-
- do 70 k = 1, num_nod_vars
- do 60 j = 1, num_nodes
-
- nodal_var_vals(j) = real(k) + (real(j) * time_value)
-
-60 continue
-
- call expnv (exoid, whole_time_step, k, num_nodes,
- 1 nodal_var_vals, ierr)
- write (iout, '("after expnv, error = ", i3)' ) ierr
-
-70 continue
-
-c
-c write element variables
-c
-
- do 100 k = 1, num_ele_vars
- do 90 j = 1, num_elem_blk
- do 80 m = 1, num_elem_in_block(j)
-
- elem_var_vals(m) = real(k+1) + real(j+1) +
- 1 (real(m)*time_value)
-
-80 continue
-
- call expev (exoid, whole_time_step, k, ebids(j),
- 1 num_elem_in_block(j), elem_var_vals, ierr)
- write (iout, '("after expev, error = ", i3)' ) ierr
-
-90 continue
-100 continue
-
- whole_time_step = whole_time_step + 1
-
-c
-c update the data file; this should be done at the end of every time
-c step to ensure that no data is lost if the analysis dies
-c
- call exupda (exoid, ierr)
- write (iout, '("after exupda, error = ", i3)' ) ierr
-
- endif
-
-110 continue
-
-c
-c close the EXODUS files
-c
- call exclos (exoid, ierr)
- write (iout, '("after exclos, error = ", i3)' ) ierr
-
- call exclos (exoidh, ierr)
- write (iout, '("after exclos, error = ", i3)' ) ierr
-
- stop
- end
-
diff --git a/forbind/test/testwt_nsid.f b/forbind/test/testwt_nsid.f
deleted file mode 100644
index 3d17fa3..0000000
--- a/forbind/test/testwt_nsid.f
+++ /dev/null
@@ -1,403 +0,0 @@
- program testwt
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database write routines.
-c
- include 'exodusII.inc'
-
- integer iin, iout
- integer exoid, num_dim,num_nodes,elem_map(5),num_elem,num_elem_blk
- integer num_elem_in_block(10), num_nodes_per_elem(10),numattr(10)
- integer num_node_sets, num_side_sets
- integer i, connect(37), nnpe(10)
- integer ebids(10)
- integer num_qa_rec, num_info
- integer cpu_word_size, io_word_size
-
- real x(100), y(100), z(100)
-
- character*(MXSTLN) coord_names(3)
- character*(MXSTLN) cname
- character*(MXSTLN) qa_record(4,2)
- character*(MXLNLN) inform(3)
-
- data iin /5/, iout /6/
-
- call exopts (EXABRT, ierr)
- write (iout,'("after exopts, error = ", i4)') ierr
- cpu_word_size = 0
- io_word_size = 0
-c
-c create EXODUS II files
-c
- exoid = excre ("test-nsided.exo",
- 1 EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,'("after excre for test-nsided.exo, id: ", i4)') exoid
- write (iout,'(" cpu word size: ",i4," io word size: ",i4)')
- 1 cpu_word_size, io_word_size
- write (iout,'("after excre, error = ", i4)') ierr
-c
-c initialize file with parameters
-c
- num_dim = 3
- num_nodes = 33
- num_elem = 7
- num_elem_blk = 1
- num_node_sets = 0
- num_side_sets = 0
-
- call expini (exoid, "This is a test", num_dim, num_nodes,
- 1 num_elem, num_elem_blk, num_node_sets,
- 2 num_side_sets, ierr)
-
- write (iout, '("after expini, error = ", i4)' ) ierr
-
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write nodal coordinates values and names to database
-c
-c Quad #1
- x(1) = 0.0
- x(2) = 1.0
- x(3) = 1.0
- x(4) = 0.0
-
- y(1) = 0.0
- y(2) = 0.0
- y(3) = 1.0
- y(4) = 1.0
-
- z(1) = 0.0
- z(2) = 0.0
- z(3) = 0.0
- z(4) = 0.0
-
-c Quad #2
- x(5) = 1.0
- x(6) = 2.0
- x(7) = 2.0
- x(8) = 1.0
-
- y(5) = 0.0
- y(6) = 0.0
- y(7) = 1.0
- y(8) = 1.0
-
- z(5) = 0.0
- z(6) = 0.0
- z(7) = 0.0
- z(8) = 0.0
-
-c Hex #1
- x(9) = 0.0
- x(10) = 10.0
- x(11) = 10.0
- x(12) = 1.0
- x(13) = 1.0
- x(14) = 10.0
- x(15) = 10.0
- x(16) = 1.0
-
- y(9) = 0.0
- y(10) = 0.0
- y(11) = 0.0
- y(12) = 0.0
- y(13) = 10.0
- y(14) = 10.0
- y(15) = 10.0
- y(16) = 10.0
-
- z(9) = 0.0
- z(10) = 0.0
- z(11) =-10.0
- z(12) =-10.0
- z(13) = 0.0
- z(14) = 0.0
- z(15) =-10.0
- z(16) =-10.0
-
-c Tetra #1
- x(17) = 0.0
- x(18) = 1.0
- x(19) = 10.0
- x(20) = 7.0
-
- y(17) = 0.0
- y(18) = 0.0
- y(19) = 0.0
- y(20) = 5.0
-
- z(17) = 0.0
- z(18) = 5.0
- z(19) = 2.0
- z(20) = 3.0
-
-c Wedge #1
- x(21) = 3.0
- x(22) = 6.0
- x(23) = 0.0
- x(24) = 3.0
- x(25) = 6.0
- x(26) = 0.0
-
- y(21) = 0.0
- y(22) = 0.0
- y(23) = 0.0
- y(24) = 2.0
- y(25) = 2.0
- y(26) = 2.0
-
- z(21) = 6.0
- z(22) = 0.0
- z(23) = 0.0
- z(24) = 6.0
- z(25) = 2.0
- z(26) = 0.0
-
-C Tetra #2
- x(27) = 2.7
- x(28) = 6.0
- x(29) = 5.7
- x(30) = 3.7
-
- y(27) = 1.7
- y(28) = 1.7
- y(29) = 1.7
- y(30) = 0.0
-
- z(27) = 2.7
- z(28) = 3.3
- z(29) = 1.7
- z(30) = 2.3
-
-C 3d Tri
- x(31) = 0.0
- x(32) = 10.0
- x(33) = 10.0
-
- y(31) = 0.0
- y(32) = 0.0
- y(33) = 10.0
-
- z(31) = 0.0
- z(32) = 0.0
- z(33) = 10.0
-
- call expcor (exoid, x, y, z, ierr)
- write (iout, '("after expcor, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- coord_names(1) = "xcoor"
- coord_names(2) = "ycoor"
- coord_names(3) = "zcoor"
-
- call expcon (exoid, coord_names, ierr)
- write (iout, '("after expcon, error = ", i4)' ) ierr
- call exupda(exoid,ierr)
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-
-c
-c write element order map
-c
-
- do 10 i = 1, num_elem
- elem_map(i) = i
-10 continue
-
- call expmap (exoid, elem_map, ierr)
- write (iout, '("after expmap, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write element block parameters
-c
-
- num_elem_in_block(1) = 7
-
- num_nodes_per_elem(1) = 37 ! This is total nodes per block
-
- ebids(1) = 10
-
- numattr(1) = 0
-
- cname = "nsided"
-
- call expelb (exoid,ebids(1),cname,num_elem_in_block(1),
- 1 num_nodes_per_elem(1),numattr(1),ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c
-c write element connectivity
-c
- connect( 1) = 1
- connect( 2) = 2
- connect( 3) = 3
- connect( 4) = 4
- nnpe(1) = 4
-
- connect( 5) = 5
- connect( 6) = 6
- connect( 7) = 7
- connect( 8) = 8
- nnpe(2) = 4
-
- connect( 9) = 9
- connect(10) = 10
- connect(11) = 11
- connect(12) = 12
- connect(13) = 13
- connect(14) = 14
- connect(15) = 15
- connect(16) = 16
- nnpe(3) = 8
-
- connect(17) = 17
- connect(18) = 18
- connect(19) = 19
- connect(20) = 20
- nnpe(4) = 4
-
- connect(21) = 21
- connect(22) = 22
- connect(23) = 23
- connect(24) = 24
- connect(25) = 25
- connect(26) = 26
- nnpe(5) = 6
-
- connect(27) = 17
- connect(28) = 18
- connect(29) = 19
- connect(30) = 20
- connect(31) = 27
- connect(32) = 28
- connect(33) = 30
- connect(34) = 29
- nnpe(6) = 8
-
- connect(35) = 31
- connect(36) = 32
- connect(37) = 33;
- nnpe(7) = 3
-
- call expelc (exoid, ebids(1), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
- call expecpp(exoid, EXEBLK, ebids(1), nnpe, ierr)
- write (iout, '("after expecpp, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-c
-c
-c write QA records
-c
-
- num_qa_rec = 2
-
- qa_record(1,1) = "TESTWT fortran version"
- qa_record(2,1) = "testwt"
- qa_record(3,1) = "07/07/93"
- qa_record(4,1) = "15:41:33"
- qa_record(1,2) = "FASTQ"
- qa_record(2,2) = "fastq"
- qa_record(3,2) = "07/07/93"
- qa_record(4,2) = "16:41:33"
-
- call expqa (exoid, num_qa_rec, qa_record, ierr)
- write (iout, '("after expqa, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-
-c
-c write information records
-c
-
- num_info = 3
-
- inform(1) = "This is the first information record."
- inform(2) = "This is the second information record."
- inform(3) = "This is the third information record."
-
- call expinf (exoid, num_info, inform, ierr)
- write (iout, '("after expinf, error = ", i4)' ) ierr
- if (ierr .ne. 0) then
- call exclos(exoid,ierr)
- call exit (0)
- endif
-
-c ... Define and write some coordinate frames
- call putfrm(exoid)
-
-c
-c close the EXODUS files
-c
- call exclos (exoid, ierr)
- write (iout, '("after exclos, error = ", i4)' ) ierr
-
- stop
- end
-
- subroutine putfrm(exoid)
- implicit none
- include 'exodusII.inc'
-
- integer exoid, ierr, i
- integer numfrm; ! Assumed to be 3 for remaining dimensions
- integer cfids(3), tags(3)
- real coord(27)
-
- numfrm = 3
-
- cfids(1) = 1
- cfids(2) = 11
- cfids(3) = 111
-
- tags(1) = EXCFREC
- tags(2) = EXCFCYL
- tags(3) = EXCFSPH
-
-! NOTE: These values may not be sensical; just used for testing.
- do i=0,2
- COORD(9*i+1) = i+0.1
- COORD(9*i+2) = i+0.2
- COORD(9*i+3) = i+0.3
- COORD(9*i+4) = i+0.4
- COORD(9*i+5) = i+0.5
- COORD(9*i+6) = i+0.6
- COORD(9*i+7) = i+0.7
- COORD(9*i+8) = i+0.8
- COORD(9*i+9) = i+0.9
- end do
-
- call expfrm(exoid, numfrm, cfids, coord, tags, ierr);
- write (6,'("after expfrm, error = ", i4)') ierr
-
- return
- end
diff --git a/forbind/test/testwtd.f b/forbind/test/testwtd.f
deleted file mode 100644
index 1e71c86..0000000
--- a/forbind/test/testwtd.f
+++ /dev/null
@@ -1,539 +0,0 @@
- program testwtd
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database write routines using double precision reals.
-c
-
-c history -
-c Original L.A. Schoof
-c 02/25/93 V.R. Yarberry - Added error checks for file creation.
-c 03/04/93 V.R. Yarberry - Fixed bug in expvtt test, ebids was not passed
-c 08/31/93 VRY - updated to match API version 2.00
-c
- include 'exodusII.inc'
-
- integer iin, iout
- integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
- integer num_elem_in_block(2), num_node_sets
- integer num_side_sets
- integer i, j, k, m, elem_map(2), connect(4)
- integer node_list(10), elem_list(10), side_list(10)
- integer ebids(2),ids(2), num_nodes_per_set(2), num_elem_per_set(2)
- integer num_df_per_set(2)
- integer df_ind(2), node_ind(2), elem_ind(2), num_qa_rec, num_info
- integer num_glo_vars, num_nod_vars, num_ele_vars
- integer truth_tab(3,2)
- integer whole_time_step, num_time_steps
- integer cpu_word_size, io_word_size
- integer prop_array(2)
-
- real*8 glob_var_vals(10), nodal_var_vals(8)
- real*8 time_value, elem_var_vals(20)
- real*8 x(8), y(8), dummy(1)
- real*8 attrib(1), dist_fact(8)
-
- character*(MXSTLN) coord_names(3)
- character*(MXSTLN) cname
- character*(MXSTLN) var_names(3)
- character*(MXSTLN) qa_record(4,2)
- character*(MXLNLN) inform(3)
- character*(MXSTLN) prop_names(2)
-
- logical whole
-
- data iin /5/, iout /6/
-
- cpu_word_size = 8
- io_word_size = 8
-c
-c create EXODUS II files
-c
- exoid = excre ("test.exo",
- 1 EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,'("after excre for test.exo,id: ",i4,", err=",i3)')
- 1 exoid, ierr
- write (iout,'(" cpu word size: ",i4," io word size: ",i4)')
- 1 cpu_word_size, io_word_size
- write (iout,'("after excre, error = ", i4)') ierr
-c
-c initialize file with parameters
-c
-
- num_dim = 2
- num_nodes = 8
- num_elem = 2
- num_elem_blk = 2
- num_node_sets = 2
- num_side_sets = 2
-
- call expini (exoid, "This is a test", num_dim, num_nodes,
- 1 num_elem, num_elem_blk, num_node_sets,
- 2 num_side_sets, ierr)
-
- write (iout, '("after expini, error = ", i4)' ) ierr
-
-c
-c write nodal coordinates values and names to database
-c
-
- x(1) = 0.0
- x(2) = 1.0
- x(3) = 1.0
- x(4) = 0.0
- x(5) = 1.0
- x(6) = 2.0
- x(7) = 2.0
- x(8) = 1.0
- y(1) = 0.0
- y(2) = 0.0
- y(3) = 1.0
- y(4) = 1.0
- y(5) = 0.0
- y(6) = 0.0
- y(7) = 1.0
- y(8) = 1.0
-
- call expcor (exoid, x, y, dummy, ierr)
- write (iout, '("after expcor, error = ", i4)' ) ierr
-
- coord_names(1) = "xcoor"
- coord_names(2) = "ycoor"
-
- call expcon (exoid, coord_names, ierr)
- write (iout, '("after expcon, error = ", i4)' ) ierr
-
-
-c
-c write element order map
-c
-
- do 10 i = 1, num_elem
- elem_map(i) = i
-10 continue
-
- call expmap (exoid, elem_map, ierr)
- write (iout, '("after expmap, error = ", i4)' ) ierr
-
-c
-c write element block parameters
-c
-
- num_elem_in_block(1) = 1
- num_elem_in_block(2) = 1
-
- ebids(1) = 10
- ebids(2) = 11
-
- cname = "quad"
-
- call expelb (exoid,ebids(1),cname,num_elem_in_block(1),4,1,ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- call expelb (exoid,ebids(2),cname,num_elem_in_block(2),4,1,ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
-c write element block properties
-
- prop_names(1) = "MATL"
- prop_names(2) = "DENSITY"
- call exppn(exoid,EXEBLK,2,prop_names,ierr)
- write (iout, '("after exppn, error = ", i4)' ) ierr
-
- call expp(exoid, EXEBLK, ebids(1), "MATL", 10, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(2), "MATL", 20, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
-c
-c write element connectivity
-c
-
- connect(1) = 1
- connect(2) = 2
- connect(3) = 3
- connect(4) = 4
-
- call expelc (exoid, ebids(1), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 5
- connect(2) = 6
- connect(3) = 7
- connect(4) = 8
-
- call expelc (exoid, ebids(2), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
-c
-c write element block attributes
-c
-
- attrib(1) = 3.14159
- call expeat (exoid, ebids(1), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- attrib(1) = 6.14159
- call expeat (exoid, ebids(2), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
-c
-c write individual node sets
-c
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
-
-c call expnp (exoid, 20, 5, 5, ierr)
-c write (iout, '("after expnp, error = ", i4)' ) ierr
-c call expns (exoid, 20, node_list, ierr)
-c write (iout, '("after expns, error = ", i4)' ) ierr
-c call expnsd (exoid, 20, dist_fact, ierr)
-c write (iout, '("after expnsd, error = ", i4)' ) ierr
-
- node_list(1) = 200
- node_list(2) = 201
- node_list(3) = 202
-
- dist_fact(1) = 1.1
- dist_fact(2) = 2.1
- dist_fact(3) = 3.1
-
-c call expnp (exoid, 21, 3, 3, ierr)
-c write (iout, '("after expnp, error = ", i4)' ) ierr
-c call expns (exoid, 21, node_list, ierr)
-c write (iout, '("after expns, error = ", i4)' ) ierr
-c call expnsd (exoid, 21, dist_fact, ierr)
-c write (iout, '("after expnsd, error = ", i4)' ) ierr
-
-c
-c write concatenated node sets; this produces the same information as
-c the above code which writes individual node sets
-c
-
- ids(1) = 20
- ids(2) = 21
-
- num_nodes_per_set(1) = 5
- num_nodes_per_set(2) = 3
-
- num_df_per_set(1) = 5
- num_df_per_set(2) = 3
-
- node_ind(1) = 1
- node_ind(2) = 6
-
- df_ind(1) = 1
- df_ind(2) = 6
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
- node_list(6) = 200
- node_list(7) = 201
- node_list(8) = 202
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
- dist_fact(6) = 1.1
- dist_fact(7) = 2.1
- dist_fact(8) = 3.1
-
- call expcns (exoid, ids, num_nodes_per_set, num_df_per_set,
- 1 node_ind, df_ind, node_list, dist_fact, ierr)
- write (iout, '("after expcns, error = ", i4)' ) ierr
-
-c write node set properties
-
- prop_names(1) = "FACE"
- call expp(exoid, EXNSET, 20, prop_names(1), 4, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- call expp(exoid, EXNSET, 21, prop_names(1), 5, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- prop_array(1) = 1000
- prop_array(2) = 2000
-
- prop_names(1) = "VELOCITY"
- call exppa(exoid, EXNSET, prop_names(1), prop_array, ierr)
- write (iout, '("after exppa, error = ", i4)' ) ierr
-
-c
-c write individual side sets
-c
-
- elem_list(1) = 11
- elem_list(2) = 12
-
- side_list(1) = 1
- side_list(2) = 2
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
-
-c call expsp (exoid, 30, 2, 4, ierr)
-c write (iout, '("after expsp, error = ", i4)' ) ierr
-
-c call expss (exoid, 30, elem_list, side_list, ierr)
-c write (iout, '("after expss, error = ", i4)' ) ierr
-
-c call expssd (exoid, 30, dist_fact, ierr)
-c write (iout, '("after expssd, error = ", i4)' ) ierr
-
- elem_list(1) = 13
- elem_list(2) = 14
-
- side_list(1) = 3
- side_list(2) = 4
-
- dist_fact(1) = 31.0
- dist_fact(2) = 31.1
- dist_fact(3) = 31.2
- dist_fact(4) = 31.3
-
-c call expsp (exoid, 31, 2, 4, ierr)
-c write (iout, '("after expsp, error = ", i4)' ) ierr
-
-c call expss (exoid, 31, elem_list, side_list, ierr)
-c write (iout, '("after expss, error = ", i4)' ) ierr
-
-c call expssd (exoid, 31, dist_fact, ierr)
-c write (iout, '("after expssd, error = ", i4)' ) ierr
-
-c write concatenated side sets; this produces the same information as
-c the above code which writes individual side sets
-c
-
- ids(1) = 30
- ids(2) = 31
-
- num_elem_per_set(1) = 2
- num_elem_per_set(2) = 2
-
- num_df_per_set(1) = 4
- num_df_per_set(2) = 4
-
- elem_ind(1) = 1
- elem_ind(2) = 3
-
- df_ind(1) = 1
- df_ind(2) = 5
-
- elem_list(1) = 11
- elem_list(2) = 12
- elem_list(3) = 13
- elem_list(4) = 14
-
- side_list(1) = 1
- side_list(2) = 2
- side_list(3) = 3
- side_list(4) = 4
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
- dist_fact(5) = 31.0
- dist_fact(6) = 31.1
- dist_fact(7) = 31.2
- dist_fact(8) = 31.3
-
- call expcss (exoid, ids, num_elem_per_set, num_df_per_set,
- 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
- 2 ierr)
- write (iout, '("after expcss, error = ", i4)' ) ierr
-
- prop_names(1) = "COLOR"
- call expp(exoid, EXSSET, 30, prop_names(1), 100, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- call expp(exoid, EXSSET, 31, prop_names(1), 101, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-c
-c
-c write QA records
-c
-
- num_qa_rec = 2
-
- qa_record(1,1) = "TESTWTD fortran version"
- qa_record(2,1) = "testwtd"
- qa_record(3,1) = "07/07/93"
- qa_record(4,1) = "15:41:33"
- qa_record(1,2) = "FASTQ"
- qa_record(2,2) = "fastq"
- qa_record(3,2) = "07/07/93"
- qa_record(4,2) = "16:41:33"
-
- call expqa (exoid, num_qa_rec, qa_record, ierr)
- write (iout, '("after expqa, error = ", i4)' ) ierr
-
-
-c
-c write information records
-c
-
- num_info = 3
-
- inform(1) = "This is the first information record."
- inform(2) = "This is the second information record."
- inform(3) = "This is the third information record."
-
- call expinf (exoid, num_info, inform, ierr)
- write (iout, '("after expinf, error = ", i4)' ) ierr
-
-
-c write results variables parameters and names
-
- num_glo_vars = 1
-
- var_names(1) = "glo_vars"
-
- call expvp (exoid, "g", num_glo_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "g", num_glo_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
-
- num_nod_vars = 2
-
- var_names(1) = "nod_var0"
- var_names(2) = "nod_var1"
-
- call expvp (exoid, "n", num_nod_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "n", num_nod_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
-
- num_ele_vars = 3
-
- var_names(1) = "ele_var0"
- var_names(2) = "ele_var1"
- var_names(3) = "ele_var2"
-
- call expvp (exoid, "e", num_ele_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "e", num_ele_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
-c
-c write element variable truth table
-c
-
- k = 0
-
- do 30 i = 1,num_elem_blk
- do 20 j = 1,num_ele_vars
- truth_tab(j,i) = 1
-20 continue
-30 continue
- call expvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
- write (iout, '("after expvtt, error = ", i4)' ) ierr
-
-c
-c for each time step, write the analysis results;
-c the code below fills the arrays hist_var_vals, glob_var_vals,
-c nodal_var_vals, and elem_var_vals with values for debugging purposes;
-c obviously the analysis code will populate these arrays
-c
-
- whole = .true.
- hist_time_step = 1
- whole_time_step = 1
- num_time_steps = 10
-
- do 110 i = 1, num_time_steps
- time_value = dble(i)/100
-c
-c write time value
-c
-
- call exptim (exoid, whole_time_step, time_value, ierr)
- write (iout, '("after exptim, error = ", i4)' ) ierr
-
-c
-c write global variables
-c
-
- do 50 j = 1, num_glo_vars
- glob_var_vals(j) = real(j+1) * time_value
-50 continue
-
- call expgv (exoid, whole_time_step, num_glo_vars,
- 1 glob_var_vals, ierr)
- write (iout, '("after expgv, error = ", i4)' ) ierr
-
-c
-c write nodal variables
-c
-
- do 70 k = 1, num_nod_vars
- do 60 j = 1, num_nodes
-
- nodal_var_vals(j) = real(k) + (real(j) * time_value)
-
-60 continue
-
- call expnv (exoid, whole_time_step, k, num_nodes,
- 1 nodal_var_vals, ierr)
- write (iout, '("after expnv, error = ", i4)' ) ierr
-
-70 continue
-
-c
-c write element variables
-c
-
- do 100 k = 1, num_ele_vars
- do 90 j = 1, num_elem_blk
- do 80 m = 1, num_elem_in_block(j)
-
- elem_var_vals(m) = real(k+1) + real(j+1) +
- 1 (real(m)*time_value)
-c write(iout,*)'elem_var_val(',m,'): ',elem_var_vals(m)
-
-80 continue
-
- call expev (exoid, whole_time_step, k, ebids(j),
- 1 num_elem_in_block(j), elem_var_vals, ierr)
- write (iout, '("after expev, error = ", i4)' ) ierr
-
-90 continue
-100 continue
-
- whole_time_step = whole_time_step + 1
-
-c
-c update the data file; this should be done at the end of every time
-c step to ensure that no data is lost if the analysis dies
-c
- call exupda (exoid, ierr)
- write (iout, '("after exupda, error = ", i4)' ) ierr
-
-110 continue
-
-c
-c close the EXODUS files
-c
- call exclos (exoid, ierr)
- write (iout, '("after exclos, error = ", i4)' ) ierr
-
- stop
- end
diff --git a/forbind/test/testwtm.f b/forbind/test/testwtm.f
deleted file mode 100644
index e59ad31..0000000
--- a/forbind/test/testwtm.f
+++ /dev/null
@@ -1,946 +0,0 @@
- program testwtm
-c
-c This is a test program for the Fortran binding of the EXODUS II
-c database write routines. It tests multiple simultaneous output files.
-c
-c 09/07/93 V.R. Yarberry - Revised for 2.00 API
-
- include 'exodusII.inc'
-
- integer iin, iout
- integer exoid, num_dim, num_nodes, num_elem, num_elem_blk
- integer exoidm(10),num_dim2,num_nodes2,num_elem2,num_elem_blk2
- integer num_elem_in_block(2), num_node_sets
- integer num_elem_in_block2(2), num_node_sets2
- integer num_side_sets
- integer num_side_sets2
- integer nexofiles
- integer i, j, k, m, elem_map(2), connect(4)
- integer elem_map2(2), connect2(4)
- integer node_list(10), elem_list(10), side_list(10)
- integer node_list2(10), elem_list2(10), side_list2(10)
- integer ebids(2),ids(2), num_nodes_per_set(2), num_elem_per_set(2)
- integer ebids2(2)
- integer num_df_per_set(2)
- integer df_ind(2), node_ind(2), elem_ind(2), num_qa_rec, num_info
- integer num_qa_rec2,num_info2
- integer num_glo_vars, num_nod_vars, num_ele_vars
- integer num_glo_vars2, num_nod_vars2, num_ele_vars2
- integer truth_tab(3,2)
- integer whole_time_step, num_time_steps
- integer cpu_word_size, io_word_size
- integer prop_array(2)
-
- real glob_var_vals(10), nodal_var_vals(8)
- real time_value, elem_var_vals(20)
- real time_value2
- real x(8), y(8), dummy(1)
- real x2(8), y2(8)
- real attrib(1), dist_fact(8)
- real attrib2(1), dist_fact2(8)
-
- character*(MXLNLN) title
- character*(MXLNLN) title2
- character*(MXSTLN) coord_names(3)
- character*(MXSTLN) coord_names2(3)
- character*(MXSTLN) cname
- character*(MXSTLN) cname2
- character*(MXSTLN) var_names(3)
- character*(MXSTLN) var_names2(3)
- character*(MXSTLN) qa_record(4,2)
- character*(MXSTLN) qa_record2(4,2)
- character*(MXLNLN) inform(3)
- character*(MXLNLN) inform2(3)
- character*(MXSTLN) prop_names(2)
- character*(MXSTLN) exofname
-
- data iin /5/, iout /6/, nexofiles /5/
-
-c
-c create EXODUS II files
-c
- cpu_word_size = 0
- io_word_size = 4
-c
- exoid = excre ("test.exo",
- 1 EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,'("after excre for test.exo,id: ",i4,", err=",i3)')
- 1 exoid, ierr
- write (iout,'(" cpu word size: ",i4," io word size: ",i4)')
- 1 cpu_word_size, io_word_size
- write (iout, '("after excre, error = ", i4)' ) ierr
-
- do 1000 i=1,nexofiles
- write(exofname,'("test",i1,".exo")')i
- exoidm(i)= excre (exofname,
- 1 EXCLOB, cpu_word_size, io_word_size, ierr)
- write (iout,
- 1 '("after excre for test",i1,".exo,id: ",i4,", err=",i3)')
- 2 i, exoidm(i), ierr
- write (iout, '("after excre (",i1,"), error = ", i4)' )
- 1 i, ierr
-1000 continue
-
-c
-c initialize file with parameters
-c
-
- title = "This is test m"
- num_dim = 2
- num_nodes = 8
- num_elem = 2
- num_elem_blk = 2
- num_node_sets = 2
- num_side_sets = 2
-
- call expini (exoid, title, num_dim, num_nodes,
- 1 num_elem, num_elem_blk, num_node_sets,
- 2 num_side_sets, ierr)
-
- write (iout, '("after expini, error = ", i4)' ) ierr
-
- title2 = "This is test m"
- num_dim2 = 2
- num_nodes2 = 8
- num_elem2 = 2
- num_elem_blk2 = 2
- num_node_sets2 = 2
- num_side_sets2 = 2
-
- do 1001 i=1,nexofiles
- call expini (exoidm(i), title2, num_dim2, num_nodes2,
- 1 num_elem2, num_elem_blk2, num_node_sets2,
- 2 num_side_sets2, ierr)
-
- write (iout, '("after expini (",i1,"), error = ", i4)' )
- 1 i, ierr
-1001 continue
-
-
-c
-c write nodal coordinates values and names to database
-c
-
- x(1) = 0.0
- x(2) = 1.0
- x(3) = 1.0
- x(4) = 0.0
- x(5) = 1.0
- x(6) = 2.0
- x(7) = 2.0
- x(8) = 1.0
- y(1) = 0.0
- y(2) = 0.0
- y(3) = 1.0
- y(4) = 1.0
- y(5) = 0.0
- y(6) = 0.0
- y(7) = 1.0
- y(8) = 1.0
-
- call expcor (exoid, x, y, dummy, ierr)
- write (iout, '("after expcor, error = ", i4)' ) ierr
-
- x2(1) = 0.0
- x2(2) = 1.0
- x2(3) = 1.0
- x2(4) = 0.0
- x2(5) = 1.0
- x2(6) = 2.0
- x2(7) = 2.0
- x2(8) = 1.0
- y2(1) = 0.0
- y2(2) = 0.0
- y2(3) = 1.0
- y2(4) = 1.0
- y2(5) = 0.0
- y2(6) = 0.0
- y2(7) = 1.0
- y2(8) = 1.0
-
- do 1002 i=1,nexofiles
- call expcor (exoidm(i), x2, y2, dummy, ierr)
- write (iout, '("after expcor (",i1,"), error = ", i4)')
- 1 i, ierr
-1002 continue
-
- coord_names(1) = "xcoor"
- coord_names(2) = "ycoor"
-
- call expcon (exoid, coord_names, ierr)
- write (iout, '("after expcon, error = ", i4)' ) ierr
-
- coord_names2(1) = "xcoor"
- coord_names2(2) = "ycoor"
-
- do 1003 i=1,nexofiles
- call expcon (exoidm(i), coord_names2, ierr)
- write (iout, '("after expcon (",i1,"), error = ", i4)')
- 1 i, ierr
-1003 continue
-
-
-c
-c write element order map
-c
-
- do 10 i = 1, num_elem
- elem_map(i) = i
-10 continue
-
- call expmap (exoid, elem_map, ierr)
- write (iout, '("after expmap, error = ", i4)' ) ierr
-
- do 12 i = 1, num_elem2
- elem_map2(i) = i
-12 continue
-
- do 1004 i=1,nexofiles
- call expmap (exoidm(i), elem_map2, ierr)
- write (iout, '("after expmap (",i1,"), error = ", i4)')
- 1 i, ierr
-1004 continue
-
-c
-c write element block parameters
-c
-
- num_elem_in_block(1) = 1
- num_elem_in_block(2) = 1
-
- ebids(1) = 10
- ebids(2) = 11
-
- cname = "quad"
-
- call expelb (exoid,ebids(1),cname,num_elem_in_block(1)
- 1 ,4,1,ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- call expelb (exoid,ebids(2),cname,num_elem_in_block(2),
- 1 4,1,ierr)
- write (iout, '("after expelb, error = ", i4)' ) ierr
-
- num_elem_in_block2(1) = 1
- num_elem_in_block2(2) = 1
-
- ebids2(1) = 10
- ebids2(2) = 11
-
- cname2 = "quad2"
-
- do 1005 i=1,nexofiles
- call expelb(exoidm(i),ebids2(1),cname2,num_elem_in_block2(1),
- 1 4,1,ierr)
- write (iout, '("after expelb (",i1,"), error = ", i4)')
- 1 i, ierr
-
- call expelb(exoidm(i),ebids2(2),cname2,num_elem_in_block2(2),
- 1 4,1,ierr)
- write (iout, '("after expelb (",i1,"), error = ", i4)')
- 1 i, ierr
-1005 continue
-
-c write element block properties
-
- prop_names(1) = "MATL"
- prop_names(2) = "DENSITY"
- call exppn(exoid,EXEBLK,2,prop_names,ierr)
- write (iout, '("after exppn, error = ", i4)' ) ierr
-
- call expp(exoid, EXEBLK, ebids(1), "MATL", 10, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
- call expp(exoid, EXEBLK, ebids(2), "MATL", 20, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- do 1006 i=1,nexofiles
- call exppn(exoidm(i),EXEBLK,2,prop_names,ierr)
- write (iout, '("after exppn (",i1,"), error = ", i4)')
- 1 i, ierr
-
- call expp(exoidm(i), EXEBLK, ebids(1), "MATL", 10, ierr)
- write (iout, '("after expp (",i1,"), error = ", i4)')
- 1 i, ierr
- call expp(exoidm(i), EXEBLK, ebids(2), "MATL", 20, ierr)
- write (iout, '("after expp (",i1,"), error = ", i4)')
- 1 i, ierr
-1006 continue
-
-c
-c write element connectivity
-c
-
- connect(1) = 1
- connect(2) = 2
- connect(3) = 3
- connect(4) = 4
-
- call expelc (exoid, ebids(1), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect(1) = 5
- connect(2) = 6
- connect(3) = 7
- connect(4) = 8
-
- call expelc (exoid, ebids(2), connect, ierr)
- write (iout, '("after expelc, error = ", i4)' ) ierr
-
- connect2(1) = 1
- connect2(2) = 2
- connect2(3) = 3
- connect2(4) = 4
-
- do 1007 i=1,nexofiles
- call expelc (exoidm(i), ebids2(1), connect2, ierr)
- write (iout, '("after expelc (",i1,"), error = ", i4)')
- 1 i, ierr
-1007 continue
-
- connect2(1) = 5
- connect2(2) = 6
- connect2(3) = 7
- connect2(4) = 8
-
- do 1008 i=1,nexofiles
- call expelc (exoidm(i), ebids2(2), connect2, ierr)
- write (iout, '("after expelc (",i1,"), error = ", i4)')
- 1 i, ierr
-1008 continue
-
-c
-c write element block attributes
-c
-
- attrib(1) = 3.14159
- call expeat (exoid, ebids(1), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- attrib(1) = 6.14159
- call expeat (exoid, ebids(2), attrib, ierr)
- write (iout, '("after expeat, error = ", i4)' ) ierr
-
- attrib2(1) = 3.
- do 1009 i=1,nexofiles
- call expeat (exoidm(i), ebids2(1), attrib2, ierr)
- write (iout, '("after expeat (",i1,"), error = ", i4)')
- 1 i, ierr
-1009 continue
-
- attrib2(1) = 6.
- do 1010 i=1,nexofiles
- call expeat (exoidm(i), ebids2(2), attrib2, ierr)
- write (iout, '("after expeat (",i1,"), error = ", i4)')
- 1 i, ierr
-1010 continue
-
-c
-c write individual node sets
-c
-
- call expnp (exoid, 20, 5, 5, ierr)
- write (iout, '("after expnp, error = ", i4)' ) ierr
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
-
- call expns (exoid, 20, node_list, ierr)
- write (iout, '("after expns, error = ", i4)' ) ierr
- call expnsd (exoid, 20, dist_fact, ierr)
- write (iout, '("after expnsd, error = ", i4)' ) ierr
-
- call expnp (exoid, 21, 3, 3, ierr)
- write (iout, '("after expnp, error = ", i4)' ) ierr
-
- node_list(1) = 200
- node_list(2) = 201
- node_list(3) = 202
-
- dist_fact(1) = 1.1
- dist_fact(2) = 2.1
- dist_fact(3) = 3.1
-
- call expns (exoid, 21, node_list, ierr)
- write (iout, '("after expns, error = ", i4)' ) ierr
- call expnsd (exoid, 21, dist_fact, ierr)
- write (iout, '("after expnsd, error = ", i4)' ) ierr
-
- prop_names(1) = "FACE"
- call expp(exoid, EXNSET, 20, prop_names(1), 4, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- call expp(exoid, EXNSET, 21, prop_names(1), 5, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- prop_array(1) = 1000
- prop_array(2) = 2000
-
- prop_names(1) = "VELOCITY"
- call exppa(exoid, EXNSET, prop_names(1), prop_array, ierr)
- write (iout, '("after exppa, error = ", i4)' ) ierr
-
-C**** file 2
-
- node_list2(1) = 2100
- node_list2(2) = 2101
- node_list2(3) = 2102
- node_list2(4) = 2103
- node_list2(5) = 2104
-
- dist_fact2(1) = 21.0
- dist_fact2(2) = 22.0
- dist_fact2(3) = 23.0
- dist_fact2(4) = 24.0
- dist_fact2(5) = 25.0
-
- do 1011 i=1,nexofiles
- call expnp (exoidm(i), 20, 5, 5, ierr)
- write (iout, '("after expnp (",i1,"), error = ", i4)')
- 1 i, ierr
-
- call expns (exoidm(i), 20, node_list, ierr)
- write (iout, '("after expns (",i1,"), error = ", i4)')
- 1 i, ierr
- call expnsd (exoidm(i), 20, dist_fact, ierr)
- write (iout, '("after expnsd (",i1,"), error = ", i4)')
- 1 i, ierr
-
- call expnp (exoidm(i), 21, 3, 3, ierr)
- write (iout, '("after expnp (",i1,"), error = ", i4)')
- 1 i, ierr
-1011 continue
-
- node_list2(1) = 2200
- node_list2(2) = 2201
- node_list2(3) = 2202
-
- dist_fact2(1) = 21.1
- dist_fact2(2) = 22.1
- dist_fact2(3) = 23.1
-
- do 1012 i=1,nexofiles
- call expns (exoidm(i), 21, node_list, ierr)
- write (iout, '("after expns (",i1,"), error = ", i4)')
- 1 i, ierr
- call expnsd (exoidm(i), 21, dist_fact, ierr)
- write (iout, '("after expnsd (",i1,"), error = ", i4)')
- 1 i, ierr
-1012 continue
-
-c
-c write concatenated node sets; this produces the same information as
-c the above code which writes individual node sets
-c
-
- ids(1) = 20
- ids(2) = 21
-
- num_nodes_per_set(1) = 5
- num_nodes_per_set(2) = 3
-
- node_ind(1) = 1
- node_ind(2) = 6
-
- node_list(1) = 100
- node_list(2) = 101
- node_list(3) = 102
- node_list(4) = 103
- node_list(5) = 104
- node_list(6) = 200
- node_list(7) = 201
- node_list(8) = 202
-
- dist_fact(1) = 1.0
- dist_fact(2) = 2.0
- dist_fact(3) = 3.0
- dist_fact(4) = 4.0
- dist_fact(5) = 5.0
- dist_fact(6) = 1.1
- dist_fact(7) = 2.1
- dist_fact(8) = 3.1
-
-c call expcns (exoid, ids, num_nodes_per_set, node_ind, node_list,
-c 1 dist_fact, ierr)
-c write (iout, '("after expcns, error = ", i4)' ) ierr
-c
-
- do 1013 i=1,nexofiles
- prop_names(1) = "FACE"
- call expp(exoidm(i), EXNSET, 20, prop_names(1), 4, ierr)
- write (iout, '("after expp (",i1,"), error = ", i4)')
- 1 i, ierr
-
- call expp(exoidm(i), EXNSET, 21, prop_names(1), 5, ierr)
- write (iout, '("after expp (",i1,"), error = ", i4)')
- 1 i, ierr
-
- prop_array(1) = 1000
- prop_array(2) = 2000
-
- prop_names(1) = "VELOCITY"
- call exppa(exoidm(i), EXNSET, prop_names(1), prop_array, ierr)
- write (iout, '("after exppa (",i1,"), error = ", i4)')
- 1 i, ierr
-1013 continue
-
-c write individual side sets
-c
-
- elem_list(1) = 11
- elem_list(2) = 12
-
- node_list(1) = 1
- node_list(2) = 2
- node_list(3) = 3
- node_list(4) = 4
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
-
- call expsp (exoid, 30, 2, 4, ierr)
- write (iout, '("after expsp, error = ", i4)' ) ierr
-
- call expss (exoid, 30, elem_list, node_list, ierr)
- write (iout, '("after expss, error = ", i4)' ) ierr
-
- call expssd (exoid, 30, dist_fact, ierr)
- write (iout, '("after expssd, error = ", i4)' ) ierr
-
- elem_list(1) = 13
- elem_list(2) = 14
-
- side_list(1) = 3
- side_list(2) = 4
-
- dist_fact(1) = 31.0
- dist_fact(2) = 31.1
- dist_fact(3) = 31.2
- dist_fact(4) = 31.3
-
- call expsp (exoid, 31, 2, 4, ierr)
- write (iout, '("after expsp, error = ", i3)' ) ierr
-
- call expss (exoid, 31, elem_list, side_list, ierr)
- write (iout, '("after expss, error = ", i3)' ) ierr
-
- call expssd (exoid, 31, dist_fact, ierr)
- write (iout, '("after expssd, error = ", i3)' ) ierr
-
-
- elem_list2(1) = 11
- elem_list2(2) = 12
-
- node_list2(1) = 1
- node_list2(2) = 2
- node_list2(3) = 3
- node_list2(4) = 4
-
- dist_fact2(1) = 1.1
- dist_fact2(2) = 2.1
- dist_fact2(3) = 3.1
- dist_fact2(4) = 4.1
-
- do 1014 i=1,nexofiles
- call expsp (exoidm(i), 30, 2, 4, ierr)
- write (iout, '("after expsp (",i1,"), error = ", i4)')
- 1 i, ierr
-
- call expss (exoidm(i), 30, elem_list2, node_list2, ierr)
- write (iout, '("after expss (",i1,"), error = ", i4)')
- 1 i, ierr
-
- call expssd (exoidm(i), 30, dist_fact2, ierr)
- write (iout, '("after expssd (",i1,"), error = ", i4)')
- 1 i, ierr
-1014 continue
-
- elem_list2(1) = 13
- elem_list2(2) = 14
-
- side_list2(1) = 3
- side_list2(2) = 4
-
- dist_fact2(1) = 31.0
- dist_fact2(2) = 31.1
- dist_fact2(3) = 31.2
- dist_fact2(4) = 31.3
-
- do 1015 i=1,nexofiles
- call expsp (exoidm(i), 31, 2, 4, ierr)
- write (iout, '("after expsp (",i1,"), error = ", i3)')
- 1 i, ierr
-
- call expss (exoidm(i), 31, elem_list2, side_list2, ierr)
- write (iout, '("after expss (",i1,"), error = ", i3)')
- 1 i, ierr
-
- call expssd (exoidm(i), 31, dist_fact2, ierr)
- write (iout, '("after expssd (",i1,"), error = ", i3)')
- 1 i, ierr
-1015 continue
-
-c
-c write concatenated side sets; this produces the same information as
-c the above code which writes individual side sets
-c
-
- ids(1) = 30
- ids(2) = 31
-
- num_elem_per_set(1) = 2
- num_elem_per_set(2) = 2
-
- num_df_per_set(1) = 4
- num_df_per_set(2) = 4
-
- elem_ind(1) = 1
- elem_ind(2) = 3
-
- df_ind(1) = 1
- df_ind(2) = 5
-
- elem_list(1) = 11
- elem_list(2) = 12
- elem_list(3) = 13
- elem_list(4) = 14
-
- side_list(1) = 1
- side_list(2) = 2
- side_list(3) = 3
- side_list(4) = 4
-
- dist_fact(1) = 30.0
- dist_fact(2) = 30.1
- dist_fact(3) = 30.2
- dist_fact(4) = 30.3
- dist_fact(5) = 31.0
- dist_fact(6) = 31.1
- dist_fact(7) = 31.2
- dist_fact(8) = 31.3
-
-c call expcss (exoid, ids, num_elem_per_set, num_df_per_set,
-c 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
-c 2 ierr)
-c write (iout, '("after expcss, error = ", i4)' ) ierr
-
-c call expcss (exoidm(i), ids, num_elem_per_set, num_df_per_set,
-c 1 elem_ind, df_ind, elem_list, side_list, dist_fact,
-c 2 ierr)
-c write (iout, '("after expcss (",i1,"), error = ", i4)' ) ierr
-
- prop_names(1) = "COLOR"
- call expp(exoid, EXSSET, 30, prop_names(1), 100, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
- call expp(exoid, EXSSET, 31, prop_names(1), 101, ierr)
- write (iout, '("after expp, error = ", i4)' ) ierr
-
-
- do 1016 i=1,nexofiles
- prop_names(1) = "COLOR"
- call expp(exoidm(i), EXSSET, 30, prop_names(1), 100, ierr)
- write (iout, '("after expp (",i1,"), error = ", i4)')
- 1 i, ierr
-
- call expp(exoidm(i), EXSSET, 31, prop_names(1), 101, ierr)
- write (iout, '("after expp (",i1,"), error = ", i4)')
- 1 i, ierr
-1016 continue
-
-
-c
-c write QA records
-c
-
- num_qa_rec = 2
-
- qa_record(1,1) = "TESTWTM fortran version"
- qa_record(2,1) = "testwtm"
- qa_record(3,1) = "07/07/93"
- qa_record(4,1) = "15:41:33"
- qa_record(1,2) = "FASTQ"
- qa_record(2,2) = "fastq"
- qa_record(3,2) = "07/07/93"
- qa_record(4,2) = "16:41:33"
-
- call expqa (exoid, num_qa_rec, qa_record, ierr)
- write (iout, '("after expqa, error = ", i4)' ) ierr
-
- num_qa_rec2 = 2
-
- qa_record2(1,1) = "TESTWTM fortran version"
- qa_record2(2,1) = "testwtm"
- qa_record2(3,1) = "07/07/93"
- qa_record2(4,1) = "15:41:33"
- qa_record2(1,2) = "FASTQ"
- qa_record2(2,2) = "fastq"
- qa_record2(3,2) = "07/07/93"
- qa_record2(4,2) = "16:41:33"
-
- do 1017 i=1,nexofiles
- call expqa (exoidm(i), num_qa_rec2, qa_record2, ierr)
- write (iout, '("after expqa (",i1,"), error = ", i4)')
- 1 i, ierr
-1017 continue
-
-
-c
-c write information records
-c
-
- num_info = 3
-
- inform(1) = "This is the first information record."
- inform(2) = "This is the second information record."
- inform(3) = "This is the third information record."
-
- call expinf (exoid, num_info, inform, ierr)
- write (iout, '("after expinf, error = ", i4)' ) ierr
-
- num_info2 = 3
-
- inform2(1) = "This is the first info record."
- inform2(2) = "This is the second info record."
- inform2(3) = "This is the third info record."
-
- do 1018 i=1,nexofiles
- call expinf (exoidm(i), num_info2, inform2, ierr)
- write (iout, '("after expinf (",i1,"), error = ", i4)')
- 1 i, ierr
-1018 continue
-
-c write results variables parameters and names
-
- num_glo_vars = 1
-
- var_names(1) = "glo_vars"
-
- call expvp (exoid, "g", num_glo_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "g", num_glo_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
- num_glo_vars2 = 1
-
- var_names2(1) = "glovars2"
-
- do 1019 i=1,nexofiles
- call expvp (exoidm(i), "g", num_glo_vars2, ierr)
- write (iout, '("after expvp (",i1,"), error = ", i4)')
- 1 i, ierr
- call expvan (exoidm(i), "g", num_glo_vars2, var_names2, ierr)
- write (iout, '("after expvan (",i1,"), error = ", i4)')
- 1 i, ierr
-1019 continue
-
- num_nod_vars = 2
-
- var_names(1) = "nod_var0"
- var_names(2) = "nod_var1"
-
- call expvp (exoid, "n", num_nod_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "n", num_nod_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
- num_nod_vars2 = 2
-
- var_names2(1) = "nodvar20"
- var_names2(2) = "nodvar21"
-
- do 1020 i=1,nexofiles
- call expvp (exoidm(i), "n", num_nod_vars2, ierr)
- write (iout, '("after expvp (",i1,"), error = ", i4)')
- 1 i, ierr
- call expvan (exoidm(i), "n", num_nod_vars2, var_names2, ierr)
- write (iout, '("after expvan (",i1,"), error = ", i4)')
- 1 i, ierr
-1020 continue
-
- num_ele_vars = 3
-
- var_names(1) = "ele_var0"
- var_names(2) = "ele_var1"
- var_names(3) = "ele_var2"
-
- call expvp (exoid, "e", num_ele_vars, ierr)
- write (iout, '("after expvp, error = ", i4)' ) ierr
- call expvan (exoid, "e", num_ele_vars, var_names, ierr)
- write (iout, '("after expvan, error = ", i4)' ) ierr
-
- num_ele_vars2 = 3
-
- var_names2(1) = "elevar20"
- var_names2(2) = "elevar21"
- var_names2(3) = "elevar22"
-
- do 1021 i=1,nexofiles
- call expvp (exoidm(i), "e", num_ele_vars2, ierr)
- write (iout, '("after expvp (",i1,"), error = ", i4)')
- 1 i, ierr
- call expvan (exoidm(i), "e", num_ele_vars2, var_names2, ierr)
- write (iout, '("after expvan (",i1,"), error = ", i4)')
- 1 i, ierr
-1021 continue
-c
-c write element variable truth table
-c
-
- k = 0
-
- do 30 i = 1,num_elem_blk
- do 20 j = 1,num_ele_vars
- truth_tab(j,i) = 1
-20 continue
-30 continue
-
- call exgebi (exoid, ebids, ierr)
- write (iout, '("after exgebi, error = ", i4)' ) ierr
- call expvtt (exoid, num_elem_blk, num_ele_vars, truth_tab, ierr)
- write (iout, '("after expvtt, error = ", i4)' ) ierr
-
- do 1022 i=1,nexofiles
- call exgebi (exoidm(i), ebids2, ierr)
- write (iout, '("after exgebi (",i1,"), error = ", i4)')
- 1 i, ierr
- call expvtt (exoidm(i),num_elem_blk,num_ele_vars,truth_tab,ierr)
- write (iout, '("after expvtt (",i1,"), error = ", i4)')
- 1 i, ierr
-1022 continue
-c
-c for each time step, write the analysis results;
-c the code below fills the arrays glob_var_vals,
-c nodal_var_vals, and elem_var_vals with values for debugging purposes;
-c obviously the analysis code will populate these arrays
-c
-
- whole_time_step = 1
- num_time_steps = 10
-
- do 110 iii = 1, num_time_steps
- time_value = real(iii)/100
- time_value2 = real(iii)/100
-c
-c write time value to regular file
-c
-
- call exptim (exoid, whole_time_step, time_value, ierr)
- write (iout, '("after exptim, error = ", i4)' ) ierr
-
- do 1023 i=1,nexofiles
- call exptim (exoidm(i), whole_time_step, time_value2, ierr)
- write (iout, '("after exptim (",i1,"), error = ", i4)')
- 1 i, ierr
-1023 continue
-
-c
-c write global variables
-c
-
- do 50 j = 1, num_glo_vars
- glob_var_vals(j) = real(j+1) * time_value
-50 continue
-
- call expgv (exoid, whole_time_step, num_glo_vars,
- 1 glob_var_vals, ierr)
- write (iout, '("after expgv, error = ", i4)' ) ierr
-
- do 1024 i=1,nexofiles
- call expgv (exoidm(i), whole_time_step, num_glo_vars,
- 1 glob_var_vals, ierr)
- write (iout, '("after expgv (",i1,"), error = ", i4)')
- 1 i, ierr
-1024 continue
-
-c
-c write nodal variables
-c
-
- do 70 k = 1, num_nod_vars
- do 60 j = 1, num_nodes
-
- nodal_var_vals(j) = real(k) + (real(j) * time_value)
-
-60 continue
-
- call expnv (exoid, whole_time_step, k, num_nodes,
- 1 nodal_var_vals, ierr)
- write (iout, '("after expnv, error = ", i4)' ) ierr
-
- do 1025 i=1,nexofiles
- call expnv (exoidm(i), whole_time_step, k, num_nodes,
- 1 nodal_var_vals, ierr)
- write (iout, '("after expnv (",i1,"), error = ", i4)')
- 1 i, ierr
-1025 continue
-
-70 continue
-
-c
-c write element variables
-c
-
- do 100 k = 1, num_ele_vars
- do 90 j = 1, num_elem_blk
- do 80 m = 1, num_elem_in_block(j)
-
- elem_var_vals(m) = real(k+1) + real(j+1) +
- 1 (real(m)*time_value)
-
-80 continue
-
- call expev (exoid, whole_time_step, k, ebids(j),
- 1 num_elem_in_block(j), elem_var_vals, ierr)
- write (iout, '("after expev, error = ", i4)' ) ierr
- do 1026 i=1,nexofiles
- call expev (exoidm(i), whole_time_step, k, ebids(j),
- 1 num_elem_in_block(j), elem_var_vals, ierr)
- write (iout, '("after expev (",i1,"), error = ", i4)')
- 1 i, ierr
-1026 continue
-
-90 continue
-100 continue
-
- whole_time_step = whole_time_step + 1
-
-c
-c update the data file; this should be done at the end of every time
-c step to ensure that no data is lost if the analysis dies
-c
- call exupda (exoid, ierr)
- write (iout, '("after exupda, error = ", i4)' ) ierr
- do 1027 i=1,nexofiles
- call exupda (exoidm(i), ierr)
- write (iout, '("after exupda (",i1,"), error = ", i4)')
- 1 i, ierr
-1027 continue
-
-110 continue
-
-c
-c close the EXODUS files
-c
- call exclos (exoid, ierr)
- write (iout, '("after exclos, error = ", i4)' ) ierr
-
- do 1028 i=1,nexofiles
- call exclos (exoidm(i), ierr)
- write (iout, '("after exclos (",i1,"), error = ", i4)')
- 1 i, ierr
-1028 continue
-
- stop
- end
-
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/exodus.git
More information about the debian-science-commits
mailing list