mesh.Mesh.split_by_connection#

Mesh.split_by_connection(level=0, startat=0, sort='number')#

Split a Mesh into connected parts.

This is like partition_by_connection() but returns a list of partial Meshes. The parameters are like in partition_by_connection()

Returns#

list of Mesh

A list of Meshes that each form a connected part. By default the parts are sorted in decreasing order of the number of elements.

Examples#

>>> M1 = Mesh(eltype='quad4').subdivide(2)
>>> M2 = Mesh(eltype='quad4').scale(2.0).trl([3.0,0.0,0.0])
>>> M = M1 + M2
>>> M_split = M.split_by_connection(sort='area')
>>> print(M_split[0])
Mesh: n_nodes: 4, n_elems: 1, plexitude: 4, level: 2, eltype: quad4
  BBox: [3. 0. 0.], [5. 2. 0.]
  Size: [2. 2. 0.]
  Length: 8.0  Area: 4.0
>>> print(M_split[1])
Mesh: n_nodes: 9, n_elems: 4, plexitude: 4, level: 2, eltype: quad4
  BBox: [0. 0. 0.], [1. 1. 0.]
  Size: [1. 1. 0.]
  Length: 4.0  Area: 1.0