Domains Panel

Use the Domains panel to add and edit domains, or update the domains for a model.

Location: Tools page > HyperMorph module

Each domain contains either elements (for 1D, 2D, 3D, or general domains), a series of nodes (for edge domains), or a group of nodes (for global domains). When the handles move, the shapes of the attached domains are changed, and when the domain changes shape, the positions of the nodes within that domain change.

Domain Types

General Domains
General domains can contain any type of element (1D, 2D, or 3D), but edges or faces are not created along with the general domain. General domains will respect 2D and edge domains and you may create edge domains inside general domains if you desire. Handles will be created for general domains where the domains contact other elements whether those elements are in domains or not. Where the general domain contacts elements outside of domains, a handle is created at every node on the interface. Where general domains contact elements in other domains, handles will be created at logical locations to ensure control of the general domain. Once created, general domains can be morphed just like any other domain, even though they may contain different element types.
If the partition domains box is checked, any 2D domains that are created (either from shell elements or from the faces on 3D domains) will also be partitioned. It is recommended that this option be left unchecked for large models with many 2D domains (for instance a car model) during automatic generation. The result will be fewer domains and handles and a more rapid generation of morphing entities. Partitioning can be done at a later time using the partition option in the update subpanel, and is mainly intended for domains in which local morphing will be performed.
If the retain handles checkbox is selected, existing handles are not deleted when the handles for any created or organized domain are recalculated.
The generate auto-function deletes all the domains and handles in the model and automatically generates global and local domains for all of the elements in the model.
The update auto-function refreshes the edge domains and recalculates the handle influences for any domains that were changed in some way. An update is automatically performed when entering or exiting a morphing panel, or when exiting the Delete panel.
The add auto-function automatically forms domains on elements outside of the current domains as well as refreshes the edge domains and recalculates the handle influences.
Figure 1 shows a general domain that has been created for a connector consisting of two rigid spiders and a hexa element. Note the four-rectangle shaped icon (in the center) for the general domain. Two handles have been manually added at either end of the domain so that the domain can be morphed as needed. Moving either handle will cause the entire domain to stretch evenly across its length.


Figure 1.
Note: It is possible to include the shell elements as part of the general domain in addition to the hexa and rigid elements.
Edge Domains
You are not able to create edge domains that are not attached to any 2D, 3D, or general domains. When 2D, 3D, and general domains are deleted, edge domains that are no longer attached to any 2D/3D/general domains, will be automatically deleted whenever you enter or leave a HyperMorph panel or the Delete panel.
Figure 2 shows an edge domain that has been created for the selected nodes. The nodes should be selected in order following the path of the edge domain without skipping over any nodes. Engineering Solutions automatically adds handles at the ends of the edge domain at points along the length where the angle and curvature direction change above the set threshold. The edge domain created allows for the creation of a bead by moving the two handles at the ends of the edge normal to the plane of the elements.


Figure 2.
1D, 2D, and 3D Domains
For 1D, 2D, and 3D domains, only elements of the appropriate type will be assigned to the domain. If selected elements of the correct type are already assigned to another domain, then they will be reassigned to the new domain. When 2D domains are created, edge domains will also be created around the edges of the elements for the domains. When 3D domains are created, 2D domains will be created on their faces and edge domains will be created around the edges of the 2D domains. Handles will automatically be created at the ends of the edge domains.
Figure 3 shows a 2D domain that has been created from the selected elements. You only need to select the elements that you want to be in the new domain. The elements are automatically assigned to the new domain, edge domains are created around it, and handles are added at appropriate positions on the edge domains. The 2D domain created allows for the creation of a bead by moving the two handles at the ends of the edge normal to the plane of the elements.


Figure 3.
Global Domains
You may create more than one global domain in a model, but no node may belong to more than one global domain. Global handles only affect the nodes assigned to their global domain.
If you only need to change the shape of your model in a general way, then you only need to create a global domain. For large models, automatically generating local domains for the full model, such as using the generate auto function, is time consuming and possibly unnecessary. If you only need to change a part of the model, then you only need to create domains for that part.
When creating a global domain, you have the option of having global handles automatically generated for you. Engineering Solutions will place these handles at the eight corners of a box surrounding the model and at areas of peak nodal density within the model.

