Exodus 7.21

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
exodusII_int.h File Reference
`#include "exodus_config.h"`
`#include "netcdf.h"`
`#include <inttypes.h>`
`#include <assert.h>`
`#include <ctype.h>`
`#include <string.h>`
`#include <stdio.h>`

Go to the source code of this file.

## Data Structures
struct | ex_file_item
struct | elem_blk_parm
struct | list_item
struct | obj_stats

## Macros
#define | snprintf_nowarn(...) (snprintf(__VA_ARGS__) < 0 ? abort() : (void)0)
#define | ST_ZU "lu"
#define | MAX_VAR_NAME_LENGTH 32
#define | EXODUS_DEFAULT_SIZE 1
#define | EX_FILE_ID_MASK (0xffff0000) /* Must match FILE_ID_MASK in netcdf nc4internal.h */
#define | EX_GRP_ID_MASK (0x0000ffff) /* Must match GRP_ID_MASK in netcdf nc4internal.h */
#define | EX_FUNC_ENTER()
#define | EX_FUNC_ENTER_INT()
#define | EX_FUNC_LEAVE(error) return error
#define | EX_FUNC_VOID() return
#define | EX_UNUSED(A)
#define | ATT_FILE_TYPE "type" /* obsolete */
#define | ATT_TITLE "title" /* the database title */
#define | ATT_API_VERSION "api_version" /* the EXODUS api vers # */
#define | ATT_API_VERSION_BLANK "api version" /* the EXODUS api vers # */
#define | ATT_VERSION "version" /* the EXODUS file vers # */
#define | ATT_FILESIZE "file_size" /* 1=large, 0=normal */
#define | ATT_FLT_WORDSIZE "floating_point_word_size"
#define | ATT_FLT_WORDSIZE_BLANK "floating point word size"
#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 */
#define | DIM_NUM_EL_IN_BLK(num) ex_catstr("num_el_in_blk", num)
#define | DIM_NUM_NOD_PER_EL(num) ex_catstr("num_nod_per_el", num)
#define | DIM_NUM_ATT_IN_BLK(num) ex_catstr("num_att_in_blk", num)
#define | DIM_NUM_ED_IN_EBLK(num) ex_catstr("num_ed_in_blk", num)
#define | DIM_NUM_NOD_PER_ED(num) ex_catstr("num_nod_per_ed", num)
#define | DIM_NUM_EDG_PER_EL(num) ex_catstr("num_edg_per_el", num)
#define | DIM_NUM_ATT_IN_EBLK(num) ex_catstr("num_att_in_eblk", num)
#define | DIM_NUM_FA_IN_FBLK(num) ex_catstr("num_fa_in_blk", num)
#define | DIM_NUM_NOD_PER_FA(num) ex_catstr("num_nod_per_fa", num)
#define | DIM_NUM_FAC_PER_EL(num) ex_catstr("num_fac_per_el", num)
#define | DIM_NUM_ATT_IN_FBLK(num) ex_catstr("num_att_in_fblk", num)
#define | VAR_CONN(num) ex_catstr("connect", num)
#define | VAR_EBEPEC(num) ex_catstr("ebepecnt", num)
#define | VAR_ATTRIB(num) ex_catstr("attrib", num)
#define | VAR_NAME_ATTRIB(num) ex_catstr("attrib_name", num)
#define | VAR_EB_PROP(num) ex_catstr("eb_prop", num)
#define | VAR_ECONN(num) ex_catstr("edgconn", num)
#define | VAR_EBCONN(num) ex_catstr("ebconn", num)
#define | VAR_EATTRIB(num) ex_catstr("eattrb", num)
#define | VAR_NAME_EATTRIB(num) ex_catstr("eattrib_name", 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)
#define | VAR_FCONN(num) ex_catstr("facconn", num)
#define | VAR_FBCONN(num) ex_catstr("fbconn", num)
#define | VAR_FBEPEC(num) ex_catstr("fbepecnt", num)
#define | VAR_FATTRIB(num) ex_catstr("fattrb", num)
#define | VAR_NAME_FATTRIB(num) ex_catstr("fattrib_name", num)
#define | VAR_FA_PROP(num) ex_catstr("fa_prop", num)
#define | ATT_PROP_NAME "name" /* name attached to element */
#define | VAR_MAP "elem_map" /* element order map */
#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)
#define | DIM_NUM_DF_SS(num) ex_catstr("num_df_ss", num)
#define | VAR_FACT_SS(num) ex_catstr("dist_fact_ss", num)
#define | VAR_ELEM_SS(num) ex_catstr("elem_ss", num)
#define | VAR_SIDE_SS(num) ex_catstr("side_ss", num)
#define | VAR_SS_PROP(num) ex_catstr("ss_prop", num)
#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)
#define | DIM_NUM_DF_ES(num) ex_catstr("num_df_es", num)
#define | VAR_FACT_ES(num) ex_catstr("dist_fact_es", num)
#define | VAR_EDGE_ES(num) ex_catstr("edge_es", num)
#define | VAR_ORNT_ES(num) ex_catstr("ornt_es", num)
#define | VAR_ES_PROP(num) ex_catstr("es_prop", num)
#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)
#define | DIM_NUM_DF_FS(num) ex_catstr("num_df_fs", num)
#define | VAR_FACT_FS(num) ex_catstr("dist_fact_fs", num)
#define | VAR_FACE_FS(num) ex_catstr("face_fs", num)
#define | VAR_ORNT_FS(num) ex_catstr("ornt_fs", num)
#define | VAR_FS_PROP(num) ex_catstr("fs_prop", num)
#define | DIM_NUM_ELS "num_elem_sets" /* # of elem sets */
#define | DIM_NUM_ELE_ELS(num) ex_catstr("num_ele_els", num)
#define | DIM_NUM_DF_ELS(num) ex_catstr("num_df_els", 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)
#define | VAR_FACT_ELS(num) ex_catstr("dist_fact_els", num)
#define | VAR_ELS_PROP(num) ex_catstr("els_prop", num)
#define | DIM_NUM_NS "num_node_sets" /* # of node sets */
#define | DIM_NUM_NOD_NS(num) ex_catstr("num_nod_ns", num)
#define | DIM_NUM_DF_NS(num) ex_catstr("num_df_ns", 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)
#define | VAR_FACT_NS(num) ex_catstr("dist_fact_ns", num)
#define | VAR_NS_PROP(num) ex_catstr("ns_prop", num)
#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*/
#define | VAR_ELEM_TAB "elem_var_tab" /* element variable truth */
#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 */
#define | VAR_SSET_TAB "sset_var_tab" /* sideset variable truth */
#define | VAR_FSET_TAB "fset_var_tab" /* faceset variable truth */
#define | VAR_ESET_TAB "eset_var_tab" /* edgeset variable truth */
#define | VAR_NSET_TAB "nset_var_tab" /* nodeset variable truth */
#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)
#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)
#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)
#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)
#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)
#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)
#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)
#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)
#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)
#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 */
#define | DIM_STR_NAME "len_name" /* general dimension of */
#define | DIM_LIN "len_line" /* general dimension of */
#define | DIM_N4 "four" /* general dimension of */
#define | DIM_TIME "time_step" /* unlimited (expandable) */
#define | DIM_HTIME "hist_time_step" /* obsolete */
#define | VAR_ELEM_NUM_MAP "elem_num_map" /* element numbering map */
#define | VAR_FACE_NUM_MAP "face_num_map" /* face numbering map */
#define | VAR_EDGE_NUM_MAP "edge_num_map" /* edge numbering map */
#define | VAR_NODE_NUM_MAP "node_num_map" /* node numbering map */
#define | DIM_NUM_EM "num_elem_maps" /* # of element maps */
#define | VAR_ELEM_MAP(num) ex_catstr("elem_map", num)
#define | VAR_EM_PROP(num) ex_catstr("em_prop", num)
#define | DIM_NUM_EDM "num_edge_maps" /* # of edge maps */
#define | VAR_EDGE_MAP(num) ex_catstr("edge_map", num)
#define | VAR_EDM_PROP(num) ex_catstr("edm_prop", num)
#define | DIM_NUM_FAM "num_face_maps" /* # of face maps */
#define | VAR_FACE_MAP(num) ex_catstr("face_map", num)
#define | VAR_FAM_PROP(num) ex_catstr("fam_prop", num)
#define | DIM_NUM_NM "num_node_maps" /* # of node maps */
#define | VAR_NODE_MAP(num) ex_catstr("node_map", num)
#define | VAR_NM_PROP(num) ex_catstr("nm_prop", num)
#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"

