mesh.Mesh.split_by_angle#

Mesh.split_by_angle(angle=60.0, sort='number')#

Split a tri3 Mesh by splitting it at sharp edges.

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

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#

>>> coords = Coords([[0.0, 0.0, 0.0],
...                  [1.0, 0.0, 0.0],
...                  [0.0, 1.0, 0.0],
...                  [0.0, 0.0, 2.0]])
>>> elems = [[0,1,2], [0,2,3]]
>>> M = Mesh(coords,elems,eltype='tri3')
>>> M_split = M.split_by_angle(sort='area')
>>> print(M_split[0])
Mesh: n_nodes: 3, n_elems: 1, plexitude: 3, level: 2, eltype: tri3
  BBox: [0. 0. 0.], [0. 1. 2.]
  Size: [0. 1. 2.]
  Length: 5.236  Area: 1.0
>>> print(M_split[1])
Mesh: n_nodes: 3, n_elems: 1, plexitude: 3, level: 2, eltype: tri3
  BBox: [0. 0. 0.], [1. 1. 0.]
  Size: [1. 1. 0.]
  Length: 3.414  Area: 0.5