int GiD_fWriteResultBlock( GiD_FILE fd, GP_CONST char *result_name, GP_CONST char *analysis_name, double step_value, GiD_ResultType result_type, GiD_ResultLocation result_location, GP_CONST char *gauss_point_name, GP_CONST char *range_table_name, int num_component_names, GP_CONST char *list_component_names[], int num_result_values, GP_CONST int *list_result_ids, // list_component_values === // num_component_values == 1 --> scalar_array // num_component_values == 2 --> VxVyVz_array // num_component_values == 6 --> SxxSyySxySzzSxzSyz_array // ... int num_component_values, GP_CONST double *list_component_values );
Description:
Write the results values array. This functions include GiD_fBeginResult()
and GiD_fEndResult()
.
If list_result_ids
is omited, i.e. == NULL
, then result value's id’s are assumed to be 1..num_result_values
.
Parameters:
list_ids is the array of node id's and expected to be num_points in size.
xyz_array is the array consecutive x, y and z coordinates of the num_points nodes, and it is expected to have num_points * 3 doubles.
Example:
C/C++ as in testpost_fd.c :
int ids[ NUM_NODES ]; double xyz[ NUM_NODES * 3 ]; for ( int i = 0; i < NUM_NODES; i++ ) { ids[ i ] = G_nodes[ i ].id; xyz[ i * 3 + 0 ] = G_nodes[ i ].x; xyz[ i * 3 + 1 ] = G_nodes[ i ].y; xyz[ i * 3 + 2 ] = G_nodes[ i ].z; } GiD_fWriteCoordinatesIdBlock( fdm, NUM_NODES, ids, xyz );