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 theModel.set_meshedgeparams()function. automeshe parameters for each face are specified with theModel.set_meshfaceparams()function . Each face is sent to theModel.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 . TheModel.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()