## Typedefs
typedef enum ex_element_type | ex_element_type
typedef enum ex_coordinate_frame_type | ex_coordinate_frame_type

## Enumerations
enum | ex_element_type { EX_EL_UNK = -1, EX_EL_NULL_ELEMENT = 0, EX_EL_TRIANGLE = 1, EX_EL_QUAD = 2, EX_EL_HEX = 3, EX_EL_WEDGE = 4, EX_EL_TETRA = 5, EX_EL_TRUSS = 6, EX_EL_BEAM = 7, EX_EL_SHELL = 8, EX_EL_SPHERE = 9, EX_EL_CIRCLE = 10, EX_EL_TRISHELL = 11, EX_EL_PYRAMID = 12 }
enum | ex_coordinate_frame_type { EX_CF_RECTANGULAR = 1, EX_CF_CYLINDRICAL = 2, EX_CF_SPHERICAL = 3 }

## Functions
void | ex_reset_error_status ()
void | ex_iqsort (int v[], int iv[], int N)
void | ex_iqsort64 (int64_t v[], int64_t iv[], int64_t N)
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, int is_hdf5, int is_pnetcdf)
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 **)
struct ex_file_item * | ex_find_file_item (int exoid)
struct ex_file_item * | ex_add_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)
void | ex_check_valid_file_id (int exoid, const char *func)
int | ex_check_file_type (const char *path, int *type)
int | ex_get_dimension (int exoid, const char *DIMENSION, const char *label, size_t *count, int *dimid, const char *routine)
int | ex_get_nodal_var_int (int exoid, int time_step, int nodal_var_index, int64_t num_nodes, void *nodal_var_vals)
int | ex_put_nodal_var_int (int exoid, int time_step, int nodal_var_index, int64_t num_nodes, const void *nodal_var_vals)
int | ex_get_nodal_var_time_int (int exoid, int nodal_var_index, int64_t node_number, int beg_time_step, int end_time_step, void *nodal_var_vals)
int | ex_get_partial_nodal_var_int (int exoid, int time_step, int nodal_var_index, int64_t start_node, int64_t num_nodes, void *var_vals)
int | ex_put_partial_nodal_var_int (int exoid, int time_step, int nodal_var_index, int64_t start_node, int64_t num_nodes, const void *nodal_var_vals)
int | ex_get_glob_vars_int (int exoid, int time_step, int num_glob_vars, void *glob_var_vals)
int | ex_get_glob_var_time_int (int exoid, int glob_var_index, int beg_time_step, int end_time_step, void *glob_var_vals)
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)
int | ex_get_names_internal (int exoid, int varid, size_t num_entity, char **names, ex_entity_type obj_type, const char *routine)
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 | 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)
void | ex_trim_internal (char *name)
void | ex_update_max_name_length (int exoid, int length)
int | ex_leavedef (int exoid, const char *call_rout)
int | ex_int_handle_mode (unsigned int my_mode, int is_parallel, int run_version)
int | ex_int_populate_header (int exoid, const char *path, int my_mode, int is_parallel, int *comp_ws, int *io_ws)
int | ex_int_get_block_param (int exoid, ex_entity_id id, int ndim, struct elem_blk_parm *elem_blk_parm)
int | ex_get_file_type (int exoid, char *ftype)
int | ex_put_nemesis_version (int exoid)
int | ne_check_file_version (int neid)
int | ne_id_lkup (int exoid, const char *ne_var_name, int64_t *idx, ex_entity_id ne_var_id)

## Variables
struct obj_stats * | exoII_eb
struct obj_stats * | exoII_ed
struct obj_stats * | exoII_fa
struct obj_stats * | exoII_ns
struct obj_stats * | exoII_es
struct obj_stats * | exoII_fs
struct obj_stats * | exoII_ss
struct obj_stats * | exoII_els
struct obj_stats * | exoII_em
struct obj_stats * | exoII_edm
struct obj_stats * | exoII_fam
struct obj_stats * | exoII_nm
int | ex_default_max_name_length

## Macro Definition Documentation

## ◆ ATT_API_VERSION

#define ATT_API_VERSION "api_version" /* the EXODUS api vers # */

## ◆ ATT_API_VERSION_BLANK

#define ATT_API_VERSION_BLANK "api version" /* the EXODUS api vers # */

## ◆ ATT_FILE_TYPE

#define ATT_FILE_TYPE "type" /* obsolete */

## ◆ ATT_FILESIZE

#define ATT_FILESIZE "file_size" /* 1=large, 0=normal */

## ◆ ATT_FLT_WORDSIZE

#define ATT_FLT_WORDSIZE "floating_point_word_size"

## ◆ ATT_FLT_WORDSIZE_BLANK

#define ATT_FLT_WORDSIZE_BLANK "floating point word size"

## ◆ ATT_INT64_STATUS

#define ATT_INT64_STATUS "int64_status"

## ◆ ATT_MAX_NAME_LENGTH

#define ATT_MAX_NAME_LENGTH "maximum_name_length"

## ◆ ATT_NAME_ELB

#define ATT_NAME_ELB "elem_type" /* element type names for */

## ◆ ATT_PROP_NAME

#define ATT_PROP_NAME "name" /* name attached to element */

## ◆ ATT_TITLE

#define ATT_TITLE "title" /* the database title */

## ◆ ATT_VERSION

#define ATT_VERSION "version" /* the EXODUS file vers # */

## ◆ DIM_ECNT_CMAP

#define DIM_ECNT_CMAP "ecnt_cmap"

## ◆ DIM_HTIME

#define DIM_HTIME "hist_time_step" /* obsolete */

## ◆ DIM_LIN

#define DIM_LIN "len_line" /* general dimension of */

## ◆ DIM_N4

#define DIM_N4 "four" /* general dimension of */

## ◆ DIM_NCNT_CMAP

#define DIM_NCNT_CMAP "ncnt_cmap"

## ◆ DIM_NUM_ATT_IN_BLK

#define DIM_NUM_ATT_IN_BLK | ( |  | num | ) | ex_catstr("num_att_in_blk", num)

## ◆ DIM_NUM_ATT_IN_EBLK

#define DIM_NUM_ATT_IN_EBLK | ( |  | num | ) | ex_catstr("num_att_in_eblk", num)

## ◆ DIM_NUM_ATT_IN_ELS

#define DIM_NUM_ATT_IN_ELS | ( |  | num | ) | ex_catstr("num_att_in_els", num)

## ◆ DIM_NUM_ATT_IN_ES

#define DIM_NUM_ATT_IN_ES | ( |  | num | ) | ex_catstr("num_att_in_es", num)

## ◆ DIM_NUM_ATT_IN_FBLK

#define DIM_NUM_ATT_IN_FBLK | ( |  | num | ) | ex_catstr("num_att_in_fblk", num)

