# HyperMorph Shapes Panel

Use the HyperMorph Shapes panel to create, save, load, reposition, reflect, convert, smooth, animate, and apply morphing shapes.

Location: Tool page > HyperMorph module

Settings made on one subpanel are not lost if you switch subpanels, but may be lost if you return out of the panel.

## Save As Shape Subpanel

Use the Save as Shape subpanel to save a morph as a shape, which can then be applied to meshes and used for optimization. After saving the shape, click undo all to go back to the original state of the model or continue morphing.

You can save a shape as either handle or node perturbations. The difference becomes important when the model is reparameterized or when domains, handles, and symmetries are created or deleted. When a shape is saved as node perturbations, it always has the same shape no matter what changes occur with the morphing entities. If the shape is saved as handle perturbations, changes in the relationships between handles and nodes will alter the resultant node perturbations when the shape is reapplied. For instance, if a new handle is added to the center of a plate, a previously saved shape that moves the corners of the plate will no longer affect the center of the plate in the same way that it did when it was saved. When you edit the domains, handles, or symmetries in a model that has saved shapes or morphs on the undo/redo list, you will be given the option to preserve those shapes as node perturbations. If you click yes, the shapes will be converted to node perturbations and thus remain unchanged regardless of any new domains or handles. If you click no, the shapes will be unchanged internally, but the handle perturbations may not influence the model in the same way as before. You can convert a shape from handle perturbations to node perturbations or vice-versa in the convert subpanel of the Shapes panel.
Note: Node perturbations increase a model's file size far more than handle perturbations.
Shapes can be used for shape optimization. You can create a number of shapes in the morphing panels and associate them with design variables in the Shape panel in the Optimization module. Also in the Shape panel is support for non-linear shapes. Shapes that are "non-linear" because they are constrained to a curved surface or that were created by rotating nodes about an axis can be converted into a form useable by optimization codes that allow the nodes to follow non-linear paths as the design variable values are changed. Details for this process can be found in the help for the Shape panel.
Note: Shapes in HyperMorph are stored as linear perturbations but may follow non-linear paths when applied due to constraints or if they reference a cylindrical or spherical coordinate system. Be sure to undo all the changes you make to your model before saving your model or outputting your deck for optimization so that your nodes begin in their original positions.
You have the option of saving the undo/redo list along with your model instead of having it automatically cleared. This will let you undo and redo any morphs previously applied to your model when you reload it. By default this option, which can be found in the morph options panel, global subpanel, is inactive, meaning that any morphing performed on a saved model cannot be undone when the model is reloaded. If you do not select this option, be sure to undo all the changes made to the model before saving it if you wish to preserve the model's original shape.
Option Action
as handle perturbations / as node perturbations Shapes saved as handle perturbations take up less space and can change if the domains and handles for the model are changed. If you edit the domains and handles in a model that has saved shapes or morphs on the undo/redo list, you will be given the option to preserve those shapes as node perturbations. If you click yes, the shapes will retain their original form. If you click no, the shapes will be unchanged internally, but may be appear different due to changes in the influences of the perturbed handles.
color Select a color for the current shape.
global system / syst Shapes must reference a coordinate system which affects both how the shape is applied and how it is written to a data file. When a shape is applied to the model the shape's perturbations are converted into the system's coordinates, scaled, and then converted back into the global system. This allows a shape which references a cylindrical or spherical coordinate system to rotate through an angle when scaled rather than move linearly when applied. Also, when a shape which references a local coordinate system is written to a data file the perturbations will be converted into local coordinates and the shape will reference the local coordinate system.
name = Enter a name for a new shape, or click the button twice to select an existing shape.
save current state / save each morph step
save each morph step
Save each morph step performed as a separate shape. In other words, every undo/redo step up to the current model state will be saved as its own shape.
save current state
Create a single shape representing the difference between the model's un-morphed state (undo all will get you to the unmorphed state) and the current state.

## Animate Shapes Subpanel

