Model.ameshclearsurface#

Model.ameshclearsurface()#

Frees memory temporarily allocated for the automesher.

Example#

Automesh a surface with four faces and ten edges. To generate a mesh for each face, the automeshing module sets up values for element densities and bias with the Model.set_meshedgeparams() function. automeshe parameters for each face are specified with the Model.set_meshfaceparams() function . Each face is sent to the Model.automesh() function so it can determine the appropriate meshing algorithm and create an all - quads mesh . Then HyperMesh is used to smooth the meshes for ten iterations each. Next, the mesh for face two is rejected and a new mesh is created with slightly different element densities . The four meshes are saved to the HyperMesh database . The Model.ameshclearsurface() function clears from the memory any information regard the current surface so that a new surface can be processed .#
import hm
import hm.entities as ent

model = hm.Model()

model.surfacemode(mode=1)

# Create a collection of one surface with ID 1 and prepare it for automeshing
input_surface = hm.Collection(model, ent.Surface, [1])
model.interactivemeshsurf(
    collection=input_surface,
    elementsize=1.0,
    elem_type=1,
    elem_type2=1,
    forcing=1,
    size_control=0,
    skew_control=0,
)
# Automeshing for face 0
model.set_meshedgeparams(
    edge_index=0,
    elem_density=2,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=1,
    elem_density=6,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=2,
    elem_density=5,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=5,
    elem_density=3,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshfaceparams(
    face_index=0,
    shape_type=1,
    elem_type=1,
    alg_type=0,
    elem_size=0,
    smooth_method=0,
    smooth_tol=0.1,
    size_control=0,
    skew_control=0,
)
model.automesh(face_index=0, algorithm=1, elem_type=1)
# Automeshing for face 1
model.set_meshedgeparams(
    edge_index=2,
    elem_density=5,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=11,
    elem_density=3,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=3,
    elem_density=4,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=4,
    elem_density=4,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshfaceparams(
    face_index=1,
    shape_type=1,
    elem_type=1,
    alg_type=0,
    elem_size=0,
    smooth_method=0,
    smooth_tol=0.1,
    size_control=0,
    skew_control=0,
)
model.automesh(face_index=1, algorithm=1, elem_type=1)
# Automeshing for face 2
model.set_meshedgeparams(
    edge_index=8,
    elem_density=6,
    alg_type=0,
    bias_style=0,
    bias=-2.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=5,
    elem_density=3,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=6,
    elem_density=5,
    alg_type=0,
    bias_style=0,
    bias=2.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=7,
    elem_density=8,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshfaceparams(
    face_index=2,
    shape_type=1,
    elem_type=1,
    alg_type=0,
    elem_size=0,
    smooth_method=0,
    smooth_tol=0.1,
    size_control=0,
    skew_control=0,
)
model.automesh(face_index=2, algorithm=1, elem_type=1)
# Automeshing for face 3
model.set_meshedgeparams(
    edge_index=8,
    elem_density=6,
    alg_type=0,
    bias_style=0,
    bias=-2.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=9,
    elem_density=2,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=10,
    elem_density=7,
    alg_type=0,
    bias_style=0,
    bias=2.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=11,
    elem_density=3,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshfaceparams(
    face_index=3,
    shape_type=1,
    elem_type=1,
    alg_type=0,
    elem_size=0,
    smooth_method=0,
    smooth_tol=0.1,
    size_control=0,
    skew_control=0,
)
model.automesh(face_index=3, algorithm=1, elem_type=1)
# Smoothing
model.smoothelements(faceindex=0, smoothmethod=1, iterations=10)
model.smoothelements(faceindex=1, smoothmethod=1, iterations=10)
model.smoothelements(faceindex=2, smoothmethod=1, iterations=10)
model.smoothelements(faceindex=3, smoothmethod=1, iterations=10)
# Changing mesh of face 2
model.rejectmesh(faceindex=2)
model.set_meshedgeparams(
    edge_index=8,
    elem_density=6,
    alg_type=0,
    bias_style=0,
    bias=-2.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=5,
    elem_density=3,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=6,
    elem_density=5,
    alg_type=0,
    bias_style=0,
    bias=2.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshedgeparams(
    edge_index=7,
    elem_density=8,
    alg_type=0,
    bias_style=0,
    bias=0.0,
    min_size=0.0,
    max_size=0.0,
    chordal_dev=0.0,
    max_angle=0.0,
)
model.set_meshfaceparams(
    face_index=2,
    shape_type=1,
    elem_type=1,
    alg_type=0,
    elem_size=0,
    smooth_method=0,
    smooth_tol=0.1,
    size_control=0,
    skew_control=0,
)
model.automesh(face_index=2, algorithm=1, elem_type=1)
model.storemeshtodatabase(elemstosurfcomp=0)
# Clearing memory
model.ameshclearsurface()