## ◆ DIM_NUM_ATT_IN_FS

#define DIM_NUM_ATT_IN_FS | ( |  | num | ) | ex_catstr("num_att_in_fs", num)

## ◆ DIM_NUM_ATT_IN_NBLK

#define DIM_NUM_ATT_IN_NBLK "num_att_in_nblk"

## ◆ DIM_NUM_ATT_IN_NS

#define DIM_NUM_ATT_IN_NS | ( |  | num | ) | ex_catstr("num_att_in_ns", num)

## ◆ DIM_NUM_ATT_IN_SS

#define DIM_NUM_ATT_IN_SS | ( |  | num | ) | ex_catstr("num_att_in_ss", num)

## ◆ DIM_NUM_BOR_ELEMS

#define DIM_NUM_BOR_ELEMS "num_bor_elem"

## ◆ DIM_NUM_BOR_NODES

#define DIM_NUM_BOR_NODES "num_bor_node"

## ◆ DIM_NUM_CFRAME9

#define DIM_NUM_CFRAME9 "num_cframes_9"

## ◆ DIM_NUM_CFRAMES

#define DIM_NUM_CFRAMES "num_cframes"

## ◆ DIM_NUM_DF_ELS

#define DIM_NUM_DF_ELS | ( |  | num | ) | ex_catstr("num_df_els", num)

## ◆ DIM_NUM_DF_ES

#define DIM_NUM_DF_ES | ( |  | num | ) | ex_catstr("num_df_es", num)

## ◆ DIM_NUM_DF_FS

#define DIM_NUM_DF_FS | ( |  | num | ) | ex_catstr("num_df_fs", num)

## ◆ DIM_NUM_DF_NS

#define DIM_NUM_DF_NS | ( |  | num | ) | ex_catstr("num_df_ns", num)

## ◆ DIM_NUM_DF_SS

#define DIM_NUM_DF_SS | ( |  | num | ) | ex_catstr("num_df_ss", num)

## ◆ DIM_NUM_DIM

#define DIM_NUM_DIM "num_dim" /* # of dimensions; 2- or 3-d*/

## ◆ DIM_NUM_E_CMAPS

#define DIM_NUM_E_CMAPS "num_e_cmaps"

## ◆ DIM_NUM_ED_BLK

#define DIM_NUM_ED_BLK "num_ed_blk" /* # of edge blocks */

## ◆ DIM_NUM_ED_IN_EBLK

#define DIM_NUM_ED_IN_EBLK | ( |  | num | ) | ex_catstr("num_ed_in_blk", num)

## ◆ DIM_NUM_EDG_PER_EL

#define DIM_NUM_EDG_PER_EL | ( |  | num | ) | ex_catstr("num_edg_per_el", num)

## ◆ DIM_NUM_EDG_VAR

#define DIM_NUM_EDG_VAR "num_edge_var" /* # of edge variables */

## ◆ DIM_NUM_EDGE

#define DIM_NUM_EDGE "num_edge" /* # of edges (over all blks)*/

## ◆ DIM_NUM_EDGE_ES

#define DIM_NUM_EDGE_ES | ( |  | num | ) | ex_catstr("num_edge_es", num)

## ◆ DIM_NUM_EDM

#define DIM_NUM_EDM "num_edge_maps" /* # of edge maps */

## ◆ DIM_NUM_EL_BLK

#define DIM_NUM_EL_BLK "num_el_blk" /* # of element blocks */

## ◆ DIM_NUM_EL_IN_BLK

#define DIM_NUM_EL_IN_BLK | ( |  | num | ) | ex_catstr("num_el_in_blk", num)

## ◆ DIM_NUM_ELBLK_GLOBAL

#define DIM_NUM_ELBLK_GLOBAL "num_el_blk_global"

## ◆ DIM_NUM_ELE_ELS

#define DIM_NUM_ELE_ELS | ( |  | num | ) | ex_catstr("num_ele_els", num)

## ◆ DIM_NUM_ELE_VAR

#define DIM_NUM_ELE_VAR "num_elem_var" /* # of element variables */

## ◆ DIM_NUM_ELEM

#define DIM_NUM_ELEM "num_elem" /* # of elements */

## ◆ DIM_NUM_ELEMS_GLOBAL

#define DIM_NUM_ELEMS_GLOBAL "num_elems_global"

## ◆ DIM_NUM_ELS

#define DIM_NUM_ELS "num_elem_sets" /* # of elem sets */

## ◆ DIM_NUM_ELSET_VAR

#define DIM_NUM_ELSET_VAR "num_elset_var" /* # of element set variables*/

## ◆ DIM_NUM_EM

#define DIM_NUM_EM "num_elem_maps" /* # of element maps */

## ◆ DIM_NUM_ES

#define DIM_NUM_ES "num_edge_sets" /* # of edge sets */

## ◆ DIM_NUM_ESET_VAR

#define DIM_NUM_ESET_VAR "num_eset_var" /* # of edgeset variables */

## ◆ DIM_NUM_EXT_NODES

#define DIM_NUM_EXT_NODES "num_ext_node"

## ◆ DIM_NUM_FA_BLK

#define DIM_NUM_FA_BLK "num_fa_blk" /* # of face blocks */

## ◆ DIM_NUM_FA_IN_FBLK

#define DIM_NUM_FA_IN_FBLK | ( |  | num | ) | ex_catstr("num_fa_in_blk", num)

## ◆ DIM_NUM_FAC_PER_EL

#define DIM_NUM_FAC_PER_EL | ( |  | num | ) | ex_catstr("num_fac_per_el", num)

## ◆ DIM_NUM_FAC_VAR

#define DIM_NUM_FAC_VAR "num_face_var" /* # of face variables */

## ◆ DIM_NUM_FACE

#define DIM_NUM_FACE "num_face" /* # of faces (over all blks)*/

## ◆ DIM_NUM_FACE_FS

#define DIM_NUM_FACE_FS | ( |  | num | ) | ex_catstr("num_face_fs", num)

## ◆ DIM_NUM_FAM

#define DIM_NUM_FAM "num_face_maps" /* # of face maps */

## ◆ DIM_NUM_FS

#define DIM_NUM_FS "num_face_sets" /* # of face sets */

## ◆ DIM_NUM_FSET_VAR

#define DIM_NUM_FSET_VAR "num_fset_var" /* # of faceset variables */

## ◆ DIM_NUM_GLO_VAR

#define DIM_NUM_GLO_VAR "num_glo_var" /* # of global variables */

## ◆ DIM_NUM_HIS_VAR

#define DIM_NUM_HIS_VAR "num_his_var" /* obsolete */

## ◆ DIM_NUM_INFO

#define DIM_NUM_INFO "num_info" /* # of information records */

## ◆ DIM_NUM_INT_ELEMS

#define DIM_NUM_INT_ELEMS "num_int_elem"

## ◆ DIM_NUM_INT_NODES

#define DIM_NUM_INT_NODES "num_int_node"

## ◆ DIM_NUM_N_CMAPS

#define DIM_NUM_N_CMAPS "num_n_cmaps"

## ◆ DIM_NUM_NM

#define DIM_NUM_NM "num_node_maps" /* # of node maps */

## ◆ DIM_NUM_NOD_NS

#define DIM_NUM_NOD_NS | ( |  | num | ) | ex_catstr("num_nod_ns", num)

## ◆ DIM_NUM_NOD_PER_ED

#define DIM_NUM_NOD_PER_ED | ( |  | num | ) | ex_catstr("num_nod_per_ed", num)

## ◆ DIM_NUM_NOD_PER_EL