Use the Animate Shapes subpanel to animate one or more shapes.

Completing this subpanel and clicking animate takes you to the Deformed panel, with the shapes loaded as displacement results. There you may visualize the shapes by using them to deform the model or by animating them. You may also visualize the shapes using any other Engineering Solutions capability in other results panels, such as the Contour and Vector plot panels. Clicking animate generates and loads a "results" file based on the selected shapes, which you can then view with any Engineering Solutions post processing feature.

The only input on this subpanel is a shapes entity selector, which you use to specify the shapes that you wish to animate.

## Apply Shapes Subpanel

Use the Apply Shapes subpanel to apply, translate, position, or reflect one or more shapes to a mesh. The apply option simply applies the selected shapes to the nodes or handles they reference by the specified factor. The translate, position, and reflect options allow you to apply one or more shapes to different nodes in the model, optionally creating new shapes at new locations.

The apply shapes function can be used to apply other shapes which are linked to the shapes being applied through DESVAR and DLINK2 cards. These linked shapes will be applied amounts calculated from the equations referenced on the DLINK2 cards. Engineering Solutions will automatically search your model for linked shapes and if it finds any it will ask you whether you want to apply them simultaneously with the selected shapes. This allows you to apply shapes linked together via the non-linear desvars feature in the Shape panel of the Optimization module.

The envelope is the range of influence that a translated, positioned, or reflected shape will have on the new mesh. Since the original mesh (where the shape currently exists) and target mesh may not match exactly, the envelope must be large enough to include nodes that may lie outside the bounds of the original mesh were it to be translated, re-positioned, or reflected on to the target mesh. Nodes inside the envelope will be perturbed proportionally to how close they are to the bounds of the original mesh. If you are using auto-envelope and the copied shape is not affecting all of the nodes that you want, try switching to a manually determined envelope and typing in a value. The default envelope is equal to the average length of the sides of the elements in the shape. Type in a larger value to capture more nodes within the envelope. Similarly, if too many nodes are being affected, try using a smaller envelope. You may also use a very large envelope (a million times the size of an average element) to make sure that the shape is applied to nearby nodes at full value.

The undo and redo buttons will undo and redo each applied shape, one at a time. The undo all and redo all buttons undo and redo every applied shape at the same time.

Shape variables in optimization analysis decks are read into Engineering Solutions as shape entities that can be applied, modified, and saved using the morphing panels. You can also generate shapes using the Perturbations panel in the Optimization module and apply, modify, and save them. However, overwriting a shape in the morphing panel that was created using the Perturbations panel is not allowed.
Option Action
(apply action switch)
apply only
Apply the shapes to the model in their new positions.
apply & append
Apply the shapes to the model, and add the applied shape to the original shape(s).
apply & replace
Apply the shapes to the model, and replace the original shape(s) with the applied shape.
apply & create
Apply the shapes to the model, and create a new shape for each applied shape.
create new
Create a new shape for each applied shape, but do not apply those shapes.
Note: Only available when apply is set to translate, position, or reflect.
(apply method switch) Choose whether to apply shapes, translate shapes, position shapes, or reflect shapes. The option you choose here affects which additional inputs display on the subpanel.
Translate, position, and reflect are all ways to apply shapes from one part of the model to a different part of the model. These tools can be used to 'copy' shapes between similar meshes. The original mesh and the target mesh do not need to match exactly, but the closer that the meshes are, the more accurate the copying will be.
Translate
Good for copying one shape or a set of shapes that you have created for a feature to a number of similar features in the model, such as a series of holes or ribs.
Position
A powerful way of copying shapes because it enables you to re-orient the shape in any direction and scale it as well. You can only copy shapes to one other position, whereas with translate you can copy them to many positions.
Reflect
Enables you to use a reflective type symmetry (1-plane, 2-plane, 3-plane, and cyclical) to copy shapes. This is an alternative to setting up symmetrical domains and linked handles for a model since you can create all your shapes for one part of the model and then reflect them to the symmetric sides.
auto-envelope / env= The envelope is the range of influence that a copied shape will have on the new mesh. Use env= to specify an envelope range if the auto-envelope size does not reach all the nodes you wish to be morphed.
Note: Only available when apply is set to translate, position, or reflect.
by factor / interactive When applying the shapes by factor, the value in the multiplier = field determines the multiplier applied to the shape's perturbations. When applying shapes interactively, the multiplier is determined by how far you click and drag the mouse.
from:
• Use a base node collector to specify the a base node for the shape's starting position (for the translate method).
• Use the N1 N2 N3 3-node selector group to define the initial position of the shape.
Note: Only available when apply is set to translate or position.
multiplier = When applying the shapes by factor, the value in the multiplier = field determines the multiplier applied and the shape's perturbations. This is a linear multiplier, so 1.0 is the same size as the input shape, while 2.0 is twice as large, and so on.
reflect using: symmetries Presents a symmetries entity collector that you can use to pick the symmetries you wish to reflect the shape through.
Note: Only available when apply is set to reflect.
shapes Select the desired shapes.
to all nodes / to only: Choose between applying the shapes to all nodes in the model, or only to specific nodes that you select with a nodes selector.
to:
• Select destination nodes for the shape to translate to (for the translate method).
• Use the N1 N2 N3 3-node selector group let define the final position of the nodes chosen in the from: group.
Note: Only available when apply is set to translate or position.
use constraints When active, morph constraints are respected while applying the shapes; when inactive, they are ignored.
Note: Available for all apply methods except apply shapes.

