SABER
|
Public Member Functions | |
subroutine | stripack_trmesh (mpl, n, x, y, z, list, lptr, lend, lnew, near, next, dist) |
Create a Delaunay triangulation on the unit sphere. More... | |
Definition at line 86 of file tools_stripack.F90.
subroutine tools_stripack::trmesh::stripack_trmesh | ( | type(mpl_type), intent(inout) | mpl, |
integer, intent(in) | n, | ||
real(kind_real), dimension(n), intent(in) | x, | ||
real(kind_real), dimension(n), intent(in) | y, | ||
real(kind_real), dimension(n), intent(in) | z, | ||
integer, dimension(6*(n-2)), intent(out) | list, | ||
integer, dimension(6*(n-2)), intent(out) | lptr, | ||
integer, dimension(n), intent(out) | lend, | ||
integer, intent(out) | lnew, | ||
integer, dimension(n), intent(inout) | near, | ||
integer, dimension(n), intent(inout) | next, | ||
real(kind_real), dimension(n), intent(inout) | dist | ||
) |
Create a Delaunay triangulation on the unit sphere.
[in,out] | mpl | MPI data |
[in] | n | Number of nodes in the triangulation. 3<=N. |
[in] | x | X-coordinate of distinct nodes. (X(K),Y(K), Z(K)) is referred to as node K, and K is referred to as a nodal index. It is required that X(K)**2+Y(K)**2+Z(K)**2 = 1 for all K. The first three nodes must not be colinear (lie on a common great circle). |
[in] | y | Y-coordinate of distinct nodes. |
[in] | z | Z-coordinate of distinct nodes. |
[out] | list | Nodal indexes which, along with LPTR, LEND, and LNEW, define the triangulation as a set of N adjacency lists; counterclockwise-ordered sequences of neighboring nodes such that the first and last neighbors of a boundary node are boundary nodes (the first neighbor of an interior node is arbitrary). In order to distinguish between interior and boundary nodes, the last neighbor of each boundary node is represented by the negative of its index. |
[out] | lptr | Set of pointers (LIST indexes) in one-to-one correspondence with the elements of LIST. LIST(LPTR(I)) indexes the node which follows LIST(I) in cyclical counterclockwise order (the first neighbor follows the last neighbor). |
[out] | lend | Pointers to adjacency lists. LEND(K) points to the last neighbor of node K. LIST(LEND(K))<0 if and only if K is a boundary node. |
[out] | lnew | Pointer to the first empty location in LIST and LPTR (list length plus one). |
[in,out] | near | Workspace used to efficiently determine the nearest triangulation node to each unprocessed node for use by ADDNOD. |
[in,out] | next | Workspace used to efficiently determine the nearest triangulation node to each unprocessed node for use by ADDNOD. |
[in,out] | dist | Workspace used to efficiently determine the nearest triangulation node to each unprocessed node for use by ADDNOD. |
Definition at line 1157 of file tools_stripack.F90.