*optimsmooth

Applies the quality index optimization smoothing algorithm to a mark of plate elements.

Syntax

*optimsmooth smoothmark anchormark criteria_filename feature_angle target_QI max_iterations time_limit

Type

HyperMesh Tcl Modify

Description

One or more nodes may be specified as being anchored in place and not movable. The command optimizes nodes location to reach the specified target Q.I. of the selected elements aggregate according to a given quality criteria. It moves nodes through the surface boundaries unless the boundaries are strong feature lines or component boundaries. The optimization process may be interrupted if the target Q.I. has been reached or a time limit is specified. The optimization may be applied recurrently with a given maximum number of iterations.

Inputs

smoothmark
The mark of elements to be smoothed. Does not need to be a contiguous block.
anchormark
The mark of nodes on elements that are not adjustable.
criteria_filename
The path of the file containing quality criteria or dummy for criteria pre-set with *reset_qa_calculator().
feature_angle
The angle in degrees specifying the feature lines (18-90 degrees). This is approximately the minimal angle between the elements adjacent to a feature line.
If a negative value is used, this enables the option to maintain nodes on geometry edges and the absolute value is used for the feature angle.
target_QI
The target Q.I. for optimization.
max_iterations
The maximum number of recursive applications of the optimization procedure.
time_limit
Time limit in minutes for the optimization.
If = 0, the time constraint is not applied.

Example

To smooth elements 100 through 110 with fixed nodes 15, 17, and 14 using the quality criteria file, c:/mycriteria/durability.txt, the feature angle = 30 degrees, the target Q.I = 0.2, recursive optimization with maximum five iterations and with no time limit applied:

*createmark(elements,1)100 101 102 103 104 105 106 107 108 109 110
*createmark(nodes,2) 15 17 14
*optimsmooth(1,2,c:/mycriteria/durability.txt,30,0.2,5,0)

To smooth all plate elements with fixed nodes 257 and 678 using the quality criteria specified in the example for *reset_qa_calculator() with the feature angle = 40 degrees, target Q.I. = 0.3, no recursive optimization, time limit 60 minutes:

*createdoublearray(89) 1 1 15 13.5 6 3 1.5 1 1 15 18 22.5 30 45 1 1 1 2 4.4 5 10 1 1 0 5 8 10 90 1 1 90 110 125 135 180 1 1 90 70 55 45 0 1 1 60 80 100  120 180 1 1 60 50 30 20 0 1 1 0 10 35 45 90 1 1 1 0.9 0.75 0.7 0 1 0 0 0.3 0.8 1 2 1 1 2 6 8 10 15 0 0 0.8 1 10
*reset_qa_calculator(1,89)
*createmark(elements,1) "all"
*createmark(nodes,1) 257 678
*optimsmooth(1,1,dummy,40,0.3,1,60)

Both *createmark() commands are required when using this command (see example).

Current element quality criteria for optimization can also be set directly using *reset_qa_calculator_from_file() or reset_qa_calculator() at least once before using the command. In such cases, dummy should be given as a criteria_filename argument. The command may then be applied any time without resetting the current quality criteria.

Using a true file name in the command also results in the resetting of current quality criteria for optimization and for the Quality Index panel. The criteria file must be created using the Quality Index panel.

Errors

None.