#define DIM_NUM_NOD_PER_EL | ( |  | num | ) | ex_catstr("num_nod_per_el", num)

## ◆ DIM_NUM_NOD_PER_FA

#define DIM_NUM_NOD_PER_FA | ( |  | num | ) | ex_catstr("num_nod_per_fa", num)

## ◆ DIM_NUM_NOD_VAR

#define DIM_NUM_NOD_VAR "num_nod_var" /* # of nodal variables */

## ◆ DIM_NUM_NODES

#define DIM_NUM_NODES "num_nodes" /* # of nodes */

## ◆ DIM_NUM_NODES_GLOBAL

#define DIM_NUM_NODES_GLOBAL "num_nodes_global"

## ◆ DIM_NUM_NS

#define DIM_NUM_NS "num_node_sets" /* # of node sets */

## ◆ DIM_NUM_NS_GLOBAL

#define DIM_NUM_NS_GLOBAL "num_ns_global"

## ◆ DIM_NUM_NSET_VAR

#define DIM_NUM_NSET_VAR "num_nset_var" /* # of nodeset variables */

## ◆ DIM_NUM_PROCS

#define DIM_NUM_PROCS "num_processors"

## ◆ DIM_NUM_PROCS_F

#define DIM_NUM_PROCS_F "num_procs_file"

## ◆ DIM_NUM_QA

#define DIM_NUM_QA "num_qa_rec" /* # of QA records */

## ◆ DIM_NUM_SIDE_SS

#define DIM_NUM_SIDE_SS | ( |  | num | ) | ex_catstr("num_side_ss", num)

## ◆ DIM_NUM_SS

#define DIM_NUM_SS "num_side_sets" /* # of side sets */

## ◆ DIM_NUM_SS_GLOBAL

#define DIM_NUM_SS_GLOBAL "num_ss_global"

## ◆ DIM_NUM_SSET_VAR

#define DIM_NUM_SSET_VAR "num_sset_var" /* # of sideset variables */

## ◆ DIM_STR

#define DIM_STR "len_string" /* general dimension of */

## ◆ DIM_STR_NAME

#define DIM_STR_NAME "len_name" /* general dimension of */

## ◆ DIM_TIME

#define DIM_TIME "time_step" /* unlimited (expandable) */

## ◆ EX_FILE_ID_MASK

#define EX_FILE_ID_MASK (0xffff0000) /* Must match FILE_ID_MASK in netcdf nc4internal.h */

## ◆ EX_FUNC_ENTER

#define EX_FUNC_ENTER | ( |  | ) |

Value:
{ \
ex_reset_error_status(); \
}

## ◆ EX_FUNC_ENTER_INT

#define EX_FUNC_ENTER_INT | ( |  | ) |

## ◆ EX_FUNC_LEAVE

#define EX_FUNC_LEAVE | ( |  | error | ) | return error

## ◆ EX_FUNC_VOID

#define EX_FUNC_VOID | ( |  | ) | return

## ◆ EX_GRP_ID_MASK

#define EX_GRP_ID_MASK (0x0000ffff) /* Must match GRP_ID_MASK in netcdf nc4internal.h */

## ◆ EX_UNUSED

#define EX_UNUSED | ( |  | A | ) |

Value:
do { \
(void)(A); \
} while (0)

## ◆ EXODUS_DEFAULT_SIZE

#define EXODUS_DEFAULT_SIZE 1

## ◆ MAX_VAR_NAME_LENGTH

#define MAX_VAR_NAME_LENGTH 32

Internal use only

## ◆ snprintf_nowarn

#define snprintf_nowarn | ( |  | ... | ) | (snprintf(__VA_ARGS__) < 0 ? abort() : (void)0)

## ◆ ST_ZU

#define ST_ZU "lu"

## ◆ VAR_ATTRIB

#define VAR_ATTRIB | ( |  | num | ) | ex_catstr("attrib", num)

## ◆ VAR_BOR_E_STAT

#define VAR_BOR_E_STAT "bor_e_stat"

## ◆ VAR_BOR_N_STAT

#define VAR_BOR_N_STAT "bor_n_stat"

## ◆ VAR_COMM_MAP

#define VAR_COMM_MAP "comm_map"

## ◆ VAR_CONN

#define VAR_CONN | ( |  | num | ) | ex_catstr("connect", num)

## ◆ VAR_COORD

#define VAR_COORD "coord" /* nodal coordinates */

## ◆ VAR_COORD_X

#define VAR_COORD_X "coordx" /* X-dimension coordinate */

## ◆ VAR_COORD_Y

#define VAR_COORD_Y "coordy" /* Y-dimension coordinate */

## ◆ VAR_COORD_Z

#define VAR_COORD_Z "coordz" /* Z-dimension coordinate */

## ◆ VAR_E_COMM_DATA_IDX

#define VAR_E_COMM_DATA_IDX "e_comm_data_idx"

## ◆ VAR_E_COMM_EIDS

#define VAR_E_COMM_EIDS "e_comm_eids"

## ◆ VAR_E_COMM_IDS

#define VAR_E_COMM_IDS "e_comm_ids"

## ◆ VAR_E_COMM_INFO_IDX

#define VAR_E_COMM_INFO_IDX "e_comm_info_idx"

## ◆ VAR_E_COMM_PROC

#define VAR_E_COMM_PROC "e_comm_proc"

## ◆ VAR_E_COMM_SIDS

#define VAR_E_COMM_SIDS "e_comm_sids"

## ◆ VAR_E_COMM_STAT

#define VAR_E_COMM_STAT "e_comm_stat"

## ◆ VAR_EATTRIB

#define VAR_EATTRIB | ( |  | num | ) | ex_catstr("eattrb", num)

## ◆ VAR_EB_PROP

#define VAR_EB_PROP | ( |  | num | ) | ex_catstr("eb_prop", num)

## ◆ VAR_EBCONN

#define VAR_EBCONN | ( |  | num | ) | ex_catstr("ebconn", num)

## ◆ VAR_EBEPEC

#define VAR_EBEPEC | ( |  | num | ) | ex_catstr("ebepecnt", num)

## ◆ VAR_EBLK_TAB

#define VAR_EBLK_TAB "edge_var_tab" /* edge variable truth table */

## ◆ VAR_ECONN

#define VAR_ECONN | ( |  | num | ) | ex_catstr("edgconn", num)

## ◆ VAR_ED_PROP

#define VAR_ED_PROP | ( |  | num | ) | ex_catstr("ed_prop", num)

## ◆ VAR_EDGE_ES

#define VAR_EDGE_ES | ( |  | num | ) | ex_catstr("edge_es", num)

## ◆ VAR_EDGE_MAP

#define VAR_EDGE_MAP | ( |  | num | ) | ex_catstr("edge_map", num)

## ◆ VAR_EDGE_NUM_MAP

#define VAR_EDGE_NUM_MAP "edge_num_map" /* edge numbering map */

## ◆ VAR_EDGE_VAR

#define VAR_EDGE_VAR | ( |  | num1,
|  |  | num2
| ) |  | ex_catstr2("vals_edge_var", num1, "eb", num2)

## ◆ VAR_EDM_PROP

#define VAR_EDM_PROP | ( |  | num | ) | ex_catstr("edm_prop", num)

## ◆ VAR_ELBLK_CNT_GLOBAL

#define VAR_ELBLK_CNT_GLOBAL "el_blk_cnt_global"

## ◆ VAR_ELBLK_IDS_GLOBAL

#define VAR_ELBLK_IDS_GLOBAL "el_blk_ids_global"

## ◆ VAR_ELEM_ELS

#define VAR_ELEM_ELS | ( |  | num | ) | ex_catstr("elem_els", num)