Create Subpanel

Use the Create subpanel to create morphing domains.
Option Action
domain type Select the type of domain to be created.
global
Select a group of nodes, or choose all nodes; then, select whether you want to create (global) handles, or only the domain itself.
local
Select a group of elems, or choose all elements. Then select the checkbox options, described individually. Engineering Solutions will create 1D, 2D, and 3D domains for the selected elements according to their type.
global + local
Select a group of elements, or choose all elements, Then select the checkbox options, described individually.
Engineering Solutions will create 1D, 2D, and 3D domains for the selected elements according to their type and then create a global domain governing all of the nodes of the selected elements.
edge
Select a node list in order, from one end to the other.
Note: The nodes do not have to be along the edge of a domain, but they should follow along element boundaries without skipping nodes.
1D, 2D, or 3D
Select a group of elems, or choose all elements. Then select the checkbox options, described individually.
general domains
Select a group of elems, or choose all elements. Then select the checkbox options, described individually.
Note: General domains can contain any type of element, therefore all elements will include all elements in the model (1D, 2D, and 3D).
connector domain
Select connectors to create domains, and select the method (independent, main, secondary, general, and cluster) in which handles are created and managed for the domain. This option allows you to create connector domains that behave the same as 1D domains, as in many cases the two are the same.
  • Independent connector domains can be controlled individually.
  • Secondary connector domains are dependent on main domains.
  • Main connector domains control the behavior of secondary domains.
  • Cluster connector domains are controlled together.
Note: For the main and secondary options, both 1D and connector domains are treated the same way in terms of interacting with 2D domains.
In addition, select whether or not to retain handles.
divide by comps Create new domains, divided along component boundaries. This can be combined with divide by domains so that one domain will be generated for each combination of component and domain.
divide by domains
Create multiple new domains based on the domains that the selected elements already belong to.


Figure 4. Example: Divide by Domains. The different colors represent each domain.
partition 2D domains Divide created 2D domains based on the settings in the partitioning subpanel.
retain handles Keep any handles already generated. Clear this checkbox to delete old handles lying within the new domain when creating that domain.

Organize Subpanel

Use the Organize subpanel to combine domains and add or remove nodes and elements from domains.

Only the elements of the appropriate type for the domain will be organized. The model is automatically updated, and new edge domains and handles may be created after the elements are organized.
Option Action
combine domains / add nodes/elems / remove nodes/elems Select the type of function to perform.
domain Select the domain to which you wish to add or remove nodes or elements.
Note: Available when the function to perform is set to add nodes/elems or remove nodes/elems.
domains Select the domains you wish to combine.
Note: Available when the function to perform is set to combine domains.
elems Add or remove elems to/from local domains.
Note: Available when the function to perform is set to add nodes/elems or remove nodes/elems.
local domains /

global domains

Choose the type of domain. You can add/remove elems to local domains, or nodes to global domains.
Note: Available when the function to perform is set to add nodes/elems or remove nodes/elems.
nodes Add or remove nodes to/from global domains.
Note: Available when the function to perform is set to add nodes/elems or remove nodes/elems.
retain handles Keep any handles already generated. Clear this checkbox to delete old handles lying within the specified domain.

Edit Edges Subpanel

Use the Edit Edges subpanel to merge, split, or add handles to an edge domain.
Option Action
domain When splitting a domain, use this collector to select the domain to split.
domains When merging domains or adding handles, use this collector to select the domains to merge or add handles to.
node When splitting a domain, use this collector to select the node at which you wish the split to occur. The node selected when splitting edges must be on the given edge but cannot be on the end of the edge.
retain handles Do not delete the existing handles when the handles are recalculated.
split / merge / add handles
split
The selected node must be on the given edge but cannot be on the end of the edge.
merge
The ends of the edge domains must meet at common nodes.
add handles
Creating dependent handles on an edge domain speeds radius and curvature changes for the given edge. This is useful for radius changes on edge domains attached to domains that contain a large number of nodes.

