*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
- 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
if { [ catch {*morphshapecreateorthogonalbound...} ] } {
# Handle error
}
Version History
11.0