Manage Handles and Domains for Shell Models

Create handles and domains, divide your shell model, and group, split, merge domains.

Create Handles and Domains for Shell Models

  1. From the Tools page, click HyperMorph.
  2. Click Domains.
  3. Select the create subpanel.
  4. Set the selector to 2D domains.
  5. Change the toggle to all elements or select all the elements in the model.
  6. Click create.
    A 2D domain is created for each group of continuous shell elements. Parts joined by 1D or 3D elements are separated into different domains. If partition domains is checked, the 2D domains will be partitioned according to the settings selected in the partitioning subpanel of the Domains panel. Once partitioned, edge domains are placed around the 2D domains and handles are placed at the ends of the edge domains. All of this is automatic, but 1D and 3D elements will not be placed into 1D and 3D domains unless you set the selector to local domains instead of 2D domains. In many cases, the domains and handles will be generated where you want them to be. If not you can always add, edit, or delete the handles and domains to meet your needs.


    Figure 1. Shell Model Partitioned into 2D Domains
  7. If you wish to generate a global domain as well as local domains for your model with a single button click, either change the selector to global and local and click create, or to auto functions and click generate.

    In the case of the generate auto function, if there are any domains or handles in the model, HyperMorph will first ask if you want to delete all the current morphing entities. If you say "yes", or if there are no morphing entities in the model, HyperMorph automatically generates 1D, 2D, 3D, and edge domains for the entire model and a global domain and handles as well.

    For tria meshes which lack underlying geometry, both the node-based and element based partitioning algorithms may prove unsatisfactory. In these cases you may find it more effective to ignore curvature when partitioning. To accomplish this, go to the partitioning subpanel, select element based as the algorithm for tria/tetra meshes, and change the uppermost toggle from curvature based to angle based. You may also want to lower the domain angle to 30 degrees. HyperMorph will then only make partitions along edges in the model where the domain angle is exceeded. You can then go in and manually divide the 2D domains where the curvature breaks should go. This method is almost mandatory for meshes that began as first order meshes but were transformed into second order meshes. For these meshes, HyperMorph will detect a curvature break at every element along a curve if the midpoint nodes of the elements have not been modified to capture the curvature. The result will be a domain for every element on a curve which makes morphing impractical.

    Solving the influence coefficients for 2D domains which contain more than 20,000 elements can become very time consuming even though it is only done after domain editing and during morphing operations such as radius change and map to geom. In these cases you may want to divide the large domains into multiple domains or lower the limit for the large domain solver. The large domain solver limit can be found in the global subpanel of the Morph Options panel. However, even though influence calculations for large domains are more rapid, morphing using the large domain solver can be time consuming, and thus subdividing 2D domains can often be the best solution for efficient morphing.

Divide Shell Model

  1. From the Tools page, click HyperMorph.
  2. Click Domains.
  3. Select the create subpanel.
  4. Set the selector to 2D domains.
  5. Select the elements to be placed into a new 2D domain.
  6. Click create.

When selecting the elements for the new domain you do not need to select only shell elements. HyperMorph automatically removes any other elements before creating the domain. It does not matter if the elements selected are already in a 2D domain. When the new domain is created, the elements are moved from the old domains to the new domain.

Handle influences need to be recalculated every time handles, domains, or symmetries are added, edited, or deleted. They are also recalculated during radius changes and geometry mapping. These calculations occur when you enter or leave any HyperMorph panel or when you leave the Delete panel. Thus, for models with large domains you will want to make all of your domain changes before exiting the Domains panel. HyperMorph only recalculates the handle influences for handles in regions that have been edited.

If the domains are not created exactly how you want them to be, you can edit them in the Domains panel. The create subpanel allows you to create new domains. The organize subpanel allows you to edit domains by adding and removing elements to or from a domain and by grouping domains together. The edit edges subpanel allows you to split, merge, and place handles along edge domains. It is suggested that you create and edit all the 2D domains, then create and edit the edge domains. This order works better since creating or editing 2D domains will result in the regeneration of the surrounding edge domains with the previous modifications to those edge domains being discarded.

Sometimes partitioning does not divide the mesh in the ways that would be most useful to you. Occasionally, elements end up in domains adjacent to where you want them or placed in their own domain. Partitioning is not an exact science, so some cleanup is sometimes required.

Organize Elements in Domains

Move elements from one domain to another.

  1. From the Tools page, click HyperMorph.
  2. Click Domains.
  3. Select the organize subpanel.
  4. Change the selector to add nodes/elems.
  5. Change the toggle to local domain.
  6. Select the elements to be moved.
  7. Select the target domain.
  8. Click organize.
