*qismoothconstrained
This command tries to improve the selected elements' quality index by QI optimizing elements nodes positions.
Syntax
*qismoothconstrained smoothmark anchormark criteria_file feature_angle goal_qi ignore_features constr_flags stifflimit toughlimit midlimit looselimit max_iteration ,time_limit
Type
HyperMesh Tcl Modify Command
Description
This command tries to improve the selected elements' quality index by QI optimizing elements nodes positions. It tries to achieve the best possible quality index value by allowing nodes to move up to the specified absolute limits dependent on the position of nodes respect to feature edges.
The command parameters have the following meaning:
Inputs
- smoothmark
- The elements selection mark (1 or 2).
- anchormark
- The mark of additional (to welds) nodes not allowed to move (1 or 2).
- criteria_file
- The path to the criteria file. If the criteria are set by a preceding command, "dummy" can be used as a criteria file name.
- feature_angle
- Elements feature angle for defining of features in degrees (30 degrees is a commonly used value).
- ignore_features
- The flag defining permissions of node movement across the feature edges:
- 0 - Nodes are not allowed to move across feature edges.
- 1 - Nodes are allowed to be moved across shared edges; free edges nodes, marked edges, edges of features (beads, washers, dimples, birdbeaks, fillets), all fixed nodes are forbidden for movement across.
- 2 - The same as "1", but nodes on some of the features surfaces (beads, vertices) are unfixed + end vertices of fillet edge are unfixed.
- 3 - The same as "2", but fillet edges are released and some curves sharp break vertices are unfixed.
- 4 - All shared edges nodes,including recognized features boundary edges, all non-user marked edges and fixed vertices are released for movement across.
- 5 - The same as "4" but free edges nodes are also released, those nodes are not allowed to move off the surfaces.
- 6 - The same as "5" but free edges nodes are allowed now to move off surfaces breaking associativity with geometry.
- constr_flags
- The additive flags defining constraints to be applied:
- 0 - No constraints are applied.
- +1 - Constraints applied to nodes movement across feature edges.
- +2 - Constraints applied to fixed nodes movement along feature edges.
- +4 - Constraints applied to nodes across smooth (not feature) edges.
- +8 - Constraints applied to vertex nodes along feature edges.
- +16 - Constraints applied to all nodes along feature edges.
- +32 - Constraints applied to surface (not edge) nodes.
- stifflimit
- Maximum absolute movement of free edges nodes.
- toughlimit
- Maximum absolute movement of nodes of shared feature edges or fixed nodes along feature edges.
- midlimit
- Maximum absolute movement for nodes movement of smooth (non feature) shared edges or non-corner nodes along feature edges.
- looselimit
- Maximum absolute movement for not-edge (surface) nodes. Each of the limits has effect if the corresponding flags are set, ignore_features has corresponding value and the limit has non-negative value.
- max_iterations
- Maximum number of algorithm iterations. Usually 3 to 5 can be used.
- time_limit
- The time limit in minutes. If 0 is passed - ignored.
Example
*createstringarray 14 \
" 0 penalty value 0.00 0.00 0.80 1.00 10.00" \
" 1 min length 1 1.0 3.000 2.749 1.502 1.000 0.749 1" \
" 2 max length 1 1.0 3.000 3.600 4.500 6.000 9.000 0" \
" 3 aspect ratio 1 1.0 1.000 2.000 4.400 5.000 10.000 0" \
" 4 warpage 1 1.0 0.000 5.000 13.000 15.000 30.000 0" \
" 5 max angle quad 1 1.0 90.000 110.000 134.000 140.000 160.000 0" \
" 6 min angle quad 1 1.0 90.000 70.000 46.000 40.000 20.000 0" \
" 7 max angle tria 1 1.0 60.000 80.000 112.000 120.000 150.000 0" \
" 8 min angle tria 1 1.0 60.000 50.000 34.000 30.000 15.000 0" \
" 9 skew 1 1.0 0.000 10.000 34.000 40.000 70.000 0" \
"10 jacobian 1 1.0 1.000 0.900 0.700 0.600 0.300 0" \
"11 chordal dev 0 1.0 0.000 0.300 0.800 1.000 2.000 0" \
"12 taper 1 1.0 0.000 0.200 0.500 0.600 0.900 0" \
"13 % of trias 1 1.0 0.000 6.000 10.000 15.000 20.000 0"
*setqualitycriteria 1 14 0
*createmark elements 1 "displayed"
*createmark nodes 1
*qismoothconstrained 1 1 "dummy" 30 0.2 6 3 0.5 1.0 1.5 2.0 5 0
Errors
The command returns error codes for wrong quality criteria, no elements selected and internal optimization errors.
Version History
9.0