*min_size_node_movement
Move feature nodes to solve minimum element size failures.
Syntax
*min_size_node_movement mark_id
Type
HyperMesh Tcl Modify Command
Description
This command moves nodes along feature edges in a shell mesh to solve minimum element size
failures. The mesh topology is not modified. The minimum element size is given by "Min Size"
( fail ) in the criteria file settings. The node movement is restricted to be along existing
surfaces. The command expects that the criteria and parameter files are set. It honors the
following fields from the parameter file to specify the maximum allowable node movement distance:
- Move across shared edges
- Move across free edges
- Move across non-manifold edges
Feature edges are constructed as:
- A set of 1D elements along FE edges
- If no 1D element is present in the model, using the feature angle given in the parameter file
- Node - geometry association
Node - geometry association is maintained after feature node are moved, however, free edge nodes may move tangential away from the surface and lose association.
Feature node movement is attempted in decreasing order of priority for:
- Internal low curvature shared edges
- Internal high curvature edges
- Free edges
- Non-manifold edges
Node movement is also part of the *rebuild_mesh command.
Inputs
- mark_id
- The ID of the mark containing the elements to correct. Valid values are 1 and 2.
Example
To move feature nodes of selected shell elements with 5 mm criteria and parameter file
settings:
*createstringarray 14 " 0 penalty value 0.00 0.00 0.50 1.00 5.00" \
" 1 min length 1 2.0 5.000 4.333 3.666 3.000 2.833 2" \
" 2 max length 1 1.5 5.000 6.200 7.320 9.000 11.290 0" \
" 3 aspect ratio 1 1.0 1.000 2.000 4.000 5.000 10.000 0" \
" 4 warpage 1 2.0 0.000 5.000 15.000 20.000 40.000 0" \
" 5 max angle quad 1 1.0 90.000 110.000 140.000 150.000 165.000 0" \
" 6 min angle quad 1 1.0 90.000 70.000 40.000 30.000 15.000 0" \
" 7 max angle tria 1 1.0 60.000 80.000 120.000 130.000 155.000 0" \
" 8 min angle tria 1 1.0 60.000 50.000 30.000 20.000 10.000 0" \
" 9 skew 1 1.5 0.000 10.000 50.000 60.000 75.000 0" \
" 10 jacobian 1 2.0 1.000 0.900 0.600 0.500 0.350 0" \
" 11 chordal dev 0 0.0 0.000 0.300 0.800 1.000 2.000 0" \
" 12 taper 0 1.0 0.000 0.200 0.500 0.600 0.900 0" \
" 13 % of trias 1 2.0 0.000 3.000 4.500 6.000 9.000 0"
*setqualitycriteria 1 14 0
*elementchecksettings -1 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
*createstringarray 106 "fileversion 20180" "geometry_cleanup_flag 1" \
"meshing_flag 5" "element_size 5.0" \
"element_type 2" "mesh_align 3" \
"element_order 1" "surf_component 1" \
"feature_angle 30.0" "holes_table_begin" "appl_surf(1)" \
"appl_solid(0)" "appl_cordsfiles(0)" "appl_flanged_suppr(1)" "flanged_suppr_height(1.4)" \
"narrow_slots_type(1)" "appl_rmv_washer_loops(1)" "abs_fixed_nodes_count_max(-8)" \
"rad(0.0,2.2) do action(1) washer(0) " "rad(2.2,3.01) do action(0) elems(4) washer(0) " \
"rad(3.01,4.7) do action(0) elems(6) washer(1) layers(3.5) " "rad(4.7,9.0) do action(0) elems(8) washer(1) layers(0.75*radius) " \
"rad(9.0,11.0) do action(0) elems(8) washer(1) layers(7.0) " "rad(11.0,20) do action(0) elems(8) washer(1) layers(auto) " \
"rad(0.0,2.2) solid(1) do action(1) " "rad(2.2,3.01) solid(1) do action(0) elems(4) " \
"rad(3.01,20) solid(1) do action(0) elems(6) " "holes_table_end" "edge_fillet_recognition 1" \
"max_fillet_radius 5.0" "surface_fillet_table_begin" "surface_fillet_recognition(1)" \
"minimize_transitions(1)" "rad(0,2.2) wid(3.0,6.2) do split(suppress_on)" \
"rad(2.2,15) wid(3.4,6.2) do elems(1)" "rad(0,25.0) wid(6.2,9.2) do elems(2)" \
"rad(0,35.0) wid(9.2,12.5) do elems(3)" "rad(0,40.0) wid(12.5,25.0) do chordal_deviation(0.2)" \
"surface_fillet_table_end" "del_dupl_surfs_flag 2" "del_dupl_surfs_tol -1" \
"edges_stitch_flags 0" "max_edges_stitch_tol -1.0" \
"fix_overlapsurfs_flag 1" "overlapsurfs_maxtangangle -1.0" \
"merge_narrow_surfs 1" "narrow_surfs_merge_width Lmin*0.67" \
"beads_suppression 1" "beads_recognition 1" \
"minimal_beads_height 1.4" "beads_treat_flags 1" \
"flange_recognition 1" "flange_elements_across 3" \
"flange_max_width 30.0" "flange_min_width 8.0" \
"flanges_treat_flags 1" "flange_max_remove_width -1.0" \
"appl_tria_reduction 1" "common_mesh_flow 0" \
"extract_thinsolids 1" "midsurf_method 3" \
"thinsolid_ratio 0.3" "max_thickness 10.0" \
"extract_feature_angle 25.0" "pre_midsurf_cleanup 1" \
"direct_midmesh 0" "ignore_flat_edges 1" \
"flatten_connections 0" "defeat_open_width_on 1" \
"defeat_open_width 1.0" "supp_proxim_edges_on 1" \
"supp_proxim_edges 0.9" "combine_nonmanifold_on 1" \
"combine_nonmanifold 0.7" "midmesh_extract_elem_size 2.0" \
"remove_logo 1" "logo_max_size 30.0" \
"logo_max_height 1.4" "logo_min_concavity 1.0" \
"threads_removal 0" "threads_toremove_max_depth 5.0" \
"threads_replacediametertype -2" "folded_elems_angle 150.0" \
"smooth_elems_target 0.2" "fillets_mesh_flow 0" \
"failed_elems_cleanup_flgs 8" "move_nodes_across_feature_edges 1" \
"featureedge_nodes_moveacross_max L*0.1" "move_nodes_across_free_edges 1" \
"freeedge_nodes_moveacross_max L*0.05" "move_nodes_across_t_edges 1" \
"tedge_nodes_moveacross_max L*0.05" "move_normal_flag 1" \
"move_normal_dist 0.8" "divide_warped_quads 1" \
"ignore_comps_boundary 0" "gen_topology_prepare_flags 7" \
"cleanup_comp_flag 0 " "comp_select " \
"use_wildcards_for_compsnames 0" "cleanup_tolerances auto" \
"suppress_features_rate 1" "feat_charsize_method 1" \
"custom_feat_suppr_maxangle 25.0" "uncond_constr_lines_suppress 0" \
"aggressive_fillet_lines_suppress 0"
*createbatchparamsfromstrings 1 106
*createmark elements 1 all
*min_size_node_movement 1
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.1