## ◆ VAR_ELEM_MAP

#define VAR_ELEM_MAP | ( |  | num | ) | ex_catstr("elem_map", num)

## ◆ VAR_ELEM_MAP_BOR

#define VAR_ELEM_MAP_BOR "elem_mapb"

## ◆ VAR_ELEM_MAP_BOR_IDX

#define VAR_ELEM_MAP_BOR_IDX "elem_mapb_idx"

## ◆ VAR_ELEM_MAP_INT

#define VAR_ELEM_MAP_INT "elem_mapi"

## ◆ VAR_ELEM_MAP_INT_IDX

#define VAR_ELEM_MAP_INT_IDX "elem_mapi_idx"

## ◆ VAR_ELEM_NUM_MAP

#define VAR_ELEM_NUM_MAP "elem_num_map" /* element numbering map */

## ◆ VAR_ELEM_SS

#define VAR_ELEM_SS | ( |  | num | ) | ex_catstr("elem_ss", num)

## ◆ VAR_ELEM_TAB

#define VAR_ELEM_TAB "elem_var_tab" /* element variable truth */

## ◆ VAR_ELEM_VAR

#define VAR_ELEM_VAR | ( |  | num1,
|  |  | num2
| ) |  | ex_catstr2("vals_elem_var", num1, "eb", num2)

## ◆ VAR_ELS_IDS

#define VAR_ELS_IDS "els_prop1" /* elem set id properties */

## ◆ VAR_ELS_PROP

#define VAR_ELS_PROP | ( |  | num | ) | ex_catstr("els_prop", num)

## ◆ VAR_ELS_STAT

#define VAR_ELS_STAT "els_status" /* elem set status */

## ◆ VAR_ELS_VAR

#define VAR_ELS_VAR | ( |  | num1,
|  |  | num2
| ) |  | ex_catstr2("vals_elset_var", num1, "es", num2)

## ◆ VAR_ELSATTRIB

#define VAR_ELSATTRIB | ( |  | num | ) | ex_catstr("elsattrb", num)

## ◆ VAR_ELSET_TAB

#define VAR_ELSET_TAB "elset_var_tab" /* elemset variable truth */

## ◆ VAR_EM_PROP

#define VAR_EM_PROP | ( |  | num | ) | ex_catstr("em_prop", num)

## ◆ VAR_ES_IDS

#define VAR_ES_IDS "es_prop1" /* edge set id properties */

## ◆ VAR_ES_PROP

#define VAR_ES_PROP | ( |  | num | ) | ex_catstr("es_prop", num)

## ◆ VAR_ES_STAT

#define VAR_ES_STAT "es_status" /* edge set status */

## ◆ VAR_ES_VAR

#define VAR_ES_VAR | ( |  | num1,
|  |  | num2
| ) |  | ex_catstr2("vals_eset_var", num1, "es", num2)

## ◆ VAR_ESATTRIB

#define VAR_ESATTRIB | ( |  | num | ) | ex_catstr("esattrb", num)

## ◆ VAR_ESET_TAB

#define VAR_ESET_TAB "eset_var_tab" /* edgeset variable truth */

## ◆ VAR_EXT_N_STAT

#define VAR_EXT_N_STAT "ext_n_stat"

## ◆ VAR_FA_PROP

#define VAR_FA_PROP | ( |  | num | ) | ex_catstr("fa_prop", num)

## ◆ VAR_FACE_FS

#define VAR_FACE_FS | ( |  | num | ) | ex_catstr("face_fs", num)

## ◆ VAR_FACE_MAP

#define VAR_FACE_MAP | ( |  | num | ) | ex_catstr("face_map", num)

## ◆ VAR_FACE_NUM_MAP

#define VAR_FACE_NUM_MAP "face_num_map" /* face numbering map */

## ◆ VAR_FACE_VAR

#define VAR_FACE_VAR | ( |  | num1,
|  |  | num2
| ) |  | ex_catstr2("vals_face_var", num1, "fb", num2)

## ◆ VAR_FACT_ELS

#define VAR_FACT_ELS | ( |  | num | ) | ex_catstr("dist_fact_els", num)

## ◆ VAR_FACT_ES

#define VAR_FACT_ES | ( |  | num | ) | ex_catstr("dist_fact_es", num)

## ◆ VAR_FACT_FS

#define VAR_FACT_FS | ( |  | num | ) | ex_catstr("dist_fact_fs", num)

## ◆ VAR_FACT_NS

#define VAR_FACT_NS | ( |  | num | ) | ex_catstr("dist_fact_ns", num)

## ◆ VAR_FACT_SS

#define VAR_FACT_SS | ( |  | num | ) | ex_catstr("dist_fact_ss", num)

## ◆ VAR_FAM_PROP

#define VAR_FAM_PROP | ( |  | num | ) | ex_catstr("fam_prop", num)

## ◆ VAR_FATTRIB

#define VAR_FATTRIB | ( |  | num | ) | ex_catstr("fattrb", num)

## ◆ VAR_FBCONN

#define VAR_FBCONN | ( |  | num | ) | ex_catstr("fbconn", num)

## ◆ VAR_FBEPEC

#define VAR_FBEPEC | ( |  | num | ) | ex_catstr("fbepecnt", num)

## ◆ VAR_FBLK_TAB

#define VAR_FBLK_TAB "face_var_tab" /* face variable truth table */

## ◆ VAR_FCONN

#define VAR_FCONN | ( |  | num | ) | ex_catstr("facconn", num)

## ◆ VAR_FILE_TYPE

#define VAR_FILE_TYPE "nem_ftype"

## ◆ VAR_FRAME_COORDS

#define VAR_FRAME_COORDS "frame_coordinates"

## ◆ VAR_FRAME_IDS

#define VAR_FRAME_IDS "frame_ids"

## ◆ VAR_FRAME_TAGS

#define VAR_FRAME_TAGS "frame_tags"

## ◆ VAR_FS_IDS

#define VAR_FS_IDS "fs_prop1" /* face set id properties */

## ◆ VAR_FS_PROP

#define VAR_FS_PROP | ( |  | num | ) | ex_catstr("fs_prop", num)

## ◆ VAR_FS_STAT

#define VAR_FS_STAT "fs_status" /* face set status */

## ◆ VAR_FS_VAR

#define VAR_FS_VAR | ( |  | num1,
|  |  | num2
| ) |  | ex_catstr2("vals_fset_var", num1, "fs", num2)

## ◆ VAR_FSATTRIB

#define VAR_FSATTRIB | ( |  | num | ) | ex_catstr("fsattrb", num)

## ◆ VAR_FSET_TAB

#define VAR_FSET_TAB "fset_var_tab" /* faceset variable truth */

## ◆ VAR_GLO_VAR

#define VAR_GLO_VAR "vals_glo_var" /* values of global variables*/

## ◆ VAR_HIS_TIME

#define VAR_HIS_TIME "time_hist" /* obsolete */

## ◆ VAR_HIS_VAR

#define VAR_HIS_VAR "vals_his_var" /* obsolete */

## ◆ VAR_ID_ED_BLK

#define VAR_ID_ED_BLK "ed_prop1" /* edge block ids props */

## ◆ VAR_ID_EL_BLK

#define VAR_ID_EL_BLK "eb_prop1" /* element block ids props */

## ◆ VAR_ID_FA_BLK

#define VAR_ID_FA_BLK "fa_prop1" /* face block ids props */

## ◆ VAR_INFO

#define VAR_INFO "info_records" /* information records */

## ◆ VAR_INT_E_STAT

#define VAR_INT_E_STAT "int_e_stat"

## ◆ VAR_INT_N_STAT

#define VAR_INT_N_STAT "int_n_stat"