## Smooth Shapes Subpanel

Use the Smooth Shapes subpanel to check the element quality of shape combinations and optionally smooth the shapes to improve the element quality when applied individually or as part of a combination of shapes.

The check and smooth functionalities in this panel are intended to make shape optimization more productive. Shape optimization solvers like Radioss will stop iterating if the element quality falls below certain limits. The check and smooth functions help to improve the element quality when shapes are applied simultaneously as well as calculate the maximum and minimum bounds at which the shapes can be applied to ensure successful completion of an optimization run.
Option Action
edit element checks Customize the element checks used by smooth shapes.

In this dialog that opens, each of the six supported element types have their own tab. Each of the seven element checks can be made active or inactive for each element type. All three element quality limits can be set separately for each element test and each element type.

In the last tab you can exclude any elements from all element quality checks regardless of the type and test.
Note: The element quality settings and excluded elements are persistent, meaning that they will be stored in memory and recalled for future smooth shapes operations until manually cleared. Also note that these settings are not saved to the model file and are set to default values when a new session of Engineering Solutions is launched.
fix constraints / apply constraints Choose whether to fix all constrained nodes during smoothing or apply all morph constraints during smoothing. Fixing nodes means that the node perturbations of shapes at those nodes will not be affected by smoothing.
fixed nodes selector Select which nodes will be held fixed during smoothing, which means that the node perturbations of shapes at those nodes will not be affected.
edges & features
Fix all of the nodes on the edges of the mesh along with all of the nodes lying along feature lines on the external faces of solid elements. Feature lines are determined using the specified feature angle found below the selector.
edges
Fix all of the nodes on the edges of the mesh.
edges & faces
Fix all of the nodes on the edges of the mesh along with all of the nodes lying on the external faces of solid elements.
no auto-fix
Do not fix nodes.
manual fixed nodes Select nodes to be held fixed during smoothing, which means that the node perturbations of shapes at those nodes will not be affected. The specified nodes will be fixed in addition to any nodes fixed by the fixed nodes selector.
output report to file Specify the name of the report file to be generated, or click browse to select the target file.
smooth shapes action switch Select whether to check shape combinations, smooth shapes, or smooth shapes and combinations.
check shapes and combinations
Check all of the selected shapes in all possible combinations, and generate a report containing the element quality for each combination.
smooth shapes
Smooth all selected shapes individually, and generate a report containing the element quality for each combination.
smooth shapes and combinations
Smooth all selected shapes individually, and then smooth each combination, optimizing them for element quality. A report containing the element quality for each combination is then generated. This option produces the best element quality when shapes are combined, such as during an optimization run.
The report file, which is written out regardless of the option selected, will be broken up into three sections.
1. The first section contains the element quality limits of each active test for each element type. Six element types are supported: trias, quads, tetras, pyras, pentas, and hexas. Seven element quality tests are supported: aspect ratio, skew, minimum angle, maximum angle, warpage, tetra collapse, and jacobian. Each test for each element type has three limits: warning, error, and invalid. If the element quality exceeds one of those limits, a warning or error will be reported. If a test is inactive, dashes will be shown in the limit fields.
Element quality limits
Trias
Test                Warning     Error     Invalid
Aspect ratio        50.000    500.000  10000.000
Skew                75.000     85.000     90.000
Minimum angle       15.000      3.000      0.000
Maximum angle      165.000    177.000    180.000
Warpage            -------    -------    -------
Tetra collapse     -------    -------    -------
Jacobian           -------    -------    -------
2. The second section of the report file contains one sub-section for each combination of the selected shapes. Each sub-section will contain a list of the selected shapes and the multiplier applied to each one for the given combination. Each sub-section will also contain the value of the worst element quality for each of the following active tests: aspect ratio, skew, minimum angle, maximum angle, warpage, tetra collapse, and jacobian. The worst result for each test is measured against the element quality limits to determine whether an optimization run will give a warning or an error, and if so it will be noted in the given sub-section along with the offending element ID and the element test limits for that element type.
Here is an example of section number 15 for a report file with sixteen possible shape combinations.
Combination 15
Shape        2 applied at   1.0000
Shape        3 applied at   1.0000
Shape        4 applied at   1.0000
Shape        5 applied at   0.0000
***** warning - poor element quality *****
Aspect ratio      4.240
Skew             60.303   Elem id 112   Limits:  60.000   75.000   90.000
Minimum angle    26.718
Maximum angle  158.141
Warpage           0.000
Tetra collapse    1.000
3. The third section of the report file contains the minimum and maximum values for each shape that can be allowed to avoid having an error result, or have the optimization run halt due to element quality.
Optimization errors can be avoided using the following limits:
Shape        2  upper bound   0.9230   lower bound   0.0000
Shape        3  upper bound   0.8680   lower bound   0.0000
Shape        4  upper bound   0.9230   lower bound   0.0000
Shape        5  upper bound   0.8680   lower bound   0.0000
If you set the upper and lower bounds on your DESVARs to these values the optimization run should not encounter any errors due to element quality regardless of the combination of shapes applied.

