My Project
|
Routines to construct fully formed grid structures from a simple Cartesian (i.e., tensor product) description. More...
Go to the source code of this file.
Functions | |
struct UnstructuredGrid * | create_grid_cart2d (int nx, int ny, double dx, double dy) |
Form geometrically Cartesian grid in two space dimensions with equally sized cells. More... | |
struct UnstructuredGrid * | create_grid_cart3d (int nx, int ny, int nz) |
Form geometrically Cartesian grid in three space dimensions with unit-sized cells. More... | |
struct UnstructuredGrid * | create_grid_hexa3d (int nx, int ny, int nz, double dx, double dy, double dz) |
Form geometrically Cartesian grid in three space dimensions with equally sized cells. More... | |
struct UnstructuredGrid * | create_grid_tensor2d (int nx, int ny, const double *x, const double *y) |
Form tensor product (Cartesian) grid in two space dimensions. More... | |
struct UnstructuredGrid * | create_grid_tensor3d (int nx, int ny, int nz, const double *x, const double *y, const double *z, const double *depthz) |
Form tensor product (i.e., topologically Cartesian) grid in three space dimensions–possibly with a variable top-layer topography. More... | |
Routines to construct fully formed grid structures from a simple Cartesian (i.e., tensor product) description.
The cells are lexicographically ordered with the i
index cycling the most rapidly, followed by the j
index and then, in three space dimensions, the k
(‘layer’) index as the least rapidly cycling index.
struct UnstructuredGrid* create_grid_cart2d | ( | int | nx, |
int | ny, | ||
double | dx, | ||
double | dy | ||
) |
Form geometrically Cartesian grid in two space dimensions with equally sized cells.
[in] | nx | Number of cells in x direction. |
[in] | ny | Number of cells in y direction. |
[in] | dx | Length, in meters, of each cell's x extent. |
[in] | dy | Length, in meters, of each cell's y extent. |
struct UnstructuredGrid* create_grid_cart3d | ( | int | nx, |
int | ny, | ||
int | nz | ||
) |
Form geometrically Cartesian grid in three space dimensions with unit-sized cells.
[in] | nx | Number of cells in x direction. |
[in] | ny | Number of cells in y direction. |
[in] | nz | Number of cells in z direction. |
struct UnstructuredGrid* create_grid_hexa3d | ( | int | nx, |
int | ny, | ||
int | nz, | ||
double | dx, | ||
double | dy, | ||
double | dz | ||
) |
Form geometrically Cartesian grid in three space dimensions with equally sized cells.
Each cell has physical size (volume) .
[in] | nx | Number of cells in x direction. |
[in] | ny | Number of cells in y direction. |
[in] | nz | Number of cells in z direction. |
[in] | dx | Length, in meters, of each cell's x extent. |
[in] | dy | Length, in meters, of each cell's y extent. |
[in] | dz | Length, in meters, of each cell's z extent. |
struct UnstructuredGrid* create_grid_tensor2d | ( | int | nx, |
int | ny, | ||
const double * | x, | ||
const double * | y | ||
) |
Form tensor product (Cartesian) grid in two space dimensions.
The size (volume) of cell is
Similar relations hold for the cell and interface centroids as well as the interface areas and normal vectors. In other words, cell is the convex hull bounded by the tensor product of nodes
,
,
, and
.
[in] | nx | Number of cells in x direction. |
[in] | ny | Number of cells in y direction. |
[in] | x | Position along x axis of each grid line with constant x coordinate. Array of size nx + 1 . |
[in] | y | Position along y axis of each grid line with constant y coordinate. Array of size ny + 1 . |
struct UnstructuredGrid* create_grid_tensor3d | ( | int | nx, |
int | ny, | ||
int | nz, | ||
const double * | x, | ||
const double * | y, | ||
const double * | z, | ||
const double * | depthz | ||
) |
Form tensor product (i.e., topologically Cartesian) grid in three space dimensions–possibly with a variable top-layer topography.
If depthz
is NULL
, then geometric information such as volumes and centroids is calculated from analytic expressions. Otherwise, these values are computed using function compute_geometry().
[in] | nx | Number of cells in x direction. |
[in] | ny | Number of cells in y direction. |
[in] | nz | Number of cells in z direction. |
[in] | x | Position along x axis of each grid line with constant x coordinate. Array of size nx + 1 . |
[in] | y | Position along y axis of each grid line with constant y coordinate. Array of size ny + 1 . |
[in] | z | Distance (depth) from top-layer measured along the z axis of each grid line with constant z coordinate. Array of size nz + 1 . |
[in] | depthz | Top-layer topography specification. If NULL , interpreted as horizontal top-layer at z=0 . Otherwise, must be an array of size (nx + 1) * (ny + 1) , ordered lexicographically, that defines the depth of each top-layer pillar vertex. |