Update Subpanel

Use the Update subpanel to remesh, smooth, subdivide, update 1D method, partition, reparameterize, update domain colors, or delete domains.
Option Action
calc avg Calculate the average element size.
Note: Available when the function is remesh 2D/3D and remesh edges is enabled.
divide by comps Create new domains, divided along component boundaries. This can be combined with divide by domains so that one domain will be generated for each combination of component and domain.
Note: Available when the function is partition.
divide by domains
Create multiple new domains based on the domains that the selected elements already belong to.


Figure 5. Example: Divide by Domains. The different colors represent each domain.
Note: Available when the function is partition.
divisible 2D domains Select the 2D domains that you wish to divide.

When subdividing, a 2D domain will not be divided unless it is specified as being a divisible domain. Thus, the original face domains will be preserved.

Note: Available when the function is subdivide 3D
domains Select the domains that you wish to divide, for which you wish to update the 1D/connector domain method, that you wish partition, or that you wish to reparameterize.

Selected 3D domains will be subdivided into several 3D domains depending on the shape of the 3D domain and the number of divisible 2D domains.

The 1D/conn method determines how handles are placed for the 1D and connector domain and how the dependencies are assigned. See the parameters subpanel for an explanation of the different methods.

Note: Available when the function is subdivide 3D, 1D/conn method, reparameterize, or partition.
domains / elems (toggle) Choose either domains or elements.

If you choose elements, you should only select elements that are not inside domains, since doing so would remove those elements from their domains when they are remeshed.

Note: Available when the function is remesh 2D/3D or smooth mesh.
elem size = Specify the desired element size.
Note: Available when the function is remesh 2D/3D and remesh edges is enabled.
independent / secondary / main / cluster Choose how handles are placed for the 1D and connector domain and how the dependencies are assigned.
Note: Available when the function is 1D/conn method.
iterations Specify a limit on the number of iterations when smoothing the mesh.
Note: Available when the function is smooth mesh.
new mesh type Choose the type of mesh to use during remeshing.
Note: Available when the function is remesh 2D/3D.
preserve shapes Preserve morphing shapes after the remesh. Otherwise, shapes may be lost.
Note: Available when the function is remesh 2D/3D.
retain handles Do not delete the existing handles when the handles are recalculated.
Note: Available when the function is subdivided 3D or partition.
size control Attempt to keep elements roughly similar in size during meshing.
Note: Available when the function is remesh 2D/3D.
skew control Avoid producing highly-skewed elements during meshing.
Note: Available when the function is remesh 2D/3D.
smooth method
autodecide
Select the best method.
size corrected
Create elements of roughly uniform size.
shape corrected
Create elements of roughly uniform shape.
angle corrected
Create elements of roughly uniform angle.
QI optimize
Create elements that conform to preset element Quality Index criteria.
Kriging
Applies only to elements inside domains.
Kriging+auto
Select the best method while using kriging algorithms.
Kriging+size
Create elements of roughly uniform size while using kriging algorithms.
Kriging+shape
Create elements of roughly uniform shape while using kriging algorithms.
Kriging+angle
Create elements of roughly uniform angle while using kriging algorithms.
Kriging+QIopt
Create elements that conform to preset element Quality Index criteria while using kriging algorithms.
squish corrected
Improve the element squish quality index of the selected domains or elements.
Note: Available when the function is smooth mesh.
remesh edges / hold edges
remesh edges
Change the node seeding along edges in the model.
hold edges
Preserve edge node seeding.
Note: Available when the function is remesh 2D/3D.
update function Choose the type of function to perform.
remesh 2D/3D
Place the new elements into the domains of the old elements, and optionally allow you to preserve your saved shapes.
If you remesh a 3D domain and have the new mesh type set to quads, the 2D domains on the surface of the 3D domain will be remeshed with quad elements. The inside of the 3D domain will be remeshed with a layer of pyramid elements (one quad face with four tria faces) with the rest of the inside remeshed with tetra elements.
Note: For elements outside of domains where shells and solid elements are touching, remeshing may destroy the connectivity between the solid and shell elements. Covering the solid elements with a layer of shell elements will prevent this from happening.