## Autoshape Subpanel

Use the Autoshape subpanel to automatically generate multiple shapes for individual handles or domains. This feature is intended for shape optimization and allows you to quickly generate many shapes to be used as shape variables. One suggested use is to create handles across the surface of a solid part and use autoshape to generate well-behaved shapes for those handles moving normal to the surface of the part. OptiStruct can be used to optimize the surface shape of the part using these shapes. For standard shapes, a biasing factor of 2 is recommended.
Option Action
domains Select the domains to which you wish to apply autoshapes. Shapes will be created for all of the handles on the selected domains.
Note: Only available when the shape type is set to spline or polynomial.
element normals / XYZ components / by vector / by shape Choose the direction that the shape is applied in. For element normals, by vector, and by shape, Engineering Solutions generates one shape for every selected handle in the direction normal to the surrounding shell elements at the given magnitude. For XYZ components, Engineering Solutions generates up to three shapes for every handle selected, based on the directions which you have checked.
Figure 4 shows the preview vectors for eight handles using element normals.
Figure 5 shows the preview vectors for the same eight handles using by vector. This option requires you to specify a vector by using the standard plane and vector selector.
Figure 6 shows the preview vectors for the same eight handles using XYZ components. One shape is created for each vector plotted by moving the corresponding handle the direction and magnitude shown for the vectors.
Note: The XYZ components option creates a shape in each of the selected directions at the given magnitudes. Therefore, if you select two handles and all three XYZ components, six shapes are generated, one in each of the X, Y, and Z directions for both handles.

