ExodusII
5.15
|
00001 /* 00002 * Copyright (c) 2005 Sandia Corporation. Under the terms of Contract 00003 * DE-AC04-94AL85000 with Sandia Corporation, the U.S. Governement 00004 * retains certain rights in this software. 00005 * 00006 * Redistribution and use in source and binary forms, with or without 00007 * modification, are permitted provided that the following conditions 00008 * are met: 00009 * 00010 * * Redistributions of source code must retain the above copyright 00011 * notice, this list of conditions and the following disclaimer. 00012 * 00013 * * Redistributions in binary form must reproduce the above 00014 * copyright notice, this list of conditions and the following 00015 * disclaimer in the documentation and/or other materials provided 00016 * with the distribution. 00017 * 00018 * * Neither the name of Sandia Corporation nor the names of its 00019 * contributors may be used to endorse or promote products derived 00020 * from this software without specific prior written permission. 00021 * 00022 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00023 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00024 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 00025 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 00026 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 00027 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00028 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00029 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 00030 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 00031 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 00032 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 00033 * OF THE POSSIBILITY OF SUCH DAMAGE. 00034 * 00035 */ 00036 00037 /***************************************************************************** 00038 * 00039 * exodusII.h - Exodus II API include file 00040 * 00041 *****************************************************************************/ 00042 00043 #ifndef EXODUS_II_HDR 00044 #define EXODUS_II_HDR 00045 00046 #include "netcdf.h" 00047 #include <stddef.h> 00048 #include <stdlib.h> 00049 #include <stdint.h> 00050 00051 #ifndef NC_INT64 00052 #error "NetCDF version 4.1.2 or later is required." 00053 #endif 00054 00055 /* EXODUS II version number */ 00056 #define EX_API_VERS 5.22f 00057 #define EX_API_VERS_NODOT 522 00058 #define EX_VERS EX_API_VERS 00059 #define NEMESIS_API_VERSION EX_API_VERS 00060 #define NEMESIS_API_VERSION_NODOT EX_API_VERS_NODOT 00061 #define NEMESIS_FILE_VERSION 2.6 00062 00063 /* 00064 * need following extern if this include file is used in a C++ 00065 * program, to keep the C++ compiler from mangling the function names. 00066 */ 00067 #ifdef __cplusplus 00068 extern "C" { 00069 #endif 00070 00071 /* 00072 * The following are miscellaneous constants used in the EXODUS II 00073 * API. They should already be defined, but are left over from the 00074 * old days... 00075 */ 00076 #ifndef TRUE 00077 #define TRUE -1 00078 #endif 00079 00080 #ifndef FALSE 00081 #define FALSE 0 00082 #endif 00083 00084 /** 00085 * \defgroup FileVars Variables controlling the file creation mode. 00086 *@{ 00087 */ 00088 /* Modes for ex_open */ 00089 #define EX_READ 0x0000 /**< ex_open(): open file for reading (default) */ 00090 #define EX_WRITE 0x0001 /**< ex_open(): open existing file for appending. */ 00091 00092 #define EX_NOCLOBBER 0x0004 /**< Don't overwrite existing database, default */ 00093 #define EX_CLOBBER 0x0008 /**< Overwrite existing database if it exists */ 00094 #define EX_NORMAL_MODEL 0x0010 /**< disable mods that permit storage of larger models */ 00095 #define EX_LARGE_MODEL 0x0020 /**< enable mods that permit storage of larger models */ 00096 #define EX_NETCDF4 0x0040 /**< use the hdf5-based netcdf4 output */ 00097 #define EX_NOSHARE 0x0080 /**< Do not open netcdf file in "share" mode */ 00098 #define EX_SHARE 0x0100 /**< Do open netcdf file in "share" mode */ 00099 #define EX_NOCLASSIC 0x0200 /**< Do not force netcdf to classic mode in netcdf4 mode */ 00100 00101 /* Need to distinguish between storage on database (DB in name) and 00102 passed through the API functions (API in name). 00103 */ 00104 #define EX_MAPS_INT64_DB 0x0400 /**< All maps (id, order, ...) store int64_t values */ 00105 #define EX_IDS_INT64_DB 0x0800 /**< All entity ids (sets, blocks, maps) are int64_t values */ 00106 #define EX_BULK_INT64_DB 0x1000 /**< All integer bulk data (local indices, counts, maps); not ids */ 00107 #define EX_ALL_INT64_DB (EX_MAPS_INT64_DB|EX_IDS_INT64_DB|EX_BULK_INT64_DB) /**< All of the above... */ 00108 00109 #define EX_MAPS_INT64_API 0x2000 /**< All maps (id, order, ...) store int64_t values */ 00110 #define EX_IDS_INT64_API 0x4000 /**< All entity ids (sets, blocks, maps) are int64_t values */ 00111 #define EX_BULK_INT64_API 0x8000 /**< All integer bulk data (local indices, counts, maps); not ids */ 00112 #define EX_INQ_INT64_API 0x10000 /**< Integers passed to/from ex_inquire are int64_t */ 00113 #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... */ 00114 00115 /*@}*/ 00116 00117 /*! \sa ex_inquire() */ 00118 enum ex_inquiry { 00119 EX_INQ_FILE_TYPE = 1, /**< inquire EXODUS II file type*/ 00120 EX_INQ_API_VERS = 2, /**< inquire API version number */ 00121 EX_INQ_DB_VERS = 3, /**< inquire database version number */ 00122 EX_INQ_TITLE = 4, /**< inquire database title */ 00123 EX_INQ_DIM = 5, /**< inquire number of dimensions */ 00124 EX_INQ_NODES = 6, /**< inquire number of nodes */ 00125 EX_INQ_ELEM = 7, /**< inquire number of elements */ 00126 EX_INQ_ELEM_BLK = 8, /**< inquire number of element blocks */ 00127 EX_INQ_NODE_SETS = 9, /**< inquire number of node sets*/ 00128 EX_INQ_NS_NODE_LEN = 10, /**< inquire length of node set node list */ 00129 EX_INQ_SIDE_SETS = 11, /**< inquire number of side sets*/ 00130 EX_INQ_SS_NODE_LEN = 12, /**< inquire length of side set node list */ 00131 EX_INQ_SS_ELEM_LEN = 13, /**< inquire length of side set element list */ 00132 EX_INQ_QA = 14, /**< inquire number of QA records */ 00133 EX_INQ_INFO = 15, /**< inquire number of info records */ 00134 EX_INQ_TIME = 16, /**< inquire number of time steps in the database */ 00135 EX_INQ_EB_PROP = 17, /**< inquire number of element block properties */ 00136 EX_INQ_NS_PROP = 18, /**< inquire number of node set properties */ 00137 EX_INQ_SS_PROP = 19, /**< inquire number of side set properties */ 00138 EX_INQ_NS_DF_LEN = 20, /**< inquire length of node set distribution factor list*/ 00139 EX_INQ_SS_DF_LEN = 21, /**< inquire length of side set distribution factor list*/ 00140 EX_INQ_LIB_VERS = 22, /**< inquire API Lib vers number*/ 00141 EX_INQ_EM_PROP = 23, /**< inquire number of element map properties */ 00142 EX_INQ_NM_PROP = 24, /**< inquire number of node map properties */ 00143 EX_INQ_ELEM_MAP = 25, /**< inquire number of element maps */ 00144 EX_INQ_NODE_MAP = 26, /**< inquire number of node maps*/ 00145 EX_INQ_EDGE = 27, /**< inquire number of edges */ 00146 EX_INQ_EDGE_BLK = 28, /**< inquire number of edge blocks */ 00147 EX_INQ_EDGE_SETS = 29, /**< inquire number of edge sets */ 00148 EX_INQ_ES_LEN = 30, /**< inquire length of concat edge set edge list */ 00149 EX_INQ_ES_DF_LEN = 31, /**< inquire length of concat edge set dist factor list*/ 00150 EX_INQ_EDGE_PROP = 32, /**< inquire number of properties stored per edge block */ 00151 EX_INQ_ES_PROP = 33, /**< inquire number of properties stored per edge set */ 00152 EX_INQ_FACE = 34, /**< inquire number of faces */ 00153 EX_INQ_FACE_BLK = 35, /**< inquire number of face blocks */ 00154 EX_INQ_FACE_SETS = 36, /**< inquire number of face sets */ 00155 EX_INQ_FS_LEN = 37, /**< inquire length of concat face set face list */ 00156 EX_INQ_FS_DF_LEN = 38, /**< inquire length of concat face set dist factor list*/ 00157 EX_INQ_FACE_PROP = 39, /**< inquire number of properties stored per face block */ 00158 EX_INQ_FS_PROP = 40, /**< inquire number of properties stored per face set */ 00159 EX_INQ_ELEM_SETS = 41, /**< inquire number of element sets */ 00160 EX_INQ_ELS_LEN = 42, /**< inquire length of concat element set element list */ 00161 EX_INQ_ELS_DF_LEN = 43, /**< inquire length of concat element set dist factor list*/ 00162 EX_INQ_ELS_PROP = 44, /**< inquire number of properties stored per elem set */ 00163 EX_INQ_EDGE_MAP = 45, /**< inquire number of edge maps */ 00164 EX_INQ_FACE_MAP = 46, /**< inquire number of face maps */ 00165 EX_INQ_COORD_FRAMES = 47, /**< inquire number of coordinate frames */ 00166 EX_INQ_DB_MAX_ALLOWED_NAME_LENGTH = 48, /**< inquire size of MAX_NAME_LENGTH dimension on database */ 00167 EX_INQ_DB_MAX_USED_NAME_LENGTH = 49, /**< inquire size of MAX_NAME_LENGTH dimension on database */ 00168 EX_INQ_MAX_READ_NAME_LENGTH = 50, /**< inquire client-specified max size of returned names */ 00169 EX_INQ_INVALID = -1}; 00170 00171 typedef enum ex_inquiry ex_inquiry; 00172 00173 /* Options */ 00174 /** 00175 * \defgroup FileOptions Variables controlling the compression, name size, and integer size. 00176 *@{ 00177 */ 00178 /* Modes for ex_open */ 00179 /*! \sa ex_set_option() */ 00180 enum ex_option_type { 00181 EX_OPT_MAX_NAME_LENGTH = 1, 00182 EX_OPT_COMPRESSION_TYPE, /* Currently not used. GZip by default */ 00183 EX_OPT_COMPRESSION_LEVEL, /* 0 (disabled/fastest) ... 9 (best/slowest) */ 00184 EX_OPT_COMPRESSION_SHUFFLE, /* 0 (disabled); 1 (enabled) */ 00185 EX_OPT_INTEGER_SIZE_API, /* See *_INT64_* values above */ 00186 EX_OPT_INTEGER_SIZE_DB /* (query only) */ 00187 }; 00188 typedef enum ex_option_type ex_option_type; 00189 /*@}*/ 00190 00191 enum ex_entity_type { 00192 EX_NODAL = 14, /**< nodal "block" for variables*/ 00193 EX_NODE_BLOCK = 14, /**< alias for EX_NODAL */ 00194 EX_NODE_SET = 2, /**< node set property code */ 00195 EX_EDGE_BLOCK = 6, /**< edge block property code */ 00196 EX_EDGE_SET = 7, /**< edge set property code */ 00197 EX_FACE_BLOCK = 8, /**< face block property code */ 00198 EX_FACE_SET = 9, /**< face set property code */ 00199 EX_ELEM_BLOCK = 1, /**< element block property code*/ 00200 EX_ELEM_SET = 10, /**< face set property code */ 00201 00202 EX_SIDE_SET = 3, /**< side set property code */ 00203 00204 EX_ELEM_MAP = 4, /**< element map property code */ 00205 EX_NODE_MAP = 5, /**< node map property code */ 00206 EX_EDGE_MAP = 11, /**< edge map property code */ 00207 EX_FACE_MAP = 12, /**< face map property code */ 00208 00209 EX_GLOBAL = 13, /**< global "block" for variables*/ 00210 EX_COORDINATE = 15, /**< kluge so some internal wrapper functions work */ 00211 EX_INVALID = -1}; 00212 typedef enum ex_entity_type ex_entity_type; 00213 00214 /** 00215 * ex_opts() function codes - codes are OR'ed into exopts 00216 */ 00217 enum ex_options { 00218 EX_DEFAULT = 0, 00219 EX_VERBOSE = 1, /**< verbose mode message flag */ 00220 EX_DEBUG = 2, /**< debug mode def */ 00221 EX_ABORT = 4 /**< abort mode flag def */ 00222 }; 00223 typedef enum ex_options ex_options; 00224 00225 /** The value used to indicate that an entity (block, nset, sset) 00226 has not had its id set to a valid value 00227 */ 00228 #define EX_INVALID_ID -1 00229 00230 /** 00231 * \defgroup StringLengths maximum string lengths; 00232 * constants that are used as netcdf dimensions must be of type long 00233 * @{ 00234 */ 00235 /** Maximum length of QA record, element type name */ 00236 #define MAX_STR_LENGTH 32L 00237 /** Maximum length of an entity name, attribute name, variable name */ 00238 #define MAX_NAME_LENGTH MAX_STR_LENGTH 00239 00240 /** Maximum length of the database title or an information record */ 00241 #define MAX_LINE_LENGTH 80L 00242 /** Maximum length of an error message passed to ex_err() function. Typically, internal use only */ 00243 #define MAX_ERR_LENGTH 256 00244 /* @} */ 00245 00246 /** Specifies that this argument is the id of an entity: element block, nodeset, sideset, ... */ 00247 typedef int64_t ex_entity_id; 00248 00249 /** The mechanism for passing double/float and int/int64_t both use a 00250 void*; to avoid some confusion as to whether a function takes an 00251 integer or a float/double, the following typedef is used for the 00252 integer argument 00253 */ 00254 typedef void void_int; 00255 00256 /** 00257 * \defgroup APIStructs Structures used by external API functions. 00258 * @{ 00259 */ 00260 typedef struct ex_init_params { 00261 char title[MAX_LINE_LENGTH + 1]; 00262 int64_t num_dim; 00263 int64_t num_nodes; 00264 int64_t num_edge; 00265 int64_t num_edge_blk; 00266 int64_t num_face; 00267 int64_t num_face_blk; 00268 int64_t num_elem; 00269 int64_t num_elem_blk; 00270 int64_t num_node_sets; 00271 int64_t num_edge_sets; 00272 int64_t num_face_sets; 00273 int64_t num_side_sets; 00274 int64_t num_elem_sets; 00275 int64_t num_node_maps; 00276 int64_t num_edge_maps; 00277 int64_t num_face_maps; 00278 int64_t num_elem_maps; 00279 } ex_init_params; 00280 00281 typedef struct ex_block { 00282 int64_t id; 00283 ex_entity_type type; 00284 char topology[MAX_STR_LENGTH+1]; 00285 int64_t num_entry; 00286 int64_t num_nodes_per_entry; 00287 int64_t num_edges_per_entry; 00288 int64_t num_faces_per_entry; 00289 int64_t num_attribute; 00290 } ex_block; 00291 00292 typedef struct ex_set { 00293 int64_t id; 00294 ex_entity_type type; 00295 int64_t num_entry; 00296 int64_t num_distribution_factor; 00297 void_int* entry_list; 00298 void_int* extra_list; 00299 void* distribution_factor_list; 00300 } ex_set; 00301 00302 typedef struct ex_block_params { 00303 void_int* edge_blk_id; 00304 char** edge_type; 00305 int* num_edge_this_blk; 00306 int* num_nodes_per_edge; 00307 int* num_attr_edge; 00308 void_int* face_blk_id; 00309 char** face_type; 00310 int* num_face_this_blk; 00311 int* num_nodes_per_face; 00312 int* num_attr_face; 00313 void_int* elem_blk_id; 00314 char** elem_type; 00315 int* num_elem_this_blk; 00316 int* num_nodes_per_elem; 00317 int* num_edges_per_elem; 00318 int* num_faces_per_elem; 00319 int* num_attr_elem; 00320 int define_maps; 00321 } ex_block_params; 00322 00323 typedef struct ex_set_specs { 00324 void_int* sets_ids; 00325 void_int* num_entries_per_set; 00326 void_int* num_dist_per_set; 00327 void_int* sets_entry_index; 00328 void_int* sets_dist_index; 00329 void_int* sets_entry_list; 00330 void_int* sets_extra_list; 00331 void* sets_dist_fact; 00332 } ex_set_specs; 00333 00334 typedef struct ex_var_params { 00335 int num_glob; 00336 int num_node; 00337 int num_edge; 00338 int* edge_var_tab; 00339 int num_face; 00340 int* face_var_tab; 00341 int num_elem; 00342 int* elem_var_tab; 00343 int num_nset; 00344 int* nset_var_tab; 00345 int num_eset; 00346 int* eset_var_tab; 00347 int num_fset; 00348 int* fset_var_tab; 00349 int num_sset; 00350 int* sset_var_tab; 00351 int num_elset; 00352 int* elset_var_tab; 00353 } ex_var_params; 00354 /* @} */ 00355 00356 #ifndef EXODUS_EXPORT 00357 #define EXODUS_EXPORT extern 00358 #endif /* EXODUS_EXPORT */ 00359 00360 /* routines for file initialization i/o */ 00361 EXODUS_EXPORT int ex_close (int exoid); 00362 00363 EXODUS_EXPORT int ex_copy (int in_exoid, int out_exoid); 00364 00365 #define ex_create(path, mode, comp_ws, io_ws) ex_create_int(path, mode, comp_ws, io_ws, EX_API_VERS_NODOT) 00366 00367 EXODUS_EXPORT int ex_create_int (const char *path, int cmode, int *comp_ws, int *io_ws, int my_version); 00368 00369 EXODUS_EXPORT int ex_get_all_times (int exoid, 00370 void *time_values); 00371 00372 EXODUS_EXPORT int ex_get_coord_names (int exoid, 00373 char **coord_names); 00374 00375 EXODUS_EXPORT int ex_get_coord (int exoid, 00376 void *x_coor, 00377 void *y_coor, 00378 void *z_coor); 00379 00380 EXODUS_EXPORT int ex_get_n_coord (int exoid, 00381 int64_t start_node_num, 00382 int64_t num_nodes, 00383 void *x_coor, 00384 void *y_coor, 00385 void *z_coor); 00386 00387 EXODUS_EXPORT int ex_get_ids (int exoid, 00388 ex_entity_type obj_type, 00389 void_int *ids); 00390 00391 EXODUS_EXPORT int ex_get_coordinate_frames(int exoid, 00392 int *nframes, 00393 void_int *cf_ids, 00394 void* pt_coordinates, 00395 char* tags); 00396 00397 EXODUS_EXPORT int ex_get_glob_vars (int exoid, 00398 int time_step, 00399 int num_glob_vars, 00400 void *glob_var_vals); 00401 00402 EXODUS_EXPORT int ex_get_glob_var_time (int exoid, 00403 int glob_var_index, 00404 int beg_time_step, 00405 int end_time_step, 00406 void *glob_var_vals); 00407 00408 EXODUS_EXPORT int ex_get_info (int exoid, char **info); 00409 00410 EXODUS_EXPORT int ex_put_init_ext (int exoid, const ex_init_params *param); 00411 00412 EXODUS_EXPORT int ex_get_init_ext (int exoid, ex_init_params *param); 00413 00414 EXODUS_EXPORT int ex_get_init (int exoid, 00415 char *title, 00416 void_int *num_dim, 00417 void_int *num_nodes, 00418 void_int *num_elem, 00419 void_int *num_elem_blk, 00420 void_int *num_node_sets, 00421 void_int *num_side_sets); 00422 00423 EXODUS_EXPORT int ex_put_init (int exoid, 00424 const char *title, 00425 int64_t num_dim, 00426 int64_t num_nodes, 00427 int64_t num_elem, 00428 int64_t num_elem_blk, 00429 int64_t num_node_sets, 00430 int64_t num_side_sets); 00431 00432 EXODUS_EXPORT int ex_get_map_param (int exoid, 00433 int *num_node_maps, 00434 int *num_elem_maps); 00435 00436 EXODUS_EXPORT int ex_get_name (int exoid, 00437 ex_entity_type obj_type, 00438 ex_entity_id entity_id, 00439 char *name); 00440 00441 EXODUS_EXPORT int ex_get_names (int exoid, 00442 ex_entity_type obj_type, 00443 char **names); 00444 00445 EXODUS_EXPORT int ex_get_nset_var_tab (int exoid, 00446 int num_nodesets, 00447 int num_nset_var, 00448 int *nset_var_tab); 00449 00450 EXODUS_EXPORT int ex_get_n_nodal_var (int exoid, 00451 int time_step, 00452 int nodal_var_index, 00453 int64_t start_node, 00454 int64_t num_nodes, 00455 void *nodal_var_vals); 00456 00457 00458 EXODUS_EXPORT int ex_get_prop_array (int exoid, 00459 ex_entity_type obj_type, 00460 const char *prop_name, 00461 void_int *values); 00462 00463 EXODUS_EXPORT int ex_get_prop (int exoid, 00464 ex_entity_type obj_type, 00465 ex_entity_id obj_id, 00466 const char *prop_name, 00467 void_int *value); 00468 00469 EXODUS_EXPORT int ex_get_partial_num_map (int exoid, 00470 ex_entity_type map_type, 00471 ex_entity_id map_id, 00472 int64_t ent_start, 00473 int64_t ent_count, 00474 void_int *elem_map); 00475 00476 EXODUS_EXPORT int ex_get_prop_names (int exoid, 00477 ex_entity_type obj_type, 00478 char **prop_names); 00479 00480 EXODUS_EXPORT int ex_get_qa (int exoid, 00481 char *qa_record[][4]); 00482 00483 EXODUS_EXPORT int ex_get_time (int exoid, 00484 int time_step, 00485 void *time_value); 00486 00487 EXODUS_EXPORT int ex_get_variable_names (int exoid, 00488 ex_entity_type obj_type, 00489 int num_vars, 00490 char *var_names[]); 00491 EXODUS_EXPORT int ex_get_variable_name (int exoid, 00492 ex_entity_type obj_type, 00493 int var_num, 00494 char *var_name); 00495 00496 EXODUS_EXPORT int ex_get_variable_param (int exoid, 00497 ex_entity_type obj_type, 00498 int *num_vars); 00499 00500 EXODUS_EXPORT int ex_get_object_truth_vector (int exoid, 00501 ex_entity_type var_type, 00502 ex_entity_id object_id, 00503 int num_var, 00504 int *var_vector); 00505 00506 EXODUS_EXPORT int ex_get_truth_table (int exoid, 00507 ex_entity_type obj_type, 00508 int num_blk, 00509 int num_var, 00510 int *var_tab); 00511 00512 #define ex_open(path, mode, comp_ws, io_ws, version) ex_open_int(path, mode, comp_ws, io_ws, version, EX_API_VERS_NODOT) 00513 EXODUS_EXPORT int ex_open_int (const char *path, 00514 int mode, 00515 int *comp_ws, 00516 int *io_ws, 00517 float *version, int my_version); 00518 00519 EXODUS_EXPORT int ex_put_attr_param (int exoid, 00520 ex_entity_type obj_type, 00521 ex_entity_id obj_id, 00522 int num_attrs); 00523 00524 EXODUS_EXPORT int ex_get_attr_param (int exoid, 00525 ex_entity_type obj_type, 00526 ex_entity_id obj_id, 00527 int *num_attrs); 00528 00529 EXODUS_EXPORT int ex_put_all_var_param (int exoid, 00530 int num_g, int num_n, 00531 int num_e, int *elem_var_tab, 00532 int num_m, int *nset_var_tab, 00533 int num_s, int *sset_var_tab); 00534 00535 EXODUS_EXPORT int ex_put_concat_elem_block (int exoid, 00536 const void_int* elem_blk_id, 00537 char *elem_type[], 00538 const void_int* num_elem_this_blk, 00539 const void_int* num_nodes_per_elem, 00540 const void_int* num_attr, 00541 int define_maps); 00542 00543 EXODUS_EXPORT int ex_put_coord_names (int exoid, 00544 char *coord_names[]); 00545 00546 EXODUS_EXPORT int ex_put_coord (int exoid, 00547 const void *x_coor, 00548 const void *y_coor, 00549 const void *z_coor); 00550 00551 EXODUS_EXPORT int ex_put_n_coord (int exoid, 00552 int64_t start_node_num, 00553 int64_t num_nodes, 00554 const void *x_coor, 00555 const void *y_coor, 00556 const void *z_coor); 00557 00558 EXODUS_EXPORT int ex_put_id_map(int exoid, 00559 ex_entity_type obj_type, 00560 const void_int *map); 00561 00562 EXODUS_EXPORT int ex_put_partial_id_map(int exoid, 00563 ex_entity_type obj_type, 00564 int64_t start_entity_num, 00565 int64_t num_entities, 00566 const void_int *map); 00567 00568 EXODUS_EXPORT int ex_put_n_elem_num_map (int exoid, 00569 int64_t start_ent, 00570 int64_t num_ents, 00571 const void_int *map); 00572 00573 EXODUS_EXPORT int ex_put_n_node_num_map (int exoid, 00574 int64_t start_ent, 00575 int64_t num_ents, 00576 const void_int *map); 00577 00578 EXODUS_EXPORT int ex_get_id_map(int exoid, 00579 ex_entity_type obj_type, 00580 void_int *map); 00581 00582 EXODUS_EXPORT int ex_put_coordinate_frames(int exoid, 00583 int nframes, 00584 const void_int *cf_ids, 00585 void* pt_coordinates, 00586 const char* tags); 00587 00588 EXODUS_EXPORT int ex_put_info (int exoid, 00589 int num_info, 00590 char *info[]); 00591 00592 EXODUS_EXPORT int ex_put_map_param (int exoid, 00593 int num_node_maps, 00594 int num_elem_maps); 00595 00596 EXODUS_EXPORT int ex_put_name (int exoid, 00597 ex_entity_type obj_type, 00598 ex_entity_id entity_id, 00599 const char *name); 00600 00601 EXODUS_EXPORT int ex_put_names (int exoid, 00602 ex_entity_type obj_type, 00603 char *names[]); 00604 00605 EXODUS_EXPORT int ex_put_n_one_attr( int exoid, 00606 ex_entity_type obj_type, 00607 ex_entity_id obj_id, 00608 int64_t start_num, 00609 int64_t num_ent, 00610 int attrib_index, 00611 const void *attrib ); 00612 00613 EXODUS_EXPORT int ex_put_prop (int exoid, 00614 ex_entity_type obj_type, 00615 ex_entity_id obj_id, 00616 const char *prop_name, 00617 ex_entity_id value); 00618 00619 EXODUS_EXPORT int ex_put_prop_array (int exoid, 00620 ex_entity_type obj_type, 00621 const char *prop_name, 00622 const void_int *values); 00623 00624 EXODUS_EXPORT int ex_put_prop_names (int exoid, 00625 ex_entity_type obj_type, 00626 int num_props, 00627 char **prop_names); 00628 00629 EXODUS_EXPORT int ex_put_qa (int exoid, 00630 int num_qa_records, 00631 char* qa_record[][4]); 00632 00633 EXODUS_EXPORT int ex_put_time (int exoid, 00634 int time_step, 00635 const void *time_value); 00636 00637 EXODUS_EXPORT int ex_put_variable_name (int exoid, 00638 ex_entity_type obj_type, 00639 int var_num, 00640 const char *var_name); 00641 00642 EXODUS_EXPORT int ex_put_variable_names (int exoid, 00643 ex_entity_type obj_type, 00644 int num_vars, 00645 char* var_names[]); 00646 00647 EXODUS_EXPORT int ex_put_variable_param (int exoid, 00648 ex_entity_type obj_type, 00649 int num_vars); 00650 00651 EXODUS_EXPORT int ex_put_truth_table (int exoid, 00652 ex_entity_type obj_type, 00653 int num_blk, 00654 int num_var, 00655 int *var_tab); 00656 00657 EXODUS_EXPORT int ex_update (int exoid); 00658 EXODUS_EXPORT int ex_get_num_props (int exoid, ex_entity_type obj_type); 00659 EXODUS_EXPORT int ex_large_model(int exoid); 00660 EXODUS_EXPORT size_t ex_header_size(int exoid); 00661 00662 EXODUS_EXPORT void ex_err(const char *module_name, const char *message, int err_num); 00663 EXODUS_EXPORT void ex_get_err(const char** msg, const char** func, int* errcode); 00664 EXODUS_EXPORT void ex_opts(int options); 00665 EXODUS_EXPORT int ex_inquire(int exoid, int inquiry, void_int*, float*, char*); 00666 EXODUS_EXPORT int64_t ex_inquire_int(int exoid, int inquiry); 00667 EXODUS_EXPORT int ex_int64_status(int exoid); 00668 EXODUS_EXPORT int ex_set_int64_status(int exoid, int mode); 00669 00670 /** Note that the max name length setting is global at this time; not specific 00671 * to a particular database; however, the exoid option is passed to give 00672 * flexibility in the future to implement this on a database-by-database basis. 00673 */ 00674 EXODUS_EXPORT int ex_set_max_name_length(int exoid, int length); 00675 00676 EXODUS_EXPORT int ex_set_option(int exoid, ex_option_type option, int option_value); 00677 00678 /* Write Node Edge Face or Element Number Map */ 00679 EXODUS_EXPORT int ex_put_num_map(int exoid, 00680 ex_entity_type map_type, 00681 ex_entity_id map_id, 00682 const void_int *map); 00683 00684 /* Read Number Map */ 00685 EXODUS_EXPORT int ex_get_num_map(int exoid, 00686 ex_entity_type map_type, 00687 ex_entity_id map_id, 00688 void_int *map); 00689 00690 /* Write Edge Face or Element Block Parameters */ 00691 EXODUS_EXPORT int ex_put_block(int exoid, 00692 ex_entity_type blk_type, 00693 ex_entity_id blk_id, 00694 const char *entry_descrip, 00695 int64_t num_entries_this_blk, 00696 int64_t num_nodes_per_entry, 00697 int64_t num_edges_per_entry, 00698 int64_t num_faces_per_entry, 00699 int64_t num_attr_per_entry); 00700 00701 00702 /*! \deprecated Use ex_get_block_param() */ 00703 EXODUS_EXPORT int ex_get_block(int exoid, 00704 ex_entity_type blk_type, 00705 ex_entity_id blk_id, 00706 char *elem_type, 00707 void_int *num_entries_this_blk, 00708 void_int *num_nodes_per_entry, 00709 void_int *num_edges_per_entry, 00710 void_int *num_faces_per_entry, 00711 void_int *num_attr_per_entry); 00712 00713 /* Read Edge Face or Element Block Parameters */ 00714 EXODUS_EXPORT int ex_get_block_param(int exoid, 00715 ex_block *block); 00716 00717 EXODUS_EXPORT int ex_put_block_param(int exoid, 00718 const ex_block block); 00719 00720 /* Write All Edge Face and Element Block Parameters */ 00721 EXODUS_EXPORT int ex_put_concat_all_blocks(int exoid, 00722 const ex_block_params *param); 00723 00724 EXODUS_EXPORT int ex_put_entity_count_per_polyhedra(int exoid, 00725 ex_entity_type blk_type, 00726 ex_entity_id blk_id, 00727 const int *entity_counts); 00728 00729 EXODUS_EXPORT int ex_get_entity_count_per_polyhedra(int exoid, 00730 ex_entity_type blk_type, 00731 ex_entity_id blk_id, 00732 int *entity_counts); 00733 00734 /* Write Edge Face or Element Block Connectivity */ 00735 EXODUS_EXPORT int ex_put_conn(int exoid, 00736 ex_entity_type blk_type, 00737 ex_entity_id blk_id, 00738 const void_int *node_conn, 00739 const void_int *elem_edge_conn, 00740 const void_int *elem_face_conn); 00741 00742 /* Read Edge Face or Element Block Connectivity */ 00743 EXODUS_EXPORT int ex_get_conn(int exoid, 00744 ex_entity_type blk_type, 00745 ex_entity_id blk_id, 00746 void_int *nodeconn, 00747 void_int *edgeconn, 00748 void_int *faceconn); 00749 00750 /* Read Partial Edge Face or Element Block Connectivity */ 00751 EXODUS_EXPORT int ex_get_n_conn(int exoid, 00752 ex_entity_type blk_type, 00753 ex_entity_id blk_id, 00754 int64_t start_num, 00755 int64_t num_ent, 00756 void_int *nodeconn, 00757 void_int *edgeconn, 00758 void_int *faceconn); 00759 00760 /* Write Edge Face or Element Block Attributes */ 00761 EXODUS_EXPORT int ex_put_attr(int exoid, 00762 ex_entity_type blk_type, 00763 ex_entity_id blk_id, 00764 const void *attrib); 00765 00766 /* Read Edge Face or Element Block Attributes */ 00767 EXODUS_EXPORT int ex_get_attr(int exoid, 00768 ex_entity_type obj_type, 00769 ex_entity_id obj_id, 00770 void *attrib); 00771 00772 /* Write One Edge Face or Element Block Attribute */ 00773 EXODUS_EXPORT int ex_put_one_attr(int exoid, 00774 ex_entity_type obj_type, 00775 ex_entity_id obj_id, 00776 int attrib_index, 00777 const void *attrib); 00778 00779 /* Read One Edge Face or Element Block Attribute */ 00780 EXODUS_EXPORT int ex_get_one_attr(int exoid, 00781 ex_entity_type obj_type, 00782 ex_entity_id obj_id, 00783 int attrib_index, 00784 void *attrib); 00785 00786 /* Read One Edge Face or Element Block Attribute */ 00787 EXODUS_EXPORT int ex_get_n_one_attr(int exoid, 00788 ex_entity_type obj_type, 00789 ex_entity_id obj_id, 00790 int64_t start_num, 00791 int64_t num_ent, 00792 int attrib_index, 00793 void *attrib); 00794 00795 /* Write Edge Face or Element Block Attribute Names */ 00796 EXODUS_EXPORT int ex_put_attr_names(int exoid, 00797 ex_entity_type blk_type, 00798 ex_entity_id blk_id, 00799 char **names); 00800 00801 /* Read Edge Face or Element Block Attribute Names */ 00802 EXODUS_EXPORT int ex_get_attr_names(int exoid, 00803 ex_entity_type obj_type, 00804 ex_entity_id obj_id, 00805 char **names); 00806 00807 /* Write Node Edge Face or Side Set Parameters */ 00808 EXODUS_EXPORT int ex_put_set_param(int exoid, 00809 ex_entity_type set_type, 00810 ex_entity_id set_id, 00811 int64_t num_entries_in_set, 00812 int64_t num_dist_fact_in_set); 00813 00814 /* Read Node Edge Face or Side Set Parameters */ 00815 EXODUS_EXPORT int ex_get_set_param(int exoid, 00816 ex_entity_type set_type, 00817 ex_entity_id set_id, 00818 void_int *num_entry_in_set, 00819 void_int *num_dist_fact_in_set); 00820 00821 /* Write a Node Edge Face or Side Set */ 00822 EXODUS_EXPORT int ex_put_set(int exoid, 00823 ex_entity_type set_type, 00824 ex_entity_id set_id, 00825 const void_int *set_entry_list, 00826 const void_int *set_extra_list); 00827 00828 /* Read a Node Edge Face or Side Set */ 00829 EXODUS_EXPORT int ex_get_set(int exoid, 00830 ex_entity_type set_type, 00831 ex_entity_id set_id, 00832 void_int *set_entry_list, 00833 void_int *set_extra_list); 00834 00835 /* Write Node Edge Face or Side Set Distribution Factors */ 00836 EXODUS_EXPORT int ex_put_set_dist_fact(int exoid, 00837 ex_entity_type set_type, 00838 ex_entity_id set_id, 00839 const void *set_dist_fact); 00840 00841 /* Read Node Edge Face or Side Set Distribution Factors */ 00842 EXODUS_EXPORT int ex_get_set_dist_fact(int exoid, 00843 ex_entity_type set_type, 00844 ex_entity_id set_id, 00845 void *set_dist_fact); 00846 00847 /* Write Concatenated Node Edge Face or Side Sets */ 00848 EXODUS_EXPORT int ex_put_concat_sets(int exoid, 00849 ex_entity_type set_type, 00850 const struct ex_set_specs *set_specs); 00851 00852 /* Read Concatenated Node Edge Face or Side Sets */ 00853 EXODUS_EXPORT int ex_get_concat_sets(int exoid, 00854 ex_entity_type set_type, 00855 struct ex_set_specs *set_specs); 00856 00857 /* Write Concatenated Node Edge Face or Side Sets */ 00858 EXODUS_EXPORT int ex_put_sets(int exoid, 00859 size_t set_count, 00860 const struct ex_set *sets); 00861 00862 /* Read Concatenated Node Edge Face or Side Sets */ 00863 EXODUS_EXPORT int ex_get_sets(int exoid, 00864 size_t set_count, 00865 struct ex_set *sets); 00866 00867 /* (MODIFIED) Write All Results Variables Parameters */ 00868 EXODUS_EXPORT int ex_put_all_var_param_ext(int exoid, 00869 const ex_var_params *vp); 00870 00871 /* Write Edge Face or Element Variable Values on Blocks or Sets at a Time Step */ 00872 EXODUS_EXPORT int ex_put_var(int exoid, 00873 int time_step, 00874 ex_entity_type var_type, 00875 int var_index, 00876 ex_entity_id obj_id, 00877 int64_t num_entries_this_obj, 00878 const void *var_vals); 00879 00880 /* Write Partial Edge Face or Element Variable Values on Blocks or Sets at a Time Step */ 00881 EXODUS_EXPORT int ex_put_n_var(int exoid, 00882 int time_step, 00883 ex_entity_type var_type, 00884 int var_index, 00885 ex_entity_id obj_id, 00886 int64_t start_index, 00887 int64_t num_entities, 00888 const void *var_vals); 00889 00890 /* Read Edge Face or Element Variable Values Defined On Blocks or Sets at a Time Step */ 00891 EXODUS_EXPORT int ex_get_var(int exoid, 00892 int time_step, 00893 ex_entity_type var_type, 00894 int var_index, 00895 ex_entity_id obj_id, 00896 int64_t num_entry_this_obj, 00897 void *var_vals); 00898 00899 /* Read Partial Edge Face or Element Variable Values on Blocks or Sets at a Time Step */ 00900 EXODUS_EXPORT int ex_get_n_var(int exoid, 00901 int time_step, 00902 ex_entity_type var_type, 00903 int var_index, 00904 ex_entity_id obj_id, 00905 int64_t start_index, 00906 int64_t num_entities, 00907 void *var_vals); 00908 00909 EXODUS_EXPORT int ex_get_n_elem_var (int exoid, 00910 int time_step, 00911 int elem_var_index, 00912 ex_entity_id elem_blk_id, 00913 int64_t num_elem_this_blk, 00914 int64_t start_elem_num, 00915 int64_t num_elem, 00916 void *elem_var_vals); 00917 00918 /* Read Edge Face or Element Variable Values Defined On Blocks or Sets Through Time */ 00919 EXODUS_EXPORT int ex_get_var_time(int exoid, 00920 ex_entity_type var_type, 00921 int var_index, 00922 int64_t id, 00923 int beg_time_step, 00924 int end_time_step, 00925 void *var_vals); 00926 00927 EXODUS_EXPORT int ex_cvt_nodes_to_sides(int exoid, 00928 void_int *num_elem_per_set, 00929 void_int *num_nodes_per_set, 00930 void_int *side_sets_elem_index, 00931 void_int *side_sets_node_index, 00932 void_int *side_sets_elem_list, 00933 void_int *side_sets_node_list, 00934 void_int *side_sets_side_list); 00935 00936 /* Can be replaced by ex_put_var ... */ 00937 EXODUS_EXPORT int ex_put_nodal_var (int exoid, 00938 int time_step, 00939 int nodal_var_index, 00940 int64_t num_nodes, 00941 const void *nodal_var_vals); 00942 00943 EXODUS_EXPORT int ex_put_n_nodal_var (int exoid, 00944 int time_step, 00945 int nodal_var_index, 00946 int64_t start_node, 00947 int64_t num_nodes, 00948 const void *nodal_var_vals); 00949 00950 EXODUS_EXPORT int ex_get_partial_elem_map (int exoid, 00951 ex_entity_id map_id, 00952 int64_t ent_start, 00953 int64_t ent_count, 00954 void_int *elem_map); 00955 00956 EXODUS_EXPORT int ex_put_partial_elem_map (int exoid, 00957 ex_entity_id map_id, 00958 int64_t ent_start, 00959 int64_t ent_count, 00960 const void_int *elem_map); 00961 00962 EXODUS_EXPORT int ex_put_partial_num_map (int exoid, 00963 ex_entity_type map_type, 00964 ex_entity_id map_id, 00965 int64_t ent_start, 00966 int64_t ent_count, 00967 const void_int *map); 00968 00969 EXODUS_EXPORT int ex_put_partial_set_dist_fact (int exoid, 00970 ex_entity_type set_type, 00971 ex_entity_id set_id, 00972 int64_t offset, 00973 int64_t num_to_put, 00974 const void *set_dist_fact); 00975 00976 /* TODO */ 00977 EXODUS_EXPORT int ex_get_concat_side_set_node_count(int exoid, 00978 int *side_set_node_cnt_list); 00979 00980 /* TODO */ 00981 EXODUS_EXPORT int ex_get_side_set_node_list_len(int exoid, 00982 ex_entity_id side_set_id, 00983 void_int *side_set_node_list_len); 00984 00985 /* TODO */ 00986 EXODUS_EXPORT int ex_get_side_set_node_count(int exoid, 00987 ex_entity_id side_set_id, 00988 int *side_set_node_cnt_list); 00989 00990 /* TODO */ 00991 EXODUS_EXPORT int ex_get_side_set_node_list(int exoid, 00992 ex_entity_id side_set_id, 00993 void_int *side_set_node_cnt_list, 00994 void_int *side_set_node_list); 00995 00996 /* ======================================================================== 00997 Functions pulled from nemesis library and incorporated into exodus... 00998 */ 00999 /*============================================================================= 01000 * Initial Information Routines 01001 *===========================================================================*/ 01002 EXODUS_EXPORT int 01003 ex_get_init_info(int exoid, /* NemesisI file ID */ 01004 int *num_proc, /* Number of processors */ 01005 int *num_proc_in_f, /* Number of procs in this file */ 01006 char *ftype 01007 ); 01008 01009 EXODUS_EXPORT int 01010 ex_put_init_info(int exoid, /* NemesisI file ID */ 01011 int num_proc, /* Number of processors */ 01012 int num_proc_in_f, /* Number of procs in this file */ 01013 char *ftype 01014 ); 01015 01016 EXODUS_EXPORT int 01017 ex_get_init_global(int exoid, /* NemesisI file ID */ 01018 void_int *num_nodes_g, /* Number of global FEM nodes */ 01019 void_int *num_elems_g, /* Number of global FEM elements */ 01020 void_int *num_elem_blks_g, /* Number of global elem blocks */ 01021 void_int *num_node_sets_g, /* Number of global node sets */ 01022 void_int *num_side_sets_g /* Number of global side sets */ 01023 ); 01024 EXODUS_EXPORT int 01025 ex_put_init_global(int exoid, /* NemesisI file ID */ 01026 int64_t num_nodes_g, /* Number of global FEM nodes */ 01027 int64_t num_elems_g, /* Number of global FEM elements */ 01028 int64_t num_elem_blks_g, /* Number of global elem blocks */ 01029 int64_t num_node_sets_g, /* Number of global node sets */ 01030 int64_t num_side_sets_g /* Number of global side sets */ 01031 ); 01032 01033 /*============================================================================= 01034 * Loadbalance Parameter Routines 01035 *===========================================================================*/ 01036 EXODUS_EXPORT int 01037 ex_get_loadbal_param(int exoid, /* NetCDF/Exodus file ID */ 01038 void_int *num_int_nodes, /* Number of internal FEM nodes */ 01039 void_int *num_bor_nodes, /* Number of border FEM nodes */ 01040 void_int *num_ext_nodes, /* Number of external FEM nodes */ 01041 void_int *num_int_elems, /* Number of internal FEM elems */ 01042 void_int *num_bor_elems, /* Number of border FEM elems */ 01043 void_int *num_node_cmaps, /* Number of nodal comm maps */ 01044 void_int *num_elem_cmaps, /* Number of elemental comm maps */ 01045 int processor /* Processor ID */ 01046 ); 01047 01048 EXODUS_EXPORT int 01049 ex_put_loadbal_param(int exoid, /* NemesisI file ID */ 01050 int64_t num_int_nodes, /* Number of internal FEM nodes */ 01051 int64_t num_bor_nodes, /* Number of border FEM nodes */ 01052 int64_t num_ext_nodes, /* Number of external FEM nodes */ 01053 int64_t num_int_elems, /* Number of internal FEM elems */ 01054 int64_t num_bor_elems, /* Number of border FEM elems */ 01055 int64_t num_node_cmaps,/* Number of nodal comm maps */ 01056 int64_t num_elem_cmaps,/* Number of elemental comm maps */ 01057 int processor /* Processor ID */ 01058 ); 01059 01060 EXODUS_EXPORT int 01061 ex_put_loadbal_param_cc(int exoid, /* NetCDF/Exodus file ID */ 01062 void_int *num_int_nodes, /* Number of internal node IDs */ 01063 void_int *num_bor_nodes, /* Number of border node IDs */ 01064 void_int *num_ext_nodes, /* Number of external node IDs */ 01065 void_int *num_int_elems, /* Number of internal elem IDs */ 01066 void_int *num_bor_elems, /* Number of border elem IDs */ 01067 void_int *num_node_cmaps, /* Number of nodal comm maps */ 01068 void_int *num_elem_cmaps /* Number of elem comm maps */ 01069 ); 01070 01071 /*============================================================================= 01072 * NS, SS & EB Global Parameter Routines 01073 *===========================================================================*/ 01074 EXODUS_EXPORT int 01075 ex_get_ns_param_global(int exoid, /* NetCDF/Exodus file ID */ 01076 void_int *ns_ids_glob, /* Global IDs of node sets */ 01077 void_int *ns_n_cnt_glob, /* Count of nodes in node sets */ 01078 void_int *ns_df_cnt_glob /* Count of dist. factors in ns */ 01079 ); 01080 01081 EXODUS_EXPORT int 01082 ex_put_ns_param_global(int exoid, /* NemesisI file ID */ 01083 void_int *global_ids, /* Vector of global node-set IDs */ 01084 void_int *global_n_cnts, /* Vector of node counts in node-sets */ 01085 void_int *global_df_cnts /* Vector of dist factor counts in node-sets */ 01086 ); 01087 01088 EXODUS_EXPORT int 01089 ex_get_ss_param_global(int exoid, /* NetCDF/Exodus file ID */ 01090 void_int *ss_ids_glob, /* Global side-set IDs */ 01091 void_int *ss_s_cnt_glob, /* Global side count */ 01092 void_int *ss_df_cnt_glob /* Global dist. factor count */ 01093 ); 01094 01095 EXODUS_EXPORT int 01096 ex_put_ss_param_global(int exoid, /* NemesisI file ID */ 01097 void_int *global_ids, /* Vector of global side-set IDs */ 01098 void_int *global_el_cnts, /* Vector of element/side */ 01099 /* counts in each side set */ 01100 void_int *global_df_cnts /* Vector of dist. factor */ 01101 /* counts in each side set */ 01102 ); 01103 01104 EXODUS_EXPORT int 01105 ex_get_eb_info_global(int exoid, /* NemesisI file ID */ 01106 void_int *el_blk_ids, /* Vector of global element IDs */ 01107 void_int *el_blk_cnts /* Vector of global element counts */ 01108 ); 01109 01110 EXODUS_EXPORT int 01111 ex_put_eb_info_global(int exoid, /* NemesisI file ID */ 01112 void_int *el_blk_ids, /* Vector of global element IDs */ 01113 void_int *el_blk_cnts /* Vector of global element counts */ 01114 ); 01115 01116 /*============================================================================= 01117 * NS, SS & EB Subset Routines 01118 *===========================================================================*/ 01119 EXODUS_EXPORT int 01120 ex_get_n_side_set(int exoid, /* NetCDF/Exodus file ID */ 01121 ex_entity_id side_set_id, /* Side-set ID to read */ 01122 int64_t start_side_num, /* Starting element number */ 01123 int64_t num_sides, /* Number of sides to read */ 01124 void_int *side_set_elem_list, /* List of element IDs */ 01125 void_int *side_set_side_list /* List of side IDs */ 01126 ); 01127 01128 EXODUS_EXPORT int 01129 ex_put_n_side_set(int exoid, /* NetCDF/Exodus file ID */ 01130 ex_entity_id side_set_id, /* Side-set ID to write */ 01131 int64_t start_side_num, /* Starting element number */ 01132 int64_t num_sides, /* Number of sides to write */ 01133 const void_int *side_set_elem_list, /* List of element IDs */ 01134 const void_int *side_set_side_list /* List of side IDs */ 01135 ); 01136 01137 EXODUS_EXPORT int 01138 ex_get_n_side_set_df(int exoid, /* NetCDF/Exodus file ID */ 01139 ex_entity_id side_set_id, /* Side-set ID */ 01140 int64_t start_num, /* Starting df number */ 01141 int64_t num_df_to_get, /* Number of df's to read */ 01142 void *side_set_df /* Distribution factors */ 01143 ); 01144 01145 EXODUS_EXPORT int 01146 ex_put_n_side_set_df(int exoid, /* NetCDF/Exodus file ID */ 01147 ex_entity_id side_set_id, /* Side-set ID */ 01148 int64_t start_num, /* Starting df number */ 01149 int64_t num_df_to_get, /* Number of df's to write */ 01150 void *side_set_df /* Distribution factors */ 01151 ); 01152 01153 EXODUS_EXPORT int 01154 ex_get_n_node_set(int exoid, /* NetCDF/Exodus file ID */ 01155 ex_entity_id node_set_id, /* Node set ID */ 01156 int64_t start_node_num, /* Node index to start reading at */ 01157 int64_t num_node, /* Number of nodes to read */ 01158 void_int *node_set_node_list /* List of nodes in node set */ 01159 ); 01160 01161 EXODUS_EXPORT int 01162 ex_put_n_node_set(int exoid, /* NetCDF/Exodus file ID */ 01163 ex_entity_id node_set_id, /* Node set ID */ 01164 int64_t start_node_num, /* Node index to start writing at */ 01165 int64_t num_node, /* Number of nodes to write */ 01166 const void_int *node_set_node_list /* List of nodes in node set */ 01167 ); 01168 01169 EXODUS_EXPORT int 01170 ex_get_n_node_set_df(int exoid, /* NetCDF/Exodus file ID */ 01171 ex_entity_id node_set_id, /* Node-set ID */ 01172 int64_t start_num, /* Starting df number */ 01173 int64_t num_df_to_get, /* Number of df's to read */ 01174 void *node_set_df /* Distribution factors */ 01175 ); 01176 01177 EXODUS_EXPORT int 01178 ex_put_n_node_set_df(int exoid, /* NetCDF/Exodus file ID */ 01179 ex_entity_id node_set_id, /* Node-set ID */ 01180 int64_t start_num, /* Starting df number */ 01181 int64_t num_df_to_get, /* Number of df's to write */ 01182 void *node_set_df /* Distribution factors */ 01183 ); 01184 01185 EXODUS_EXPORT int 01186 ex_get_n_elem_conn (int exoid, /* NetCDF/Exodus file ID */ 01187 ex_entity_id elem_blk_id, /* Element block ID */ 01188 int64_t start_elem_num, /* Starting position to read from */ 01189 int64_t num_elems, /* Number of elements to read */ 01190 void_int *connect /* Connectivity vector */ 01191 ); 01192 01193 EXODUS_EXPORT int 01194 ex_put_n_elem_conn (int exoid, /* NetCDF/Exodus file ID */ 01195 ex_entity_id elem_blk_id, /* Element block ID */ 01196 int64_t start_elem_num, /* Starting position to write to */ 01197 int64_t num_elems, /* Number of elements to write */ 01198 const void_int *connect /* Connectivity vector */ 01199 ); 01200 01201 EXODUS_EXPORT int 01202 ex_get_n_elem_attr (int exoid, /* NetCDF/Exodus file ID */ 01203 ex_entity_id elem_blk_id, /* Element block ID */ 01204 int64_t start_elem_num, /* Starting position to read from */ 01205 int64_t num_elems, /* Number of elements to read */ 01206 void *attrib /* Attribute */ 01207 ); 01208 01209 EXODUS_EXPORT int 01210 ex_put_n_elem_attr (int exoid, /* NetCDF/Exodus file ID */ 01211 ex_entity_id elem_blk_id, /* Element block ID */ 01212 int64_t start_elem_num, /* Starting position to write to */ 01213 int64_t num_elems, /* Number of elements to write */ 01214 void *attrib /* Attribute */ 01215 ); 01216 01217 EXODUS_EXPORT int 01218 ex_get_elem_type(int exoid, /* NetCDF/Exodus file ID */ 01219 ex_entity_id elem_blk_id, /* Element block ID */ 01220 char *elem_type /* The name of the element type */ 01221 ); 01222 01223 /*============================================================================= 01224 * Variable Routines 01225 *===========================================================================*/ 01226 EXODUS_EXPORT int 01227 ex_put_elem_var_slab (int exoid, /* NetCDF/Exodus file ID */ 01228 int time_step, /* time index */ 01229 int elem_var_index, /* elemental variable index */ 01230 ex_entity_id elem_blk_id, /* elemental block id */ 01231 int64_t start_pos, /* Starting position to write to */ 01232 int64_t num_vals, /* Number of elements to write */ 01233 void *elem_var_vals /* variable values */ 01234 ); 01235 01236 EXODUS_EXPORT int 01237 ex_put_nodal_var_slab(int exoid, /* NetCDF/Exodus file ID */ 01238 int time_step, /* The time step index */ 01239 int nodal_var_index, /* Nodal variable index */ 01240 int64_t start_pos, /* Start position for write */ 01241 int64_t num_vals, /* Number of nodal variables */ 01242 void *nodal_var_vals /* Nodal variable values */ 01243 ); 01244 01245 /*============================================================================= 01246 * Number Map Routines 01247 *===========================================================================*/ 01248 EXODUS_EXPORT int 01249 ex_get_n_elem_num_map (int exoid, /* NetCDF/Exodus file ID */ 01250 int64_t start_ent, /* Starting position to read from */ 01251 int64_t num_ents, /* Number of elements to read */ 01252 void_int *elem_map /* element map numbers */ 01253 ); 01254 01255 EXODUS_EXPORT int 01256 ex_get_n_node_num_map(int exoid, /* NetCDF/Exodus file ID */ 01257 int64_t start_ent, /* starting node number */ 01258 int64_t num_ents, /* number of nodes to read */ 01259 void_int *node_map /* vector for node map */ 01260 ); 01261 01262 EXODUS_EXPORT int 01263 ex_get_processor_node_maps(int exoid, /* NetCDF/Exodus file ID */ 01264 void_int *node_mapi, /* Internal FEM node IDs */ 01265 void_int *node_mapb, /* Border FEM node IDs */ 01266 void_int *node_mape, /* External FEM node IDs */ 01267 int processor /* Processor IDs */ 01268 ); 01269 01270 EXODUS_EXPORT int 01271 ex_put_processor_node_maps(int exoid, /* NetCDF/Exodus file ID */ 01272 void_int *node_mapi, /* Internal FEM node IDs */ 01273 void_int *node_mapb, /* Border FEM node IDs */ 01274 void_int *node_mape, /* External FEM node IDs */ 01275 int processor /* This processor ID */ 01276 ); 01277 01278 EXODUS_EXPORT int 01279 ex_get_processor_elem_maps(int exoid, /* NetCDF/Exodus file ID */ 01280 void_int *elem_mapi, /* Internal element IDs */ 01281 void_int *elem_mapb, /* Border element IDs */ 01282 int processor /* Processor ID */ 01283 ); 01284 01285 EXODUS_EXPORT int 01286 ex_put_processor_elem_maps(int exoid, /* NetCDF/Exodus file ID */ 01287 void_int *elem_mapi, /* Internal FEM element IDs */ 01288 void_int *elem_mapb, /* Border FEM element IDs */ 01289 int processor /* This processor ID */ 01290 ); 01291 01292 01293 /*============================================================================= 01294 * Communications Maps Routines 01295 *===========================================================================*/ 01296 01297 EXODUS_EXPORT int 01298 ex_get_cmap_params(int exoid, /* NetCDF/Exodus file ID */ 01299 void_int *node_cmap_ids, /* Nodal comm. map IDs */ 01300 void_int *node_cmap_node_cnts, /* Number of nodes in each map */ 01301 void_int *elem_cmap_ids, /* Elemental comm. map IDs */ 01302 void_int *elem_cmap_elem_cnts, /* Number of elems in each map */ 01303 int processor /* This processor ID */ 01304 ); 01305 01306 EXODUS_EXPORT int 01307 ex_put_cmap_params(int exoid, /* NetCDF/Exodus file ID */ 01308 void_int *node_map_ids, /* Node map IDs */ 01309 void_int *node_map_node_cnts,/* Nodes in nodal comm */ 01310 void_int *elem_map_ids, /* Elem map IDs */ 01311 void_int *elem_map_elem_cnts,/* Elems in elemental comm */ 01312 int64_t processor /* This processor ID */ 01313 ); 01314 01315 EXODUS_EXPORT int 01316 ex_put_cmap_params_cc(int exoid, /* NetCDF/Exodus file ID */ 01317 void_int *node_map_ids, /* Node map IDs */ 01318 void_int *node_map_node_cnts, /* Nodes in nodal comm */ 01319 void_int *node_proc_ptrs, /* Pointer into array for */ 01320 /* node maps */ 01321 void_int *elem_map_ids, /* Elem map IDs */ 01322 void_int *elem_map_elem_cnts, /* Elems in elemental comm */ 01323 void_int *elem_proc_ptrs /* Pointer into array for */ 01324 /* elem maps */ 01325 ); 01326 01327 EXODUS_EXPORT int 01328 ex_get_node_cmap(int exoid, /* NetCDF/Exodus file ID */ 01329 ex_entity_id map_id, /* Map ID */ 01330 void_int *node_ids, /* FEM node IDs */ 01331 void_int *proc_ids, /* Processor IDs */ 01332 int processor /* This processor ID */ 01333 ); 01334 01335 EXODUS_EXPORT int 01336 ex_put_node_cmap(int exoid, /* NetCDF/Exodus file ID */ 01337 ex_entity_id map_id, /* Nodal comm map ID */ 01338 void_int *node_ids, /* FEM node IDs */ 01339 void_int *proc_ids, /* Processor IDs */ 01340 int processor /* This processor ID */ 01341 ); 01342 01343 EXODUS_EXPORT int 01344 ex_get_elem_cmap(int exoid, /* NetCDF/Exodus file ID */ 01345 ex_entity_id map_id, /* Elemental comm map ID */ 01346 void_int *elem_ids, /* Element IDs */ 01347 void_int *side_ids, /* Element side IDs */ 01348 void_int *proc_ids, /* Processor IDs */ 01349 int processor /* This processor ID */ 01350 ); 01351 01352 EXODUS_EXPORT int 01353 ex_put_elem_cmap(int exoid, /* NetCDF/Exodus file ID */ 01354 ex_entity_id map_id, /* Elemental comm map ID */ 01355 void_int *elem_ids, /* Vector of element IDs */ 01356 void_int *side_ids, /* Vector of side IDs */ 01357 void_int *proc_ids, /* Vector of processor IDs */ 01358 int processor /* This processor ID */ 01359 ); 01360 01361 /* ======================================================================== 01362 * Deprecated functiona 01363 */ 01364 01365 EXODUS_EXPORT int ex_get_nodal_var (int exoid, 01366 int time_step, 01367 int nodal_var_index, 01368 int64_t num_nodes, 01369 void *nodal_var_vals); 01370 01371 EXODUS_EXPORT int ex_get_nodal_var_time (int exoid, 01372 int nodal_var_index, 01373 int64_t node_number, 01374 int beg_time_step, 01375 int end_time_step, 01376 void *nodal_var_vals); 01377 01378 /* Use ex_get_concat_sets() */ 01379 EXODUS_EXPORT int ex_get_concat_node_sets (int exoid, 01380 void_int *node_set_ids, 01381 void_int *num_nodes_per_set, 01382 void_int *num_df_per_set, 01383 void_int *node_sets_node_index, 01384 void_int *node_sets_df_index, 01385 void_int *node_sets_node_list, 01386 void *node_sets_dist_fact); 01387 01388 01389 EXODUS_EXPORT int ex_get_concat_side_sets (int exoid, 01390 void_int *side_set_ids, 01391 void_int *num_elem_per_set, 01392 void_int *num_dist_per_set, 01393 void_int *side_sets_elem_index, 01394 void_int *side_sets_dist_index, 01395 void_int *side_sets_elem_list, 01396 void_int *side_sets_side_list, 01397 void *side_sets_dist_fact); 01398 01399 EXODUS_EXPORT int ex_get_elem_attr (int exoid, 01400 ex_entity_id elem_blk_id, 01401 void *attrib); 01402 01403 EXODUS_EXPORT int ex_get_elem_attr_names (int exoid, 01404 ex_entity_id elem_blk_id, 01405 char **names); 01406 01407 EXODUS_EXPORT int ex_get_elem_blk_ids (int exoid, 01408 void_int *ids); 01409 01410 EXODUS_EXPORT int ex_get_elem_block (int exoid, 01411 ex_entity_id elem_blk_id, 01412 char *elem_type, 01413 void_int *num_elem_this_blk, 01414 void_int *num_nodes_per_elem, 01415 void_int *num_attr); 01416 01417 EXODUS_EXPORT int ex_get_elem_conn (int exoid, 01418 ex_entity_id elem_blk_id, 01419 void_int *connect); 01420 01421 EXODUS_EXPORT int ex_get_elem_map (int exoid, 01422 ex_entity_id map_id, 01423 void_int *elem_map); 01424 01425 EXODUS_EXPORT int ex_get_elem_num_map (int exoid, 01426 void_int *elem_map); 01427 01428 EXODUS_EXPORT int ex_get_elem_var (int exoid, 01429 int time_step, 01430 int elem_var_index, 01431 ex_entity_id elem_blk_id, 01432 int64_t num_elem_this_blk, 01433 void *elem_var_vals); 01434 01435 EXODUS_EXPORT int ex_get_elem_var_tab (int exoid, 01436 int num_elem_blk, 01437 int num_elem_var, 01438 int *elem_var_tab); 01439 01440 EXODUS_EXPORT int ex_get_elem_var_time (int exoid, 01441 int elem_var_index, 01442 int64_t elem_number, 01443 int beg_time_step, 01444 int end_time_step, 01445 void *elem_var_vals); 01446 01447 EXODUS_EXPORT int ex_get_map (int exoid, void_int *elem_map); 01448 01449 EXODUS_EXPORT int ex_get_node_map (int exoid, 01450 ex_entity_id map_id, 01451 void_int *node_map); 01452 01453 EXODUS_EXPORT int ex_get_node_num_map (int exoid, 01454 void_int *node_map); 01455 01456 EXODUS_EXPORT int ex_get_node_set_param (int exoid, 01457 ex_entity_id node_set_id, 01458 void_int *num_nodes_in_set, 01459 void_int *num_df_in_set); 01460 01461 EXODUS_EXPORT int ex_get_node_set (int exoid, 01462 ex_entity_id node_set_id, 01463 void_int *node_set_node_list); 01464 01465 EXODUS_EXPORT int ex_get_node_set_dist_fact (int exoid, 01466 ex_entity_id node_set_id, 01467 void *node_set_dist_fact); 01468 01469 EXODUS_EXPORT int ex_get_node_set_ids (int exoid, 01470 void_int *ids); 01471 01472 EXODUS_EXPORT int ex_get_nset_var_tab (int exoid, 01473 int num_nodesets, 01474 int num_nset_var, 01475 int *nset_var_tab); 01476 01477 EXODUS_EXPORT int ex_get_nset_var (int exoid, 01478 int time_step, 01479 int nset_var_index, 01480 ex_entity_id nset_id, 01481 int64_t num_node_this_nset, 01482 void *nset_var_vals); 01483 01484 EXODUS_EXPORT int ex_get_one_elem_attr (int exoid, 01485 ex_entity_id elem_blk_id, 01486 int attrib_index, 01487 void *attrib); 01488 01489 EXODUS_EXPORT int ex_get_side_set (int exoid, 01490 ex_entity_id side_set_id, 01491 void_int *side_set_elem_list, 01492 void_int *side_set_side_list); 01493 01494 EXODUS_EXPORT int ex_get_side_set_dist_fact (int exoid, 01495 ex_entity_id side_set_id, 01496 void *side_set_dist_fact); 01497 01498 EXODUS_EXPORT int ex_get_side_set_ids (int exoid, 01499 void_int *ids); 01500 01501 EXODUS_EXPORT int ex_get_side_set_param (int exoid, 01502 ex_entity_id side_set_id, 01503 void_int *num_side_in_set, 01504 void_int *num_dist_fact_in_set); 01505 01506 EXODUS_EXPORT int ex_get_sset_var (int exoid, 01507 int time_step, 01508 int sset_var_index, 01509 ex_entity_id sset_id, 01510 int64_t num_side_this_sset, 01511 void *sset_var_vals); 01512 01513 EXODUS_EXPORT int ex_get_sset_var_tab (int exoid, 01514 int num_sidesets, 01515 int num_sset_var, 01516 int *sset_var_tab); 01517 01518 EXODUS_EXPORT int ex_get_var_names (int exoid, 01519 const char *var_type, 01520 int num_vars, 01521 char *var_names[]); 01522 01523 EXODUS_EXPORT int ex_get_var_name (int exoid, 01524 const char *var_type, 01525 int var_num, 01526 char *var_name); 01527 01528 EXODUS_EXPORT int ex_get_var_param (int exoid, 01529 const char *var_type, 01530 int *num_vars); 01531 01532 EXODUS_EXPORT int ex_get_var_tab (int exoid, 01533 const char *var_type, 01534 int num_blk, 01535 int num_var, 01536 int *var_tab); 01537 01538 EXODUS_EXPORT int ex_put_concat_node_sets (int exoid, 01539 void_int *node_set_ids, 01540 void_int *num_nodes_per_set, 01541 void_int *num_dist_per_set, 01542 void_int *node_sets_node_index, 01543 void_int *node_sets_df_index, 01544 void_int *node_sets_node_list, 01545 void *node_sets_dist_fact); 01546 01547 EXODUS_EXPORT int ex_put_concat_side_sets (int exoid, 01548 void_int *side_set_ids, 01549 void_int *num_elem_per_set, 01550 void_int *num_dist_per_set, 01551 void_int *side_sets_elem_index, 01552 void_int *side_sets_dist_index, 01553 void_int *side_sets_elem_list, 01554 void_int *side_sets_side_list, 01555 void *side_sets_dist_fact); 01556 01557 EXODUS_EXPORT int ex_put_concat_var_param (int exoid, int num_g, int num_n, 01558 int num_e, int num_elem_blk, int *elem_var_tab); 01559 01560 EXODUS_EXPORT int ex_put_elem_attr_names(int exoid, 01561 ex_entity_id elem_blk_id, 01562 char *names[]); 01563 EXODUS_EXPORT int ex_put_elem_attr (int exoid, 01564 ex_entity_id elem_blk_id, 01565 const void *attrib); 01566 01567 EXODUS_EXPORT int ex_put_elem_block (int exoid, 01568 ex_entity_id elem_blk_id, 01569 const char *elem_type, 01570 int64_t num_elem_this_blk, 01571 int64_t num_nodes_per_elem, 01572 int64_t num_attr); 01573 01574 EXODUS_EXPORT int ex_put_elem_conn (int exoid, 01575 ex_entity_id elem_blk_id, 01576 const void_int *connect); 01577 01578 EXODUS_EXPORT int ex_put_elem_map (int exoid, 01579 ex_entity_id map_id, 01580 const void_int *elem_map); 01581 01582 EXODUS_EXPORT int ex_put_elem_num_map (int exoid, 01583 const void_int *elem_map); 01584 01585 EXODUS_EXPORT int ex_put_elem_var (int exoid, 01586 int time_step, 01587 int elem_var_index, 01588 ex_entity_id elem_blk_id, 01589 int64_t num_elem_this_blk, 01590 const void *elem_var_vals); 01591 01592 EXODUS_EXPORT int ex_put_elem_var_tab (int exoid, 01593 int num_elem_blk, 01594 int num_elem_var, 01595 int *elem_var_tab); 01596 01597 EXODUS_EXPORT int ex_put_glob_vars (int exoid, 01598 int time_step, 01599 int num_glob_vars, 01600 const void *glob_var_vals); 01601 01602 EXODUS_EXPORT int ex_put_map (int exoid, 01603 const void_int *elem_map); 01604 01605 EXODUS_EXPORT int ex_put_node_map (int exoid, 01606 ex_entity_id map_id, 01607 const void_int *node_map); 01608 01609 EXODUS_EXPORT int ex_put_node_num_map (int exoid, 01610 const void_int *node_map); 01611 01612 EXODUS_EXPORT int ex_put_node_set (int exoid, 01613 ex_entity_id node_set_id, 01614 const void_int *node_set_node_list); 01615 01616 EXODUS_EXPORT int ex_put_node_set_dist_fact (int exoid, 01617 ex_entity_id node_set_id, 01618 const void *node_set_dist_fact); 01619 01620 EXODUS_EXPORT int ex_put_node_set_param (int exoid, 01621 ex_entity_id node_set_id, 01622 int64_t num_nodes_in_set, 01623 int64_t num_dist_in_set); 01624 01625 EXODUS_EXPORT int ex_put_nset_var (int exoid, 01626 int time_step, 01627 int nset_var_index, 01628 ex_entity_id nset_id, 01629 int64_t num_nodes_this_nset, 01630 const void *nset_var_vals); 01631 01632 EXODUS_EXPORT int ex_put_nset_var_tab (int exoid, 01633 int num_nset, 01634 int num_nset_var, 01635 int *nset_var_tab); 01636 01637 EXODUS_EXPORT int ex_put_one_elem_attr (int exoid, 01638 ex_entity_id elem_blk_id, 01639 int attrib_index, 01640 const void *attrib); 01641 01642 EXODUS_EXPORT int ex_put_side_set (int exoid, 01643 ex_entity_id side_set_id, 01644 const void_int *side_set_elem_list, 01645 const void_int *side_set_side_list); 01646 01647 EXODUS_EXPORT int ex_put_side_set_dist_fact (int exoid, 01648 ex_entity_id side_set_id, 01649 const void *side_set_dist_fact); 01650 01651 EXODUS_EXPORT int ex_put_side_set_param (int exoid, 01652 ex_entity_id side_set_id, 01653 int64_t num_side_in_set, 01654 int64_t num_dist_fact_in_set); 01655 01656 EXODUS_EXPORT int ex_put_sset_var (int exoid, 01657 int time_step, 01658 int sset_var_index, 01659 ex_entity_id sset_id, 01660 int64_t num_faces_this_sset, 01661 const void *sset_var_vals); 01662 01663 EXODUS_EXPORT int ex_put_sset_var_tab (int exoid, 01664 int num_sset, 01665 int num_sset_var, 01666 int *sset_var_tab); 01667 01668 EXODUS_EXPORT int ex_put_var_name (int exoid, 01669 const char *var_type, 01670 int var_num, 01671 const char *var_name); 01672 01673 EXODUS_EXPORT int ex_put_var_names (int exoid, 01674 const char *var_type, 01675 int num_vars, 01676 char *var_names[]); 01677 01678 EXODUS_EXPORT int ex_put_var_param (int exoid, 01679 const char *var_type, 01680 int num_vars); 01681 01682 EXODUS_EXPORT int ex_put_var_tab (int exoid, 01683 const char *var_type, 01684 int num_blk, 01685 int num_var, 01686 int *var_tab); 01687 01688 /* End of Deprecated functions and their replacements 01689 * ======================================================================== */ 01690 01691 /* ERROR CODE DEFINITIONS AND STORAGE */ 01692 extern int exerrval; /**< shared error return value */ 01693 extern int exoptval; /**< error reporting flag (default is quiet) */ 01694 01695 char* ex_name_of_object(ex_entity_type obj_type); 01696 ex_entity_type ex_var_type_to_ex_entity_type(char var_type); 01697 01698 /* Should be internal use only, but was in external include file for 01699 nemesis and some codes are using the function 01700 */ 01701 int ex_get_idx(int neid, /* NetCDF/Exodus file ID */ 01702 const char *ne_var_name, /* Nemesis index variable name */ 01703 int64_t *index, /* array of length 2 to hold results */ 01704 int pos /* position of this proc/cmap in index */ 01705 ); 01706 01707 01708 #ifdef __cplusplus 01709 } /* close brackets on extern "C" declaration */ 01710 #endif 01711 01712 /** 01713 * \defgroup ErrorReturnCodes Exodus error return codes - exerrval return values 01714 * @{ 01715 */ 01716 #define EX_MEMFAIL 1000 /**< memory allocation failure flag def */ 01717 #define EX_BADFILEMODE 1001 /**< bad file mode def */ 01718 #define EX_BADFILEID 1002 /**< bad file id def */ 01719 #define EX_WRONGFILETYPE 1003 /**< wrong file type for function */ 01720 #define EX_LOOKUPFAIL 1004 /**< id table lookup failed */ 01721 #define EX_BADPARAM 1005 /**< bad parameter passed */ 01722 #define EX_MSG -1000 /**< message print code - no error implied */ 01723 #define EX_PRTLASTMSG -1001 /**< print last error message msg code */ 01724 #define EX_NULLENTITY -1006 /**< null entity found */ 01725 /* @} */ 01726 01727 #endif 01728