Exodus 7.10

Functions
ex_put_coord.c File Reference
`#include "exodusII.h"`
`#include "exodusII_int.h"`
`#include "netcdf.h"`
`#include <stddef.h>`
`#include <stdio.h>`

## Functions
int | ex_put_coord (int exoid, const void *x_coor, const void *y_coor, const void *z_coor)

## Function Documentation

## ◆ ex_put_coord()

int ex_put_coord | ( | int | exoid,
|  | const void * | x_coor,
|  | const void * | y_coor,
|  | const void * | z_coor
| ) |  |

The function ex_put_coord() writes the nodal coordinates of the nodes in the model. The function ex_put_init() must be invoked before this call is made.

Because the coordinates are floating point values, the application code must declare the arrays 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_coord() 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().

Parameters

  [in] | exoid | exodus file ID returned from a previous call to ex_create() or ex_open().
  [in] | x_coor | The X-coordinates of the nodes. If this is NULL, the X-coordinates will not be written.
  [in] | y_coor | The Y-coordinates of the nodes. These are stored only if num_dim > 1; otherwise, pass in NULL. If this is NULL, the Y-coordinates will not be written.
  [in] | z_coor | The Z-coordinates of the nodes. These are stored only if num_dim > 2; otherwise, pass in NULL. If this is NULL, the Z-coordinates will not be written.

The following will write the nodal coordinates to an open exodus file :

int error, exoid;
// /* if file opened with compute word size of sizeof(float) */
float x[8], y[8], z[8];
// /* write nodal coordinates values to database */
x[0] = 0.0; y[0] = 0.0; z[0] = 0.0;
x[1] = 0.0; y[1] = 0.0; z[1] = 1.0;
x[2] = 1.0; y[2] = 0.0; z[2] = 1.0;
x[3] = 1.0; y[3] = 0.0; z[3] = 0.0;
x[4] = 0.0; y[4] = 1.0; z[4] = 0.0;
x[5] = 0.0; y[5] = 1.0; z[5] = 1.0;
x[6] = 1.0; y[6] = 1.0; z[6] = 1.0;
x[7] = 1.0; y[7] = 1.0; z[7] = 0.0;
error = ex_put_coord(exoid, x, y, z);
/* Do the same as the previous call in three separate calls */
error = ex_put_coord(exoid, x, NULL, NULL);
error = ex_put_coord(exoid, NULL, y, NULL);
error = ex_put_coord(exoid, NULL, NULL, z);