*morphshapecreateorthogonalbound

Creates shapes, design variables with the specified bounds, dlink2s, and equations to enable non-linear shape variables in linear optimization.

Syntax

*morphshapecreateorthogonalbound s_entity_type s_mark_id md_entity_type md_mark_id system_id method prec tol initial l_bound u_bound

Type

HyperMesh Tcl Modify

Description

This command will convert all the shapes on the first mark into shapes, design variables, equations, and dlink2 entities when using the constraint and system methods. An initial value along with upper and lower bounds can be set for the design variables.

For the constraint method, a non-linear shape will be deduced by applying each shape on the s_mark_id by a number of factors from 0.0 to 1.0 equal to the value of prec, enforcing any active constraints, and fitting a curve through the intermediate positions for each node.

For the mid-shape method, a non-linear shape will be deduced by fitting a shape through a curve beginning at the unperturbed position, traveling through the position attained when the shape on the md_mark_id is applied, and ending at the position attained when the shape on the s_mark_id is applied.

For the system method, each shape on s_mark_id will be assumed to rotate about the z-axis of the selected system instead of moving linearly in the xy plane. A non-linear shape will be deduced from the circular node paths.

For all methods, the non-linear paths of the nodes are represented by a pair of linear shape variables, plus a corrective shape variable, which are linked together via equations and dlink2 entities. The result is a single design variable which, when changed, applies the linear shape variables in such a way that the nodes move along non-linear paths.

For the constraint and system methods, if multiple shapes are selected, conflicts between each pair of shapes (such as when the application of one shape causes another to violate constraints) are detected and resolved by adding a corrective shape which is linked to those two shapes through an equation and a dlink2 entity.

Inputs

s_entity_type
Must be set to shapes.
s_mark_id
The ID of the mark containing the shapes. Valid values are 1 and 2.
md_entity_type
Must be set to shapes.
mdmark
The ID of the mark containing the mid-shapes (for mid-shape method). Valid values are 1 and 2.
system_id
The ID of the system about which shapes are defined (for system method).
method
0 - non-linearity is due to constraints
1 - non-linearity is deduced from mid-shape
2 - non-linearity is due to rotation about a system
prec
Number of intermediate positions for non-linear approximation.
tol
Tolerance for establishing linear versus non-linear.
initial
The initial value of the design variables.
l_bound
The lower bound of the design variables.
u_bound
The upper bound of the design variables.

Examples

To create non-linear shapes, equations, etc., for all the shapes in the model using the constraint method, with 0.5 as the initial value, and lower and upper bounds of 0.0 and 1.0:

*createmark shapes 1 "all"
*morphshapecreateorthogonalbound shapes 1 shapes 1 0 0 10 0.001 0.5 0.0 1.0

To create non-linear shapes, equations, etc., for shape "full" using shape "mid" as the mid-shape, with 0.5 as the initial value, and lower and upper bounds of 0.0 and 1.0:

*createmark shapes 1 "full"
*createmark shapes 2 "mid"
*morphshapecreateorthogonal shapes 1 shapes 2 0 1 10 0.001 0.5 0.0 1.0

Errors

Incorrect usage results in a Tcl error. To detect errors, you can use the catch command:
if { [ catch {*morphshapecreateorthogonalbound...} ] } {
   # Handle error
}

Version History

11.0