*fix_2d_mesh
Performs local mesh operations to resolve intersections and slivers on a surface mesh.
Syntax
*fix_2d_mesh entity_type mark_id fix_type aspect_ratio node_movement_tol fix_method failed_mark_id
Type
HyperMesh Tcl Modify Command
Description
Performs local mesh operations to resolve intersections and slivers on a surface mesh.
Inputs
- entity_type
- The type of entity to fix. Valid values are comps and elems.
- mark_id
- The ID of the mark of entities. Valid values are 1 and 2.
- fix_type
- 0 - Attempts to detect and remove intersections using local operations.
- aspect_ratio
- This specifies the aspect ratio of the triangles that are allowed in the mesh as part of clean up. It is a value between 0 and 1.
- node_movement_tol
- This specifies the tolerance used to compute and resolve intersections. Suggested value is to use the average size of the mesh.
- fix_method
- Bit value defining which operations are allowed while resolving mesh intersections. 0
will allow all operations, other values are interpreted as follows (Bit0 + 2*Bit1 + 4*Bit2):
- Bit0
- 0 - Allow edge swap
- Bit1
- 0 - Allow edge collapse
- Bit2
- 0 - Allow node movement
- failed_mark_id
- The ID of the mark of the unresolved element intersections. Valid values are 1 and 2. Only useful for fix_type 0 and 2.
Examples
Attempt to remove intersections in the input 2D mesh selection:
#Select the portion of the mesh to smooth
*createmark elems 1 "all"
*createmark elems 2
#Resolve the intersections so that no new triangle with aspect ratio < 0.1 is generated while resolving intersection and restricting the node movement by 0.5. Allowing all mesh editing operations, all unresolved intersections populated in elem mark 2.
*fix_2d_mesh elems 1 0 0.1 0.5 0 2
#If intersection removal has to be performed only allowing edge swap. fix_method = (1)2
*fix_2d_mesh elems 1 0 0.1 0.5 1 2
#If intersection removal has to be performed only allowing edge swap and node movements. fix_method = (101)2 = 5
*fix_2d_mesh elems 1 0 0.1 0.5 5 2
#To cleanup slivers with less than 0.1 aspect ratio and subsequently run intersection removal with node movement tolerance as 0.5 and allowing all operations while intersection removal.
*fix_2d_mesh elems 1 2 0.1 0.5 0 2
Errors
Incorrect usage results in a Tcl error. To detect
errors, you can use the catch
command:
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
2019