If the mesh is too distorted, such as when element angles exceed 175 degrees, it may not be possible to remesh the elements or domains. In those cases you can smooth the elements or domains before remeshing, morph your mesh in several steps while remeshing after each one, or morph the mesh to fix poor elements. One good tool to use to correct poor elements interactively is the Quality Index panel. If you wish to have the changes that you make in the Quality Index panel applied as morphs, use the record functionality in the Freehand panel.



Figure 6.
smooth remesh
Apply smoothing to the selected domains as a morph, which means that it can be undone and redone and will be saved as part of any shape.
The kriging method of smoothing applies only to elements inside domains. If you wish to apply smoothing to elements outside of domains while using the kriging method for elements inside domains, choose one of the options which lists both the kriging method and another method, such as kriging + auto, which will perform kriging style smoothing on elements inside the domains and autodecide style smoothing on elements outside the domains.
The squish corrected method of smoothing allows you to select which nodes are fixed in place during the smoothing process. When smoothing domains, the handle nodes will automatically be fixed, but you may optionally select the nodes on edge domains and face domains to be fixed as well as any nodes that lie on feature edges. You can also manually select any other nodes to remain fixed. When smoothing elements, no nodes will automatically be fixed, and you have the same options of which nodes to fix automatically.
The squish corrected method also allows you to select whether to pursue the best element quality, the best smoothing speed, or a balance between the two.
If you want smoothing to happen automatically whenever any morphing is performed, that option can be set in the Morph Options panel.
subdivide 3D
Subdivide 3D domains into several 3D domains depending on the shape of the 3D domain and the number of divisible 2D domains.
When subdividing, a 2D domain will not be divided unless it is specified as being a divisible domain. Thus, the original face domains will be preserved.
The maximum number of new domains is equal to the number of indivisible domains. In cases where a 3D element touches more than one indivisible 2D domain there may be fewer 3D domains created than the maximum. There can be cases where the 3D domain cannot be subdivided if an insufficient number of divisible 2D domains have been selected.
1D/conn method
Determine how handles are placed for the 1D and connector domain, and how the dependencies are assigned.
reparameterize
Reparameterizes domains if they have been edited when you enter or exit a morphing panel or exit the Delete panel. This keeps the handle influences updated and thus, in most cases, you will not need to reparameterize your domains manually.
Reparameterizing affects the way that handles influence the nodes. If a domain is morphed a great deal, the handles may not influence the nodes in the way you might expect. For instance, if a node is moved from one side of the mesh to the other, it will still be influenced more heavily by the handles it was previously close to rather than by the handles it is currently near. If this happens, you may want to reparameterize the domain so that the handles close to the nodes will influence them more than the handles farther away from the nodes. Since reparameterizing can change shapes saved as handles, you will be asked whether you want to preserve those shapes as node perturbations. If you click yes the shape will be converted to node perturbations and remain essentially unchanged. If you click no the shape will still apply to handles, which will affect the model in a different way than before, thus changing the shape. Shapes saved as node perturbations are unaffected by reparameterization.
Domain reparameterizing can be rejected, but only until you exit the Domains panel.
partition
Partitions 2D domains by dividing them along element edges where the angle between the elements exceeds the domain angle parameter or where the curvature changes from flat to positive or negative. The curve tolerance parameter is used to determine whether two elements are flat or curved. Curvature changes are ignored if the partitioning order parameter is set to "angle-based."
delete all
Delete all domains, and/or all morph entities, throughout the model.

Parameters Subpanel

Use the Parameters subpanel to update the morphing parameters.