The by shapes option applies only to spline or polynomial types, and allows you to use a shape to define the perturbation vectors for the handles. The selected shape may have been saved as node perturbations or handle perturbations. In either case the shape will be converted to node perturbations and the perturbations found at the selected handles will be used.

handles Select handles for which shapes will be created.
Note: Only available for standard shapes.
magnitude = Specify a multiplier for the intensity of the shape application. For example, 2.0 means double the normal node displacement while 0.5 means half the displacement.
Note: Available for all shape types when the direction is set to element normals or by vector.
standard shapes / spline / polynomial Choose a method for converting each handle perturbation into a shape.
standard shapes
Move the handle using the standard morphing procedure.
spline
Use a spline algorithm to smoothly apply the shape across the domain.
polynomial
Use a polynomial algorithm to smoothly apply the shape across the domain.
Figure 7 shows autoshapes that been created for the handles along the left side of the mesh. In each example, one of the autoshapes has been applied. The standard shape in this case is angular, but will be more curved if handle biasing is used (see set biasing in the Morph panel). The spline shape creates a smooth shape that runs across the entire length of the edge domain as does the polynomial shape, but the spline shape is more controlled.
Note: When all the spline or polynomial shapes for a given domain are applied, the resulting perturbations for the nodes along the domain sum to the same amount, so if your domain is flat when the shapes are unapplied, as shown above, it will also be flat when the shapes are all applied by the same factor. This allows you to create a Fourier-type series with smoothness ensured across the handles.
syst Select the coordinate system that the X, Y, and Z directions correspond to.
Note: Available when direction is set to XYZ components.
use all elems / elems Choose whether to base the direction on the normals of all elements, or on only the normals of elements that you select with an elems collector.

Handles usually touch more than one element and that the average normal for those elements is used for the handle.

Note: Available when the direction is set to element normals.

## Convert Subpanel

Use the Convert subpanel to convert a shape to node perturbations, handle perturbations, or to/from a Force, Temperature, Enforced Displacement, or Pressure load collector. Load collectors can be copied between two meshes by combining this feature with the translate, position, and reflect shapes feature. You can convert a load collector to a shape, then translate, position, or reflect the shape to a new mesh, and then convert it to a load collector.

A switch allows you to specify the conversion process to perform. A shapes or load collector allows you to pick the shapes that you wish to convert.
Conversion option Action
to node perturbations Convert the selected shapes to pure node perturbations. Shapes converted to node perturbations will be unaffected by changes to domains and handles but take up more memory.
to handle perturbations Convert the selected shapes to handle perturbations if possible or a combination of handle and node perturbations if it is not possible to capture the shape with pure handle movements. Shapes converted to handle perturbations may be affected by changes to domains and handles but take up less memory.
to morph volume shape Convert a shape which perturbs nodes or handles attached to morph volumes into one which has only handle perturbations for handles on morph volumes. All other perturbations are discarded. If the shape is applied it will morph any nodes registered to the affected morph volumes. Unlike to handle perturbations this option will not preserve node perturbations due to things such as active constraints, and is useful for reverting a shape into pure handle movements and reapplying it with a different set of active constraints.
shapes to forces Create a new load collector for each selected shape with the XYZ perturbations at each node of each shape converted into XYZ values of force vectors at each node for each load collector. The original shape will be preserved and does not need to be converted to node perturbations before conversion to forces.
forces to shapes Create a new shape for each selected load collector with the force vectors at each node of each load collector converted into XYZ perturbations at each node for each shape. The original load collector will be preserved.
shapes to temperatures Create a new load collector for each selected shape with the magnitude of the perturbations at each node of each shape converted into temperature values at each node for each load collector. The node perturbations may lie along any axis and positive and negative temperatures can be preserved by making sure that the nodes are perturbed in only positive or negative directions. The original shape will be preserved and does not need to be converted to node perturbations before conversion to temperatures.
temperatures to shapes Create a new shape for each selected load collector with the magnitude of the temperatures at each node of each load collector converted into a perturbation of equal magnitude at each node for each shape.
Note: A temperature of 1000 will be converted in a perturbation of 5.77.35 in each of the x,y, and z directions. The original load collector will be preserved.
shapes to pressures Create a new load collector for each selected shape with the XYZ perturbations at each node of each shape converted into XYZ values of pressure vectors at each element for each load collector.
Note: Pressures must be averaged from nodes to elements during the conversion and thus some information maybe lost.
This conversion method has two options.
normal to elems
Align the pressures with the element normals regardless of the direction of the node perturbations. If not, the pressures will be created in the direction of the node perturbations.
apply to partially perturbed elems
Apply reduced pressures to all elements touching a perturbed node. If not, a pressure will only be created for elements where every node is perturbed. The original shape will be preserved and does not need to be converted to node perturbations before conversion to pressures.
pressures to shapes Create a new shape for each selected load collector with the pressure vectors at each element of each load collector converted into XYZ perturbations at each node for each shape.
Note: Pressures must be averaged from nodes to elements during the conversion and thus some information maybe lost. The original load collectors will be preserved.
shapes to displacements Create a new load collector for each selected shape with the XYZ perturbations at each node of each shape converted into XYZ values of enforced displacements at each node for each load collector.

