naginterfaces.library.mesh.dim2_​join

naginterfaces.library.mesh.dim2_join(coor1, edge1, conn1, reft1, coor2, edge2, conn2, reft2, itrace, eps=0.001, io_manager=None)[source]

dim2_join joins together (restitches) two adjacent, or overlapping, meshes.

For full information please refer to the NAG Library document for d06db

https://support.nag.com/numeric/nl/nagdoc_30/flhtml/d06/d06dbf.html

Parameters
coor1float, array-like, shape

contains the coordinate of the th vertex of the first input mesh, for ; while contains the corresponding coordinate.

edge1int, array-like, shape

The specification of the boundary edges of the first input mesh. and contain the vertex numbers of the two end points of the th boundary edge. is a user-supplied tag for the th boundary edge.

conn1int, array-like, shape

The connectivity between triangles and vertices of the first input mesh. For each triangle , gives the indices of its three vertices (in anticlockwise order), for , for .

reft1int, array-like, shape

contains the user-supplied tag of the th triangle from the first input mesh, for .

coor2float, array-like, shape

contains the coordinate of the th vertex of the second input mesh, for ; while contains the corresponding coordinate.

edge2int, array-like, shape

The specification of the boundary edges of the second input mesh. and contain the vertex numbers of the two end points of the th boundary edge. is a user-supplied tag for the th boundary edge.

conn2int, array-like, shape

The connectivity between triangles and vertices of the second input mesh. For each triangle , gives the indices of its three vertices (in anticlockwise order), for , for .

reft2int, array-like, shape

contains the user-supplied tag of the th triangle from the second input mesh, for .

itraceint

The level of trace information required from dim2_join.

No output is generated.

Details about the common vertices, edges and triangles to both meshes are printed.

epsfloat, optional

The relative precision of the restitching of the two input meshes (see Further Comments).

io_managerFileObjManager, optional

Manager for I/O in this routine.

Returns
nv3int

The total number of vertices in the resulting mesh.

nelt3int

The number of triangular elements in the resulting mesh.

nedge3int

The number of boundary edges in the resulting mesh.

coor3float, ndarray, shape

will contain the coordinate of the th vertex of the resulting mesh, for ; while will contain the corresponding coordinate.

edge3int, ndarray, shape

The specification of the boundary edges of the resulting mesh. will contain the vertex number of the th end point () of the th boundary or interface edge.

If the two meshes overlap, will contain the same tag as the corresponding edge belonging to the first and/or the second input mesh.

If the two meshes are adjacent,

  1. if the th edge is part of the partition interface, will contain the value where and are the tags for the same edge of the first and the second mesh respectively;

  2. otherwise, will contain the same tag as the corresponding edge belonging to the first and/or the second input mesh.

conn3int, ndarray, shape

The connectivity between triangles and vertices of the resulting mesh. will give the indices of its three vertices (in anticlockwise order), for , for .

reft3int, ndarray, shape

If the two meshes form a partition, will contain the same tag as the corresponding triangle belonging to the first or the second input mesh, for . If the two meshes overlap, will contain the value where and are the user-supplied tags for the same triangle of the first and the second mesh respectively, for .

Raises
NagValueError
(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, , , and .

Constraint: and .

(errno )

On entry, and .

Constraint: .

(errno )

On entry, , , and .

Constraint: and .

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, , , and .

Constraint: and .

(errno )

On entry, and .

Constraint: .

(errno )

On entry, , , and .

Constraint: and .

(errno )

On entry, .

Constraint: .

(errno )

On entry, the end points of edge in the second mesh have the same index : and .

(errno )

On entry, vertices and of triangle in the second mesh have the same index : and .

(errno )

On entry, vertices and of triangle in the second mesh have the same index : and .

(errno )

On entry, vertices and of triangle in the second mesh have the same index : and .

(errno )

On entry, the end points of edge in the first mesh have the same index : and .

(errno )

On entry, vertices and of triangle in the first mesh have the same index : and .

(errno )

On entry, vertices and of triangle in the first mesh have the same index : and .

(errno )

On entry, vertices and of triangle in the first mesh have the same index : and .

(errno )

The function has detected only coincident vertices with a precision . Either should be changed or the two meshes are not restitchable.

(errno )

A serious error has occurred in an internal call to the restitching routine. Check the input of the two meshes, especially the edges/vertices and/or the triangles/vertices connectivities. Seek expert help.

(errno )

The function has detected a different number of coincident triangles from the two meshes in the overlapping zone . Check the input of the two meshes, especially the triangles/vertices connectivity.

(errno )

The function has detected a different number of coincident edges from the two meshes on the partition interface . Check the input of the two meshes, especially the edges/vertices connectivity.

Notes

dim2_join joins together two adjacent, or overlapping, meshes. If the two meshes are adjacent then vertices belonging to the part of the boundary forming the common interface should coincide. If the two meshes overlap then vertices and triangles in the overlapping zone should coincide too.

This function is partly derived from material in the MODULEF package from INRIA (Institut National de Recherche en Informatique et Automatique).