When values are changed in the parameters subpanel, the new values are reflected in any new domains that are created. You can experiment with them by changing the values in the parameters subpanel and clicking generate in the auto-functions part of the create subpanel.
Option Action
1D domains Choose a method for 1d domains.
Independent
1D domains are independent of (and do not affect) the surrounding domains. Each 1D domain has one independent handle (orange) that controls the movement for the dependent handles (green) positioned at all the other nodes of the domain.
Main
1D domains control the surrounding domains. Each 1D domain has one independent handle (orange) that controls the movement for the dependent handles (green) positioned at all the other nodes of the domain. However, the independent handles of main domains also influence the handles of the surrounding domains.
Secondary
Surrounding domains control the 1D domains. Each 1D domain has independent handles (orange) where it touches edge domains or dependent handles (green) at nodes where it touches other types of domains. Secondary 1D domains have additional handles (green or blue) dependent on those handles at all other nodes. If there are green handles where the 1D domains touch other domains, those handles are dependent on handles of the surrounding domains, so that morphing of 2D and 3D domains applies directly to the secondary 1D domains.
Cluster
1D domains are treated like cluster constraints with their nodes all moving as one. Each 1D domain has no handles, but handles on surrounding domains influence cluster domains. Cluster domains move as rigid bodies when nearby domains morph.
biasing style Choose a biasing style for domain morphing.
Exponential
Each node's influence coefficient is raised to the power of the biasing value of the handle to determine how biasing applies to the affected nodes.
Sinusoidal
Use a sine-cosine function.
edge domains Select the color to use when drawing edge domains.
Note: Changing the domain color for all domains of a given type will update the current color for all domains of that type. It will also be the new default color for new domains of that type.
2D domains Select the color to use when drawing 2D domains.
Note: Changing the domain color for all domains of a given type will update the current color for all domains of that type. It will also be the new default color for new domains of that type.
3D domains Select the color to use when drawing 3D domains.
Note: Changing the domain color for all domains of a given type will update the current color for all domains of that type. It will also be the new default color for new domains of that type.
other domains Select the color to use when drawing global, general, and 1D domains.
Note: Changing the domain color for all domains of a given type will update the current color for all domains of that type. It will also be the new default color for new domains of that type.
domain solver limit This is the highest number of elements for which HyperMorph will use the standard domain solver. Models with a number of elements greater than this will use the alternative large domain solver.

The large domain solver resolves the effects of morphing each time morphing is applied (as opposed to the standard domain solver which runs once), computing influences which are applied each time the handles are moved. The large domain solver is actually slower for domains with few elements - but it is much faster for domains with a large number of elements.

faces Select the color to use when drawing faces of 3D domains.
handle size = Specify the radius of a global, independent handle. Independent local handles have a diameter equal to the handle size parameter. Dependent handles, both global and local, are smaller than the handles upon which they are dependent.
handle tolerance = Specify the tolerance for handle detection operations. This value cannot exceed 5% of the handle size.
minimum influence = The smallest influence allowed between a node and a handle.

Influences (calculated by the domain solver) determine how far each node moves relative to its assigned handle, and range from 0-1. Influences below this limit are discarded, so morphing with a high minimum influence often results in breaks in the mesh between nodes with influences above the limit (which morph) and those below the limit (which do not morph). However, using a low minimum influence requires more memory and disk space.

The large domain solver does not use influence calculations.

morph volumes Select the color to use when drawing morph volumes.
symmetry Select the color to use when drawing symmetries.
Note: Changing the domain color for all domains of a given type will update the current color for all domains of that type. It will also be the new default color for new domains of that type.
symmetry size = The size that symmetries are drawn.

Partitioning Subpanel