This conversion method has the option fix directions with zero perturbations which, if checked, will create an enforced displacement for all three translational components for a node even if the displacement for one or two of those components is zero. If not checked, any translations which have zero perturbations will not have an enforced displacement created in that direction.

The original shape will be preserved and does not need to be converted to node perturbations before conversion to displacements.

displacements to shapes Create a new shape for each selected load collector with the enforced displacements at each node of each load collector converted into XYZ perturbations at each node for each shape. The original load collector will be preserved.

Use the Save subpanel to save shapes to a file for import into other files or for later use in the same file, and to load a shape file that was previously saved.
Option Action
apply shapes Apply the shapes automatically upon loading. Clear this checkbox to manually apply shapes in the apply shapes subpanel.
auto-envelope / envelope = The envelope is the range of influence that a copied shape will have on the new mesh. Use env= to specify an envelope range if the auto-envelope size does not reach all the nodes you wish to be morphed.
import direct / import via elements
import direct
Add only the shape to the model, and determine the new shape as if the original one had been positioned at the same x,y,z coordinates where it was originally saved.
import via elements
Add the shape and its corresponding elements to the model.
(shape file path) Specify the file path for the saved shapes. You can either enter the path, or click browse to navigate to and select the target location and file name.
shapes Select the shapes that you wish to save.
as shapes / as grids
as shapes
Save the shapes in HyperMorph format.
as grids
shapes / grids Specify whether the file to be loaded is a shape file or a gird file. Shape files are generated in Engineering Solutions, while Grid files can originate from OptiStruct, Radioss or Nastran.

## Command Buttons

Button Action
create Create a new shape.
undo Undo the most recent node movements associated with a shape.
redo Redo the application of a shape.
undo all Undo all shape-related node movements.
reject Reject the creation of an entity (such as a shape or constraint). This differs from undo because undo only undoes the movement of nodes; rejecting an entity can also undo node movements, but its primary function is to delete an entity that was just created.
preview Once you select the handles and options on the autoshape subpanel, preview allows you to see what shapes will be created before you actually create them. One vector is drawn for each handle perturbation that will be used to create a shape. Click preview again to hide the vectors.
return Exit the Shapes panel.
apply Apply the selected shapes when on the apply shapes subpanel.
animate Automatically generates and loads a "results" file based on the selected shapes, which you can then view with any HyperMesh post processing feature.
convert Convert the selected shapes into the specified type of load collector.
save Save the shape as a shape or grid file.