Elements are moved from the domain that they are currently in to the selected domain. HyperMorph also refreshes the edge domains around both domains as well as the edge domains at the interface. New handles may also be created during this process, and if retain handles is not checked, handles may be deleted. It is suggested that you keep retain handles unchecked unless you have created shapes for the model that use the handles on the domains that you are editing.


Figure 2. Partitioning Problems. The model on the left shows problems that partitioning can encounter for some meshes. The model on the right has been corrected using the organize subpanel of the domains panel. For this example the retain handles option was left unchecked resulting in the elimination of handles that are no longer on the corners of the 2D domains. Note that the edge domains are always partitioned for any new domain and handles are placed at the end of the edge domains. For the example above, a handle was created in a new location due to the edge partitioning being different for the two domain configurations.

When you hold the mouse button down and the mouse is either over the icon for a 2D domain or over an element inside a domain, the edge domains surrounding the domain are highlighted as well. This allows you to better visualize the domain that you are selecting. The domain icon is placed at the centroid of the domain, and some domains can end up away from the elements of the domain and near other domain icons. Having the edges for the domain highlighted during selection is often necessary to tell which icon goes with which group of elements.

Group Domains

Group two or more domains together.

  1. From the Tools page, click HyperMorph.
  2. Click Domains.
  3. Select the organize subpanel.
  4. Change the selector to combine domains.
  5. Select the domains to be grouped together.
  6. Click organize.
The selected domains are combined into a single domain and the surrounding domains and handles are updated.


Figure 3. Two Domains Organized into One

Edge domains are automatically partitioned when they are created. They are also updated whenever a change occurs for a domain of which they are on the edge. This is why any editing of the edge domains should come after the editing of the other domains. If you do your edge editing first, your changes may be erased when you edit the 2D domains.

Edge domains are used to make radius changes, so it is important to make sure that any radius in the model that you intend to change be captured correctly by edge domains. HyperMorph tries to partition edge domains where curvature begins and ends, but in some cases it may not identify the proper starting and ending points. You may need to correct this by hand.

Split Edge Domains

  1. From the Tools page, click HyperMorph.
  2. Click Domains.
  3. Select the Edit Edges subpanel.
  4. Change the selector to split.
  5. Select an edge domain.
  6. Select a node on that domain that is not on the edge.
  7. Click split.
The selected edge domain is split into two edge domains at the selected node. A handle is created at the selected node.


Figure 4. Splitting an Edge Domain. A circular edge domain is divided into two half circles. A handle was created at the joint to allow you to manipulate the edges.

Merge Edge Domains

  1. From the Tools page, click HyperMorph.
  2. Click Domains.
  3. Select the Edit Edges subpanel.
  4. Change the selector to merge.
  5. Select any number of connected edge domains.
  6. Click merge.
The two edge domains are merged into one edge domain. This function only allows you to merge edge domains that lie end to end such that the resultant edge domain is a continuous series of nodes.
Note: You can also merge edge domains in the organize subpanel.


Figure 5. Merge Two Edge Domains. The two half circles are merged into a single domain. Since retain handles was unchecked, the handle at the joint was deleted.

You may also create dependent handles along an edge domain. This feature is quite useful for saving time when you are changing the radius for the edge domain. If the domain containing the radius to be changed is very large you may find it more efficient to place dependent handles on the edge domains whose radii you wish the change before you go into the Morph panel.

Create Dependent Handles along Edge Domains

Create dependent handles on edge domains whose radii you wish the change.

  1. From the Tools page, click HyperMorph.
  2. Click Domains.
  3. Select the Edit Edges subpanel.
  4. Change the selector to add handles.
  5. Select the domain(s).
  6. Click create.
    The dependent handles are created on the selected edge domains. These handles are dependent on the independent handles to either side of them along the edge domain.


    Figure 6. Create Handles on Edge Domain. A dependent handle is created on each node of the edge domain.

    Creating dependent handles in this way has two significant effects. The first is that since they are dependent, movements applied to any of the independent handles on the edge will be transparently applied to the dependent handles. It will be as if they were not there. Secondly, when you make a radius change to an edge domain that has a handle at each of its nodes, the influences do not need to be recalculated, which makes the radius change process much faster for large models.

  7. When you are satisfied with your domains, click return.
    HyperMorph calculates the influences for the handles and you are ready to begin morphing. During influence calculation you might run out of available memory. This generally happens when a given domain is too large and it contains too many handles. In these cases you should divide large domains, delete unnecessary handles, or lower the limit of the large domain solver.