## ◆ VAR_MAP

#define VAR_MAP "elem_map" /* element order map */

## ◆ VAR_N_COMM_DATA_IDX

#define VAR_N_COMM_DATA_IDX "n_comm_data_idx"

## ◆ VAR_N_COMM_IDS

#define VAR_N_COMM_IDS "n_comm_ids"

## ◆ VAR_N_COMM_INFO_IDX

#define VAR_N_COMM_INFO_IDX "n_comm_info_idx"

## ◆ VAR_N_COMM_NIDS

#define VAR_N_COMM_NIDS "n_comm_nids"

## ◆ VAR_N_COMM_PROC

#define VAR_N_COMM_PROC "n_comm_proc"

## ◆ VAR_N_COMM_STAT

#define VAR_N_COMM_STAT "n_comm_stat"

## ◆ VAR_NAME_ATTRIB

#define VAR_NAME_ATTRIB | ( |  | num | ) | ex_catstr("attrib_name", num)

## ◆ VAR_NAME_COOR

#define VAR_NAME_COOR "coor_names" /* names of coordinates */

## ◆ VAR_NAME_EATTRIB

#define VAR_NAME_EATTRIB | ( |  | num | ) | ex_catstr("eattrib_name", num)

## ◆ VAR_NAME_ED_BLK

#define VAR_NAME_ED_BLK "ed_names" /* names of edge blocks */

## ◆ VAR_NAME_EDG_VAR

#define VAR_NAME_EDG_VAR "name_edge_var" /* names of edge variables */

## ◆ VAR_NAME_EDM

#define VAR_NAME_EDM "edmap_names" /* names of edge maps */

## ◆ VAR_NAME_EL_BLK

#define VAR_NAME_EL_BLK "eb_names" /* names of element blocks */

## ◆ VAR_NAME_ELE_VAR

#define VAR_NAME_ELE_VAR "name_elem_var" /* names of element variables*/

## ◆ VAR_NAME_ELS

#define VAR_NAME_ELS "els_names" /* names of element sets */

## ◆ VAR_NAME_ELSATTRIB

#define VAR_NAME_ELSATTRIB | ( |  | num | ) | ex_catstr("elsattrib_name", num)

## ◆ VAR_NAME_ELSET_VAR

#define VAR_NAME_ELSET_VAR "name_elset_var" /* names of elemset variables*/

## ◆ VAR_NAME_EM

#define VAR_NAME_EM "emap_names" /* names of element maps */

## ◆ VAR_NAME_ES

#define VAR_NAME_ES "es_names" /* names of edge sets */

## ◆ VAR_NAME_ESATTRIB

#define VAR_NAME_ESATTRIB | ( |  | num | ) | ex_catstr("esattrib_name", num)

## ◆ VAR_NAME_ESET_VAR

#define VAR_NAME_ESET_VAR "name_eset_var" /* names of edgeset variables*/

## ◆ VAR_NAME_FA_BLK

#define VAR_NAME_FA_BLK "fa_names" /* names of face blocks */

## ◆ VAR_NAME_FAC_VAR

#define VAR_NAME_FAC_VAR "name_face_var" /* names of face variables */

## ◆ VAR_NAME_FAM

#define VAR_NAME_FAM "famap_names" /* names of face maps */

## ◆ VAR_NAME_FATTRIB

#define VAR_NAME_FATTRIB | ( |  | num | ) | ex_catstr("fattrib_name", num)

## ◆ VAR_NAME_FS

#define VAR_NAME_FS "fs_names" /* names of face sets */

## ◆ VAR_NAME_FSATTRIB

#define VAR_NAME_FSATTRIB | ( |  | num | ) | ex_catstr("fsattrib_name", num)

## ◆ VAR_NAME_FSET_VAR

#define VAR_NAME_FSET_VAR "name_fset_var" /* names of faceset variables*/

## ◆ VAR_NAME_GLO_VAR

#define VAR_NAME_GLO_VAR "name_glo_var" /* names of global variables */

## ◆ VAR_NAME_HIS_VAR

#define VAR_NAME_HIS_VAR "name_his_var" /* obsolete */

## ◆ VAR_NAME_NATTRIB

#define VAR_NAME_NATTRIB "nattrib_name"

## ◆ VAR_NAME_NM

#define VAR_NAME_NM "nmap_names" /* names of node maps */

## ◆ VAR_NAME_NOD_VAR

#define VAR_NAME_NOD_VAR "name_nod_var" /* names of nodal variables */

## ◆ VAR_NAME_NS

#define VAR_NAME_NS "ns_names" /* names of node sets */

## ◆ VAR_NAME_NSATTRIB

#define VAR_NAME_NSATTRIB | ( |  | num | ) | ex_catstr("nsattrib_name", num)

## ◆ VAR_NAME_NSET_VAR

#define VAR_NAME_NSET_VAR "name_nset_var" /* names of nodeset variables*/

## ◆ VAR_NAME_SS

#define VAR_NAME_SS "ss_names" /* names of side sets */

## ◆ VAR_NAME_SSATTRIB

#define VAR_NAME_SSATTRIB | ( |  | num | ) | ex_catstr("ssattrib_name", num)

## ◆ VAR_NAME_SSET_VAR

#define VAR_NAME_SSET_VAR "name_sset_var" /* names of sideset variables*/

## ◆ VAR_NATTRIB

#define VAR_NATTRIB "nattrb"

## ◆ VAR_NM_PROP

#define VAR_NM_PROP | ( |  | num | ) | ex_catstr("nm_prop", num)

## ◆ VAR_NOD_VAR

#define VAR_NOD_VAR "vals_nod_var" /* values of nodal variables */

## ◆ VAR_NOD_VAR_NEW

#define VAR_NOD_VAR_NEW | ( |  | num | ) | ex_catstr("vals_nod_var", num)

## ◆ VAR_NODE_MAP

#define VAR_NODE_MAP | ( |  | num | ) | ex_catstr("node_map", num)

## ◆ VAR_NODE_MAP_BOR

#define VAR_NODE_MAP_BOR "node_mapb"

## ◆ VAR_NODE_MAP_BOR_IDX

#define VAR_NODE_MAP_BOR_IDX "node_mapb_idx"

## ◆ VAR_NODE_MAP_EXT

#define VAR_NODE_MAP_EXT "node_mape"

## ◆ VAR_NODE_MAP_EXT_IDX

#define VAR_NODE_MAP_EXT_IDX "node_mape_idx"

## ◆ VAR_NODE_MAP_INT

#define VAR_NODE_MAP_INT "node_mapi"

## ◆ VAR_NODE_MAP_INT_IDX

#define VAR_NODE_MAP_INT_IDX "node_mapi_idx"

## ◆ VAR_NODE_NS

#define VAR_NODE_NS | ( |  | num | ) | ex_catstr("node_ns", num)

## ◆ VAR_NODE_NUM_MAP

#define VAR_NODE_NUM_MAP "node_num_map" /* node numbering map */

## ◆ VAR_NS_DF_CNT_GLOBAL

#define VAR_NS_DF_CNT_GLOBAL "ns_df_cnt_global"

## ◆ VAR_NS_IDS

#define VAR_NS_IDS "ns_prop1" /* node set id properties */

## ◆ VAR_NS_IDS_GLOBAL

#define VAR_NS_IDS_GLOBAL "ns_ids_global"

## ◆ VAR_NS_NODE_CNT_GLOBAL

#define VAR_NS_NODE_CNT_GLOBAL "ns_node_cnt_global"

## ◆ VAR_NS_PROP

#define VAR_NS_PROP | ( |  | num | ) | ex_catstr("ns_prop", num)

## ◆ VAR_NS_STAT

#define VAR_NS_STAT "ns_status" /* node set status */

## ◆ VAR_NS_VAR

#define VAR_NS_VAR | ( |  | num1,
|  |  | num2
| ) |  | ex_catstr2("vals_nset_var", num1, "ns", num2)

## ◆ VAR_NSATTRIB

#define VAR_NSATTRIB | ( |  | num | ) | ex_catstr("nsattrb", num)

## ◆ VAR_NSET_TAB

#define VAR_NSET_TAB "nset_var_tab" /* nodeset variable truth */

## ◆ VAR_ORNT_ES

#define VAR_ORNT_ES | ( |  | num | ) | ex_catstr("ornt_es", num)

## ◆ VAR_ORNT_FS

#define VAR_ORNT_FS | ( |  | num | ) | ex_catstr("ornt_fs", num)

## ◆ VAR_QA_TITLE

#define VAR_QA_TITLE "qa_records" /* QA records */

## ◆ VAR_SIDE_SS

#define VAR_SIDE_SS | ( |  | num | ) | ex_catstr("side_ss", num)

## ◆ VAR_SS_DF_CNT_GLOBAL

#define VAR_SS_DF_CNT_GLOBAL "ss_df_cnt_global"

## ◆ VAR_SS_IDS

#define VAR_SS_IDS "ss_prop1" /* side set id properties */

## ◆ VAR_SS_IDS_GLOBAL

#define VAR_SS_IDS_GLOBAL "ss_ids_global"

## ◆ VAR_SS_PROP

#define VAR_SS_PROP | ( |  | num | ) | ex_catstr("ss_prop", num)

## ◆ VAR_SS_SIDE_CNT_GLOBAL

#define VAR_SS_SIDE_CNT_GLOBAL "ss_side_cnt_global"

## ◆ VAR_SS_STAT

#define VAR_SS_STAT "ss_status" /* side set status */

## ◆ VAR_SS_VAR

#define VAR_SS_VAR | ( |  | num1,
|  |  | num2
| ) |  | ex_catstr2("vals_sset_var", num1, "ss", num2)

## ◆ VAR_SSATTRIB

#define VAR_SSATTRIB | ( |  | num | ) | ex_catstr("ssattrb", num)

## ◆ VAR_SSET_TAB

#define VAR_SSET_TAB "sset_var_tab" /* sideset variable truth */

## ◆ VAR_STAT_ECONN

#define VAR_STAT_ECONN "econn_status" /* element block edge status */

## ◆ VAR_STAT_ED_BLK

#define VAR_STAT_ED_BLK "ed_status" /* edge block status */

## ◆ VAR_STAT_EL_BLK

#define VAR_STAT_EL_BLK "eb_status" /* element block status */

## ◆ VAR_STAT_FA_BLK

#define VAR_STAT_FA_BLK "fa_status" /* face block status */

## ◆ VAR_STAT_FCONN

#define VAR_STAT_FCONN "fconn_status" /* element block face status */

## ◆ VAR_WHOLE_TIME

#define VAR_WHOLE_TIME "time_whole" /* simulation times for whole*/

## Typedef Documentation

## ◆ ex_coordinate_frame_type

typedef enum ex_coordinate_frame_type ex_coordinate_frame_type

## ◆ ex_element_type

typedef enum ex_element_type ex_element_type

## Enumeration Type Documentation

## ◆ ex_coordinate_frame_type

enum ex_coordinate_frame_type

Enumerator
EX_CF_RECTANGULAR |
EX_CF_CYLINDRICAL |
EX_CF_SPHERICAL |

## ◆ ex_element_type

enum ex_element_type

Enumerator
EX_EL_UNK | unknown entity
EX_EL_NULL_ELEMENT |
EX_EL_TRIANGLE | Triangle entity
EX_EL_QUAD | Quad entity
EX_EL_HEX | Hex entity
EX_EL_WEDGE | Wedge entity
EX_EL_TETRA | Tetra entity
EX_EL_TRUSS | Truss entity
EX_EL_BEAM | Beam entity
EX_EL_SHELL | Shell entity
EX_EL_SPHERE | Sphere entity
EX_EL_CIRCLE | Circle entity
EX_EL_TRISHELL | Triangular Shell entity
EX_EL_PYRAMID | Pyramid entity

## Function Documentation

## ◆ ex_add_file_item()

struct ex_file_item* ex_add_file_item | ( | int | exoid | ) |

## ◆ ex_catstr()

char* ex_catstr | ( | const char * | string,
|  | int | num
| ) |  |

ex_catstr - concatenate string/number (where number is converted to ASCII)

## ◆ ex_catstr2()

char* ex_catstr2 | ( | const char * | string1,
|  | int | num1,
|  | const char * | string2,
|  | int | num2
| ) |  |

ex_catstr2 - concatenate string1num1string2num2

## ◆ ex_check_file_type()

int ex_check_file_type | ( | const char * | path,
|  | int * | type
| ) |  |

Abort if exoid does not refer to valid file

## ◆ ex_check_valid_file_id()

void ex_check_valid_file_id | ( | int | exoid,
|  | const char * | func
| ) |  |

## ◆ ex_compress_variable()

void ex_compress_variable | ( | int | exoid,
|  | int | varid,
|  | int | type
| ) |  |

## ◆ ex_conv_exit()

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.

Parameters

  exoid | integer which uniquely identifies the file of interest.

## ◆ ex_conv_ini()

int ex_conv_ini | ( | int | exoid,
|  | int * | comp_wordsize,
|  | int * | io_wordsize,
|  | int | file_wordsize,
|  | int | int64_status,
|  | int | is_parallel,
|  | int | is_hdf5,
|  | int | is_pnetcdf
| ) |  |

ex_conv_ini() initializes the floating point conversion process.

Parameters

  exoid | an integer uniquely identifying the file of interest.
  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.
  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.
  file_wordsize | floating point word size in an existing netCDF file. a value of 0 should be passed in for a new netCDF file.
  int64_status | the flags specifying how integer values should be stored on the database and how they should be passes through the api functions.
  is_parallel | 1 if parallel file; 0 if serial
  is_hdf5 | 1 if parallel netcdf-4 mode; 0 if not.
  is_pnetcdf | 1 if parallel PNetCDF file; 0 if not.

word size parameters are specified in bytes. valid values are 0, 4, and 8:

## ◆ ex_dim_num_entries_in_object()

char* ex_dim_num_entries_in_object | ( | ex_entity_type | ,
|  | int |
| ) |  |

## ◆ ex_dim_num_objects()

char* ex_dim_num_objects | ( | ex_entity_type | obj_type | ) |

## ◆ ex_find_file_item()

struct ex_file_item* ex_find_file_item | ( | int | exoid | ) |

## ◆ ex_get_counter_list()

struct list_item** ex_get_counter_list | ( | ex_entity_type | obj_type | ) |

## ◆ ex_get_cpu_ws()

int ex_get_cpu_ws | ( | void |  | ) |

## ◆ ex_get_dimension()

int ex_get_dimension | ( | int | exoid,
|  | const char * | DIMENSION,
|  | const char * | label,
|  | size_t * | count,
|  | int * | dimid,
|  | const char * | routine
| ) |  |

## ◆ ex_get_file_item()

int ex_get_file_item | ( | int | exoid,
|  | struct list_item ** | list_ptr
| ) |  |

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 nc_close().

## ◆ ex_get_file_type()

int ex_get_file_type | ( | int | exoid,
|  | char * | ftype
| ) |  |

## ◆ ex_get_glob_var_time_int()