Use the Partitioning subpanel to update partitioning parameters and global influence options.
Option Action
add to geometry Merge the partitions of elements that lie on surfaces with the partitions that do not. That is, if a half of a flat mesh lies on a surface and half does not, the mesh will not be subdivided. This option will not merge two partitions which lie on different surfaces.
Note: Can only be used along with the use geometry option.
curvature based / angle based
Curvature based
Divide domains along boundaries where the angle exceeds the domain angle, where the curvature changes direction, where the curvature goes from flat to curved, and where the change in the curvature exceeds the curve tolerance.
Angle based
Divide domains along boundaries where the angle exceeds the domain angle.
curve tolerance = Specify the amount of change of the angle between elements (measured from one side of an element to the other) above which a domain will be subdivided. The lower this parameter is, the more partitions you will get.
Note: Available for curvature based partitioning.
domain angle = Specify the angle between elements at which domains are broken into smaller domains. The lower this parameter is, the more partitions you will get.
global influences The first switch controls the way that global handles affect the nodes inside a global domain or morph volume.
hierarchical
Global handles will move the local handles, which will in turn move the nodes.
direct
Global handles move the nodes directly.
mixed method
Global handles move the local handles, as for hierarchical, but they also apply the direct method to any nodes within the global domain's influence that are not part of a local domain. Such nodes otherwise would not morph at all when using the hierarchical method, potentially causing mesh distortion at the local domain boundaries.
The second switch controls the algorithm used for determining global influences.
spatial
Use internally created volumes to determine how the global handles influence the local handles and nodes.
geometric
Use a geometry based comparative method to determine how the global handles influence the local handles and nodes.
kriging
Use the kriging method to determine how the global handles influence the local handles and nodes.
Note: A practical upper limit on the number of handles you can have in a global domain that uses kriging is 3000. Computers with above average memory and CPU available may be able to support a larger number of handles comfortably.
quad/mixed meshes: Choose the algorithm used for partitioning domains. The element based algorithm is generally more successful for quad and mixed meshes while the node based method is more successful for tria based meshes. Either algorithm will work on both types of meshes.
Note: Partitioning is not an exact science and thus you may have to manually correct the domains, using the organize subpanel, once they have been partitioned.
If the number of trias/tetras exceeds 2/3 of the total number of elements, the mesh is considered a tria/tetra mesh; otherwise it is considered a mixed mesh.
tria/tetra meshes: Choose the algorithm used for partitioning domains, and set a different algorithm for tria/tetra meshes than for quad or mixed meshes.
use geometry Use model geometry, rather than only the curvature of the mesh, in determining domain partitions. For elements whose nodes are associated with surfaces, such as elements created by automeshing surfaces, domain boundaries will be drawn along the edges of those surfaces. The 2D domains will match one to one with those surfaces. Elements whose nodes do not lie on surfaces are partitioned according to the above parameters.

Command Buttons

Button Action
add On the create subpanel, this auto-function will create local domains for any elements outside existing domains.
create On the create subpanel, this creates the new domain according to your specifications.
delete all domains On the update subpanel, this deletes all morphing domains.
delete all morph entities On the update subpanel, this deletes all morph entities, including domains, constraints, shapes, handles, and so on.
generate On the create subpanel, this auto-function will create domains for all nodes and elements in the model.
merge On the edit edges panel, this performs the edge merge.
organize On the organize subpanel, this performs the specified organization task.
partition On the update subpanel, this performs the partitioning operations.
redo last On the partitioning subpanel, if you do not like the results of your domain generation, enter new values in the subpanel, and then click redo last. The most recent domain creation will be redone using the new partitioning values that you have chosen.
Note: This feature does not work if you have exited and returned to the Domains panel since generating the domains, or already performed commands within other subpanels of the Domains panel.
reject Undo the creation or deletion of any entity, such as a domain.
remesh On the update subpanel, this performs the remesh.
reparam On the update subpanel, this performs the reparameterization.
reset parms On the partitioning subpanel, this resets all of the partitioning parameters to their default values.
review On the organize subpanel when using add nodes/elems, this allows you to review the elements or nodes that are included in the selected domain.
smooth On the update subpanel, this performs the mesh smoothing operation.
split On the edit edges panel, this performs the edge split.
subdivide On the update subpanel, this subdivides 3D domains.
update On the create subpanel, this auto-function will update the domains if their elements have been changed.
Note: Domains will automatically be updated when you enter or leave a morphing panel, making this feature unnecessary in most cases.