|
|
◆ mesh35()
| void mesh35 |
( |
int |
nx, |
|
|
int |
ny, |
|
|
int |
nz, |
|
|
int * |
n, |
|
|
double |
sclx, |
|
|
double |
scly, |
|
|
double |
sclz, |
|
|
double |
x[], |
|
|
double |
y[], |
|
|
double |
z[], |
|
|
int * |
ne, |
|
|
int |
ldknc, |
|
|
int |
knc[], |
|
|
int |
ldks, |
|
|
int |
ks[], |
|
|
int |
lb[], |
|
|
int * |
nb, |
|
|
int * |
info |
|
) |
| |
Generates simple rectangular mesh for FEM (3D) (5-node pentahedral (pyramid) element)
- Purpose
- This routine generates the simple rectangular mesh for FEM. (3D) (5-node pentahedral (pyramid) element)
- Parameters
-
| [in] | nx | Number of grids in the X-direction. (nx > 0) |
| [in] | ny | Number of grids in the Y-direction. (ny > 0) |
| [in] | nz | Number of grids in the Z-direction. (nz > 0) |
| [out] | n | Total number of nodes. (= (nx + 1)*(ny + 1)*(nz + 1)) |
| [in] | sclx | Scale factor of x-coordinates. |
| [in] | scly | Scale factor of y-coordinates. |
| [in] | sclz | Scale factor of z-coordinates. |
| [out] | x[] | Array x[lx] (lx >= n)
X-coordinates of nodes. |
| [out] | y[] | Array y[ly] (ly >= n)
Y-coordinates of nodes. |
| [out] | z[] | Array z[lz] (lz >= n)
Z-coordinates of nodes. |
| [out] | ne | Number of elements. (= 3*nx*ny*nz) |
| [in] | ldknc | Leading dimension of the two dimensional array knc[]. (ldknc >= 6 (number of nodes in the element + 1 (5-node pyramid))) |
| [out] | knc[] | Array knc[ldknc*lknc] (lknc >= ne)
Connection matrix: knc[ldknc*k] is the type of element k (= 7: 5-node pyramid), knc[1 + ldknc*k], ..., knc[5 + ldknc*k] point to the nodes of element k. |
| [in] | ldks | Leading dimension of the two dimensional array ks[]. (ldks >= 5 (number of nodes in the natural boundary element + 1 (4-node quadrangle))) |
| [out] | ks[] | Array ks[ldks*lks] (lks >= nb)
Connection matrix of natural boundary sides: ks[ldks*k] is the type of boundary element k (= 2: 3-node triangle or 3: 4-node quadrangle), ks[1 + ldks*k], ..., ks[3 + ldks*k] (, ks[4 + ldks*k]) point to the nodes of boundary element k. |
| [out] | lb[] | Array lb[llb] (llb >= nb)
Boundary side label.
= 1: front. (y = 0)
= 2: right. (x = 1)
= 3: back. (y = 1)
= 4: left. (x = 0)
= 5: bottom. (z = 0)
= 6: top. (z = 1) |
| [out] | nb | Number of boundary sides. (= 3*nx*ny + 4*(ny*nz + nz*nx) max.) |
| [out] | info | Return code.
= 0: Normal return.
= i < 0: The (-i)-th argument is invalid or has an illegal value. |
|