ExodusII
5.15
|
Functions | |
int | ex_put_elem_var (int exoid, int time_step, int elem_var_index, ex_entity_id elem_blk_id, int64_t num_elem_this_blk, const void *elem_var_vals) |
int ex_put_elem_var | ( | int | exoid, |
int | time_step, | ||
int | elem_var_index, | ||
ex_entity_id | elem_blk_id, | ||
int64_t | num_elem_this_blk, | ||
const void * | elem_var_vals | ||
) |
The function ex_put_elem_var() writes the values of a single element variable for one element block at one time step. It is recommended, but not required, to write the element variable truth table (with ex_put_elem_var_tab() before this function is invoked for better efficiency. See #Efficiency for a discussion of efficiency issues.
Because element variables are floating point values, the application code must declare the array passed to be the appropriate type (float
or double
) to match the compute word size passed in ex_create() or ex_open().
[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 only when results variables are output. The first time step is 1. |
[in] | elem_var_index | The index of the element variable. The first variable has an index of 1. |
[in] | elem_blk_id | The element block ID. |
[in] | num_elem_this_blk | The number of elements in the given element block. |
[in] | elem_var_vals | Array of num_elem_this_blk values of the elem_var_index-th element variable for the element block with ID of elem_blk_id at the time_step-th time step. |
The following coding will write out all of the element variables for a single time step n
to an open exodus file :
int num_ele_vars, num_elem_blk, *num_elem_in_block,error, exoid, n, *ebids; float *elem_var_vals; \comment{write element variables} for (k=1; k <= num_ele_vars; k++) { for (j=0; j < num_elem_blk; j++) { elem_var_vals = (float *) calloc(num_elem_in_block[j], sizeof(float)); for (m=0; m < num_elem_in_block[j]; m++) { \comment{simulation code fills this in} elem_var_vals[m] = 10.0; } error = ex_put_elem_var (exoid, n, k, ebids[j], num_elem_in_block[j], elem_var_vals); \comment {Using non-deprecated function:} error = ex_put_var (exoid, n, EX_ELEM_BLOCK, k, ebids[j], num_elem_in_block[j], elem_var_vals); free (elem_var_vals); } }