int ex_get_glob_var_time_int | ( | int | exoid,
|  | int | glob_var_index,
|  | int | beg_time_step,
|  | int | end_time_step,
|  | void * | glob_var_vals
| ) |  |

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().

Returns
  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.

Parameters

  | exoid | exodus file ID returned from a previous call to ex_create() or ex_open().
  | glob_var_index | The index of the desired global variable. The first variable has an index of 1.
  | 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.
  | 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.
  [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:

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);

## ◆ ex_get_glob_vars_int()

int ex_get_glob_vars_int | ( | int | exoid,
|  | int | time_step,
|  | int | num_glob_vars,
|  | void * | glob_var_vals
| ) |  |

Internal function. Do not use in client code.

## ◆ ex_get_name_internal()

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
| ) |  |

## ◆ ex_get_names_internal()

int ex_get_names_internal | ( | int | exoid,
|  | int | varid,
|  | size_t | num_entity,
|  | char ** | names,
|  | ex_entity_type | obj_type,
|  | const char * | routine
| ) |  |

## ◆ ex_get_nodal_var_int()

int ex_get_nodal_var_int | ( | int | exoid,
|  | int | time_step,
|  | int | nodal_var_index,
|  | int64_t | num_nodes,
|  | void * | nodal_var_vals
| ) |  |

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 (float or double) to match the compute word size passed in ex_create() or ex_open().

Returns
  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.

Parameters

  [in] | exoid | exodus file ID returned from a previous call to ex_create() or ex_open().
  [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.
  [in] | nodal_var_index | The index of the desired nodal variable. The first variable has an index of 1.
  [in] | num_nodes | The number of nodal points.
  [out] | nodal_var_vals | Returned array of num_nodes values of the nodal_var_index-th nodal variable for the time_step-th time step.

For example, the following demonstrates how this function would be used:

int num_nodes, time_step, var_index;
float *var_values;
/* 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);

## ◆ ex_get_nodal_var_time_int()

int ex_get_nodal_var_time_int | ( | int | exoid,
|  | int | nodal_var_index,
|  | int64_t | node_number,
|  | int | beg_time_step,
|  | int | end_time_step,
|  | void * | nodal_var_vals
| ) |  |

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 (float or `‘double’') to match the compute word size passed in ex_create() or ex_open().

Returns
  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.

Parameters

  [in] | exoid | exodus file ID returned from a previous call to ex_create() or ex_open().
  [in] | nodal_var_index | The index of the desired nodal variable. The first variable has an index of 1.
  [in] | node_number | The internal ID (see Section LocalNodeIds) of the desired node. The first node is 1.
  [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.
  [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.
  [out] | nodal_var_vals | Returned array of(end_time_step {-} beg_time_step +1) values of the node_number-th node for the 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:

int num_time_steps, var_index, node_num, beg_time, end_time, error, exoid;
float *var_values;
/* determine how many time steps are stored */
num_time_steps = ex_inquire_int(exoid, EX_INQ_TIME);
/* 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_var_time(exoid, EX_NODAL, var_index, node_num, beg_time,
end_time, var_values);

## ◆ ex_get_stat_ptr()

struct obj_stats* ex_get_stat_ptr | ( | int | exoid,
|  | struct obj_stats ** | obj_ptr
| ) |  |

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

## ◆ ex_id_lkup()

int ex_id_lkup | ( | int | exoid,
|  | ex_entity_type | id_type,
|  | ex_entity_id | num
| ) |  |

## ◆ ex_inc_file_item()

int ex_inc_file_item | ( | int | exoid,
|  | struct list_item ** | list_ptr
| ) |  |

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().

## ◆ ex_int_get_block_param()

int ex_int_get_block_param | ( | int | exoid,
|  | ex_entity_id | id,
|  | int | ndim,
|  | struct elem_blk_parm * | elem_blk_parm
| ) |  |

## ◆ ex_int_handle_mode()

int ex_int_handle_mode | ( | unsigned int | my_mode,
|  | int | is_parallel,
|  | int | run_version
| ) |  |

## ◆ ex_int_populate_header()

int ex_int_populate_header | ( | int | exoid,
|  | const char * | path,
|  | int | my_mode,
|  | int | is_parallel,
|  | int * | comp_ws,
|  | int * | io_ws
| ) |  |

## ◆ ex_iqsort()

void ex_iqsort | ( | int | v[],
|  | int | iv[],
|  | int | N
| ) |  |

## ◆ ex_iqsort64()

void ex_iqsort64 | ( | int64_t | v[],
|  | int64_t | iv[],
|  | int64_t | N
| ) |  |

## ◆ ex_leavedef()

int ex_leavedef | ( | int | exoid,
|  | const char * | call_rout
| ) |  |

## ◆ ex_name_of_map()

char* ex_name_of_map | ( | ex_entity_type | ,
|  | int |
| ) |  |

## ◆ ex_name_var_of_object()

char* ex_name_var_of_object | ( | ex_entity_type | ,
|  | int | ,
|  | int |
| ) |  |

## ◆ ex_put_name_internal()

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
| ) |  |

## ◆ ex_put_names_internal()

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
| ) |  |

## ◆ ex_put_nemesis_version()

int ex_put_nemesis_version | ( | int | exoid | ) |

## ◆ ex_put_nodal_var_int()

int ex_put_nodal_var_int | ( | int | exoid,
|  | int | time_step,
|  | int | nodal_var_index,
|  | int64_t | num_nodes,
|  | const void * | nodal_var_vals
| ) |  |

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 (float or double) to match the compute word size passed in ex_create() or ex_open().

Returns
  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.

Parameters

  [in] | exoid | exodus file ID returned from a previous call to ex_create() or ex_open().
  [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.
  [in] | nodal_var_index | The index of the nodal variable. The first variable has an index of 1.
  [in] | num_nodes | The number of nodal points.
  [in] | nodal_var_vals | Array of num_nodes values of the nodal_var_index-th nodal variable for the time_step-th time step.

As an example, the following code segment writes all the nodal variables for a single time step:

int num_nod_vars, num_nodes, error, exoid, time_step;
float *nodal_var_vals;
/* 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++) {
/* 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);
}

## ◆ ex_rm_file_item()

void ex_rm_file_item | ( | int | exoid,
|  | struct list_item ** | list_ptr
| ) |  |

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().

## ◆ ex_rm_stat_ptr()

void ex_rm_stat_ptr | ( | int | exoid,
|  | struct obj_stats ** | obj_ptr
| ) |  |

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

## ◆ ex_trim_internal()

void ex_trim_internal | ( | char * | name | ) |

## ◆ ne_check_file_version()

int ne_check_file_version | ( | int | neid | ) |

## ◆ ne_id_lkup()

int ne_id_lkup | ( | int | exoid,
|  | const char * | ne_var_name,
|  | int64_t * | idx,
|  | ex_entity_id | ne_var_id
| ) |  |

## Variable Documentation

## ◆ ex_default_max_name_length

int ex_default_max_name_length

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.

## ◆ exoII_eb

struct obj_stats* exoII_eb

## ◆ exoII_ed

struct obj_stats* exoII_ed

## ◆ exoII_edm

struct obj_stats* exoII_edm

## ◆ exoII_els

struct obj_stats* exoII_els

## ◆ exoII_em

struct obj_stats* exoII_em

## ◆ exoII_es

struct obj_stats* exoII_es

## ◆ exoII_fa

struct obj_stats* exoII_fa

## ◆ exoII_fam

struct obj_stats* exoII_fam

## ◆ exoII_fs

struct obj_stats* exoII_fs

## ◆ exoII_nm

struct obj_stats* exoII_nm

## ◆ exoII_ns

struct obj_stats* exoII_ns

## ◆ exoII_ss

struct obj_stats* exoII_ss