ExodusII  5.15
ex_inquire.c File Reference
#include <stdlib.h>
#include <string.h>
#include "exodusII.h"
#include "exodusII_int.h"

Functions

static int ex_inquire_internal (int exoid, int req_info, int64_t *ret_int, float *ret_float, char *ret_char)
int64_t ex_inquire_int (int exoid, int req_info)
int ex_inquire (int exoid, int req_info, void_int *ret_int, float *ret_float, char *ret_char)

Function Documentation

int ex_inquire ( int  exoid,
int  req_info,
void_int ret_int,
float *  ret_float,
char *  ret_char 
)

The function ex_inquire() is used to inquire values of certain data entities in an exodus file. Memory must be allocated for the returned values before this function is invoked.query database.

See also:
ex_inquire_int().
Returns:
In case of an error, ex_inquire() returns a negative number; a warning will return a positive number. Possible causes of errors include:
  • data file not properly opened with call to ex_create() or ex_open().
  • requested information not stored in the file.
  • invalid request flag.
Parameters:
[in]exoidexodus file ID returned from a previous call to ex_create() or ex_open().
[in]req_infoA flag which designates what information is requested. It must be one of the following constants in the table below.
[out]ret_intReturned integer, if an integer value is requested (according to req_info); otherwise, supply a dummy argument.
[out]ret_floatReturned float, if a float value is requested (according to req_info); otherwise, supply a dummy argument. This argument is always a float even if the database IO and/or CPU word size is a double.
[out]ret_charReturned character string, if a character value is requested (according to req_info); otherwise, supply a dummy argument.
EX_INQ_API_VERS

The exodus API version number is returned in ret_float and an undotted version number is returned in ret_int. The API version number reflects the release of the function library (i.e., function names, argument list, etc.). The API and LIB version numbers are synchronized and will always match. Initially, it was thought that maintaining the two versions separately would be a benefit, but that was more confusing than helpful, so the numbers were made the same.

EX_INQ_DB_VERS

The exodus database version number is returned in ret_float and an ``undotted'' version number is returned in ret_int. The database version number reflects the version of the library that was used to write the file pointed to by exoid.

EX_INQ_LIB_VERS

The exodus library version number is returned in ret_float and an undotted version number is returned in ret_int. The API library version number reflects the version number of the exodus library linked with this application.

EX_INQ_TITLE

The title stored in the database is returned in ret_char.

EX_INQ_DIM

The dimensionality, or number of coordinates per node (1, 2 or 3), of the database is returned in ret_int.

EX_INQ_NODES

The number of nodes is returned in ret_int.

EX_INQ_ELEM

The number of elements is returned in ret_int.

EX_INQ_ELEM_BLK

The number of element blocks is returned in ret_int.

EX_INQ_NODE_SETS

The number of node sets is returned in ret_int.

EX_INQ_NS_NODE_LEN

The length of the concatenated node sets node list is returned in ret_int.

EX_INQ_NS_DF_LEN

The length of the concatenated node sets distribution list is returned in ret_int.

EX_INQ_SIDE_SETS

The number of side sets is returned in ret_int.

EX_INQ_SS_ELEM_LEN

The length of the concatenated side sets element list is returned in ret_int.

EX_INQ_SS_DF_LEN

The length of the concatenated side sets distribution factor list is returned in ret_int.

EX_INQ_SS_NODE_LEN

The aggregate length of all of the side sets node lists is returned in ret_int.

EX_INQ_EB_PROP

The number of integer properties stored for each element block is returned in ret_int; this number includes the property named ID.

EX_INQ_NS_PROP

The number of integer properties stored for each node set is returned in ret_int; this number includes the property named ID.

EX_INQ_SS_PROP

The number of integer properties stored for each side set is returned in ret_int; this number includes the property named ID.

EX_INQ_QA

The number of QA records is returned in ret_int.

EX_INQ_INFO

The number of information records is returned in ret_int.

EX_INQ_TIME

The number of time steps stored in the database is returned in ret_int.

EX_INQ_EDGE_BLK

The number of edge blocks is returned in ret_int.

EX_INQ_EDGE_MAP

The number of edge maps is returned in ret_int.

EX_INQ_EDGE_PROP

The number of properties stored per edge blockis returned in ret_int.

EX_INQ_EDGE_SETS

The number of edge sets is returned in ret_int.

EX_INQ_EDGE

The number of edges is returned in ret_int.

EX_INQ_FACE

The number of faces is returned in ret_int.

EX_INQ_EB_PROP

The number of element block properties is returned in ret_int.

EX_INQ_ELEM_MAP

The number of element maps is returned in ret_int.

EX_INQ_ELEM_SETS

The number of element sets is returned in ret_int.

EX_INQ_ELS_DF_LEN

The length of the concatenated element set distribution factor list is returned in ret_int.

EX_INQ_ELS_LEN

The length of the concatenated element set element list is returned in ret_int.

EX_INQ_ELS_PROP

The number of properties stored per elem set is returned in ret_int.

EX_INQ_EM_PROP

The number of element map properties is returned in ret_int.

EX_INQ_ES_DF_LEN

The length of the concatenated edge set distribution factor list is returned in ret_int.

EX_INQ_ES_LEN

The length of the concatenated edge set edge list is returned in ret_int.

EX_INQ_ES_PROP

The number of properties stored per edge set is returned in ret_int.

EX_INQ_FACE_BLK

The number of face blocks is returned in ret_int.

EX_INQ_FACE_MAP

The number of face maps is returned in ret_int.

EX_INQ_FACE_PROP

The number of properties stored per face block is returned in ret_int.

EX_INQ_FACE_SETS

The number of face sets is returned in ret_int.

EX_INQ_FS_DF_LEN

The length of the concatenated face set distribution factor list is returned in ret_int.

EX_INQ_FS_LEN

The length of the concatenated face set face list is returned in ret_int.

EX_INQ_FS_PROP

The number of properties stored per face set is returned in ret_int.

EX_INQ_NM_PROP

The number of node map properties is returned in ret_int.

EX_INQ_NODE_MAP

The number of node maps is returned in ret_int.

EX_INQ_COORD_FRAMES The number of coordinate frames is returned in ret_int.

As an example, the following will return the number of element block properties stored in the exodus file :

#include "exodusII.h"
int error, exoid, num_props;
float fdum;
char *cdum;

\comment{determine the number of element block properties}
error = ex_inquire (exoid, EX_INQ_EB_PROP, &num_props,
      &fdum, cdum);
...Another way to get the same information
num_props = ex_inquire_int(exoid, EX_INQ_EB_PROP);
int64_t ex_inquire_int ( int  exoid,
int  req_info 
)
static int ex_inquire_internal ( int  exoid,
int  req_info,
int64_t *  ret_int,
float *  ret_float,
char *  ret_char 
) [static]

A variant of ex_inquire() which queries integer-valued information only.

See also:
ex_inquire().
Parameters:
[in]exoidexodus file ID returned from a previous call to ex_create() or ex_open().
[in]req_infoA flag which designates what information is requested. (See ex_inquire() documentation)
Returns:
result of inquiry.

As an example, the following will return the number of nodes, elements, and element blocks stored in the exodus file :

#include "exodusII.h"
int exoid;
int num_nodes = ex_inquire_int(exoid, EX_INQ_NODES);
int num_elems = ex_inquire_int(exoid, EX_INQ_ELEM);
int num_block = ex_inquire_int(exoid, EX_INQ_ELEM_BLK);
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines