Model.rbody_mesh#

Model.rbody_mesh(collection, min_size, max_size, max_chordal, max_angle, remesh, mesh_type, elem_comp, elem_order, shared_edge_flag)#

Creates a rigid body mesh on surfaces.

Parameters:
  • collection (Collection) – The collection containing the surface entities to mesh.

  • min_size (double) – The minimum element size.

  • max_size (double) – The maximum element size.

  • max_chordal (double) – The maximum allowed chordal deviation.

  • max_angle (double) – The maximum feature angle.

  • remesh (int) –

    0 - Delete existing elements before mesh

    1 - Do not delete existing elements before mesh

  • mesh_type (int) –

    0 - Trias

    1 - Mixed

  • elem_comp (int) –

    0 - Organize elements in current component

    1 - Organize elements in surface component(s)

  • elem_order (int) –

    1 - First

    2 - Second

  • shared_edge_flag (int) –

    For options 1-6 :

    0 - Allow node movement across shared edges, and ignore chordal deviation. With this option connectivity with existing mesh is broken.

    1 - Do not allow node movement across shared edges, and ignore chordal deviation. With this option connectivity with existing mesh is broken.

    2 - Allow node movement across suppressed edges, and ignore chordal deviation. With this option connectivity with existing mesh is broken.

    3 - Allow node movement across shared edges, and keep chordal deviation. With this option connectivity with existing mesh is broken.

    4 - Do not allow node movement across shared edges, and keep chordal deviation. With this option connectivity with existing mesh is broken.

    5 - Allow node movement across suppressed edges, and keep chordal deviation. With this option connectivity with existing mesh is broken.

    6 - Do not allow node movement across shared edges, do not allow edge swap in cleanup, and keep chordal deviation. With this option connectivity with existing mesh is broken.

    10 - Same as option 0 but keep connectivity with existing mesh

    11 - Same as option 1 but keep connectivity with existing mesh

    12 - Same as option 2 but keep connectivity with existing mesh

    13 - Same as option 3 but keep connectivity with existing mesh

    14 - Same as option 4 but keep connectivity with existing mesh

    15 - Same as option 5 but keep connectivity with existing mesh

    16 - Same as option 15 and allow mesh refining to avoid intersections

    Note

    For shared_edge_flag, options 7 - 9 are currently unavailable.

Example#

Create a first order rigid body mesh on surfaces with IDs 1 - 10 , with minimum size of 0.5 and maximum size of 30.0#
import hm
import hm.entities as ent

model = hm.Model()

surf_collection = hm.Collection(model, ent.Surface, list(range(1, 11)))

model.rbody_mesh(
    collection=surf_collection,
    min_size=0.5,
    max_size=30.0,
    max_chordal=0.1,
    max_angle=15,
    remesh=1,
    mesh_type=1,
    elem_comp=1,
    elem_order=1,
    shared_edge_flag=2,
)