HyperMesh and BatchMesher

domains panel

domains panel

Previous topic Next topic Expand/collapse all hidden text  

domains panel

Previous topic Next topic JavaScript is required for expanding text JavaScript is required for the print function  

Location:   Tools page - HyperMorph module

 

The Domains panel allows you to add and edit domains, or update the domains for a model. Each domain contains either elements (for 1-D, 2-D, 3-D, 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.

 

Panel Usage


The Domains panel consists of several subpanels:create, organize, edit edges, update, parameters, and partitioning.

domains_panel

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

 

Subpanels and Inputs


The Domains panel contains the following subpanels and command buttons:

hmtoggle_arrow1Create

Use the Create subpanel to create morphing domains. For more details on domains, see Domains and Handles.

 

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. HyperMesh will place these handles at the eight corners of a box surrounding the model and at areas of peak nodal density within the model.

 

1-D, 2-D, and 3-D Domains

For 1-D, 2-D, and 3-D 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 2-D domains are created, edge domains will also be created around the edges of the elements for the domains. When 3-D domains are created, 2-D domains will be created on their faces and edge domains will be created around the edges of the 2-D domains. Handles will automatically be created at the ends of the edge domains.

 

Edge Domains

You are not able to create edge domains that are not attached to any 2-D, 3-D, or general domains. When 2-D, 3-D, and general domains are deleted, edge domains that are no longer attached to any 2-D/3-D/general domains, will be automatically deleted whenever you enter or leave a HyperMorph panel or the Delete panel.

 

General Domains

General domains can contain any type of element (1-D, 2-D, or 3-D) but edges or faces are not created along with the general domain.  General domains will respect 2-D 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 2-D domains that are created (either from shell elements or from the faces on 3-D domains) will also be partitioned.  It is recommended that this option be left unchecked for large models with many 2-D 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 box is checked, 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.

 

morph05

In this example, a 2-D domain 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.

morph06

In this example, an edge domain 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.  HyperMesh 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 and 2-D domains created as shown allow for the creation of a bead by moving the two handles at the ends of the edge normal to the plane of the elements.  See the Morph panel for more information regarding this process.

domains_panel_image

In this example, a general domain 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.

Note:It is possible to include the shell elements as part of the general domain in addition to the hexa and rigid elements.

 

 

Panel Inputs

Input

Description

(domain type switch)

The first switch on the subpanel allows you to select the type of domain to be created.  Additional input fields display depending on the choice you make here.

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 pick the checkbox options, described individually.

HyperMesh will create 1-D, 2-D, and 3-D domains for the selected elements according to their type.

global + local

Select a group of elements, or choose all elements, Then pick the checkbox options, described individually.

HyperMesh will create 1-D, 2-D, and 3-D 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 pick the checkbox options, described individually.

general domains

Select a group of elems, or choose all elements.  Then pick the checkbox options, described individually.

Note:General domains can contain any type of element, so all elements will literally include all elements in the model (1-D, 2-D, and 3-D).

connector domain

Select connectors to create domains. Also, select the method (independent, master, slave, 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 1-D domains, as in many cases the two are the same.

Independent connector domains can be controlled individually.
Slave connector domains are dependent on master domains.
Master connector domains control the behavior of slave domains.
Cluster connector domains are controlled together.
Note:For the master and slave options, both 1-D and connector domains are treated the same way in terms of interacting with 2-D domains.

In additon, pick whether or not to retain handles (as described below).

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.  (In the following diagram, different colors represent each domain).

hmorph_divide_by_domain

partition 2D domains

Divide created 2-D domains based on the settings in the partitioning subpanel.

retain handles

Keep any handles already generated.  If unchecked, HyperMorph deletes old handles lying within the new domain when creating that domain.

 

hmtoggle_arrow1Organize

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.

 

Panel Inputs

Input

Description

combine domains /

add nodes/elems /

remove nodes/elems

Use this switch to determine which type of function to perform.  The choice you make affects which additional inputs display on the subpanel.

domain

This switch displays when the function is add nodes/elems or remove nodes/elems.  Use it to select the domain to which you wish to add or remove nodes or elements.

domains

This collector displays when the function type is combine domains.  Use it to select the domains you wish to combine.

elems

You can add or remove elems to/from local domains when the function is add nodes/elems or remove nodes/elems.

local domains /

global domains

This switch displays when the function is add nodes/elems or remove nodes/elems.

Use it to choose between the type of domain.  You can add/remove elems to local domains, or nodes to global domains.

nodes

You can add or remove nodes to/from global domains when the function is add nodes/elems or remove nodes/elems.

retain handles

Keep any handles already generated.  If unchecked, HyperMorph deletes old handles lying within the specified domain.

 

hmtoggle_arrow1Edit Edges

Use the Edit Edges subpanel to merge, split, or add handles to an edge domain.

 

Panel Inputs

Input

Description

domain

When splitting a domain, use this collector to specify the domain to split.

domains

When merging domains or adding handles, use this collector to specify the domains to merge or add handles to.

node

When splitting a domain, use this collector to specify 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

If the retain handles box is checked, the existing handles are not deleted when the handles are recalculated.

split / merge / add handles

The first switch on the subpanel determines which type of function to perform.  The choice you make affects which additional inputs display on the subpanel.

When merging edges, the ends of the edge domains must meet at common nodes.  When splitting edges, the node selected must be on the given edge but cannot be on the end of the edge.

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.

 

hmtoggle_arrow1Update

Use the Update subpanel to remesh, smooth, subdivide, update 1D method, partition, reparameterize, update domain colors, or delete domains.

 

Panel Inputs

Input

Description

calc avg

This button displays when the function is remesh 2D/3D and remesh edges is active.  Use it to calculate the average element size.

divide by comps

This checkbox appears when the function is partition.  It creates 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

This checkbox appears when the function is partition.  It creates multiple new domains based on the domains that the selected elements already belong to.  (In the following diagram, different colors represent each domain).

hmorph_divide_by_domain

divisible 2D domains

This collector appears when the function is subdivide 3D.  Use it to pick the 2D domains that you wish to divide.

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

domains

This collector appears when the function is subdivide 3D, 1D/conn method, reparameterize, or partition.

Use it to pick 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 3-D domains will be subdivided into several 3-D domains depending on the shape of the 3-D domain and the number of divisible 2-D domains.

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

domains / elems (toggle)

This toggle and collector displays when the function is remesh 2D/3D or smooth mesh. From the 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.

elem size =

This numeric field displays when the function is remesh 2D/3D and remesh edges is active.  Use it to specify the desired element size.

independent / slave / master / cluster

This switch displays when the function is 1D/conn method and determines how handles are placed for the 1-D and connector domain and how the dependencies are assigned. See the parameters subpanel for an explanation of the different methods.

iterations

This numeric box displays when the function smooth mesh.  Use it to specify a limit on the number of iterations when smoothing the mesh.

new mesh type:

This switch displays when the function is remesh 2D/3D.  Use it to determine the type of mesh to use during remeshing--quads, trias, r-trias, or mixed.  For more details, see Mesh Generation Algorithms.

preserve shapes

This checkbox displays when the function is remesh 2D/3D.  When active, morphing shapes remain applied after the remesh.  Otherwise, shapes may be lost.

retain handles

This checkbox appears when the function is subdivide 3D or partition.  If the retain handles box is checked, the existing handles are not deleted when the handles are recalculated.

size control

This checkbox displays when the function is remesh 2D/3D.  When active, the meshing algorithm attempts to keep elements roughly similar in size.

skew control

This checkbox displays when the function is remesh 2D/3D.  When active, the meshing algorithm attempts to avoid producing highly-skewed elements.

smooth method:

This switch displays when the function is smooth mesh. Options include:

autodecide: The mesher will attempt to pick the best method.
size corrected: The smoothing will attempt to create elements of roughly uniform size.
shape corrected:The smoothing will attempt to create elements of roughly uniform shape.
angle corrected: The smoothing will attempt to create elements of roughly uniform angle.
QI optimize: The smoothing will attempt to create elements that conform to preset element Quality Index criteria.
Kriging: The kriging method of smoothing applies only to elements inside domains.
Kriging+auto: The mesher will attempt to pick the best method while using kriging algorithms.
Kriging+size: The smoothing will attempt to create elements of roughly uniform size while using kriging algorithms.
Kriging+shape: The smoothing will attempt to create elements of roughly uniform shape while using kriging algorithms.
Kriging+angle:  The smoothing will attempt to create elements of roughly uniform angle while using kriging algorithms.
Kriging+QIopt: The smoothing will attempt to create elements that conform to preset element Quality Index criteria while using kriging algorithms.
squish corrected: The smoothing will attempt to improve the element squish quality index of the selected domains or elements.

remesh edges / hold edges

This toggle displays when the function is remesh 2D/3D. Remesh edges allows the mesher to change the node seeding along edges in the model, while hold edges preserves edge node seeding.

(update function switch)

 

Use this switch to determine the type of function to perform, and which of the the remaining inputs display on the subpanel.

remesh 2D/3D: This remesh functionality differs from the automesh elements functionality in that it will 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.

domainremesh

smooth mesh: The smoothing will be applied 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: The selected 3-D domains will be subdivided into several 3-D domains depending on the shape of the 3-D domain and the number of divisible 2-D domains.

When subdividing, HyperMorph will not divide a 2-D domain 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 3-D element touches more than one indivisible 2-D domain there may be fewer 3-D domains created than the maximum. There can be cases where the 3-D domain cannot be subdivided if an insufficient number of divisible 2-D domains have been selected.

1D/conn method: The 1D/conn method determines how handles are placed for the 1-D and connector domain and how the dependencies are assigned. See the parameters subpanel for an explanation of the different methods.
reparameterize: <%HYPERMESH%> automatically 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, HyperMorph will ask you 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: <%HYPERMESH%> partitions 2-D domains by dividing them along element edges where the angle between the elements exceeds the domain angle parameter (see to update the morphing parameters) or where the curvature changes from flat to positive or negative.  The curve tolerance parameter (see domain partitioning parameters) 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.

 

hmtoggle_arrow1Parameters

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.

 

Panel Inputs

Input

Description

1D domains

Use the switch to choose a method for 1d domains:

Independent means that the 1-D domains are independent of (and do not affect) the surrounding domains.  Each 1-D domain has one independent handle (orange) that controls the movement for the dependent handles (green) positioned at all the other nodes of the domain.
Master means that the 1-D domains will control the surrounding domains.  Each 1-D 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 master domains also influence the handles of the surrounding domains.
Slave means that the surrounding domains will control the 1-D domains.  Each 1-D domain has independent handles (orange) where it touches edge domains or dependent handles (green) at nodes where it touches other types of domains.  Slave 1-D domains have additional handles (green or blue) dependent on those handles at all other nodes.  If there are green handles where the 1-D domains touch other domains, those handles are dependent on handles of the surrounding domains, so that morphing of 2-D and 3-D domains applies directly to the slave 1-D domains.
Cluster means that 1-D domains are treated like cluster constraints with their nodes all moving as one. Each 1-D domain has no handles, but handles on surrounding domains influence cluster domains.  Cluster domains move as rigid bodies when nearby domains morph.

biasing style

Use the toggle to choose a biasing style for domain morphing: exponential or sinusoidal.

Exponential biasing raises each node’s influence coefficient to the power of the biasing value of the handle to determine how biasing applies to the affected nodes.
Sinusoidal biasing uses a sine-cosine function instead.  See the set biasing subpanel of the Morph panel for details on biasing.

edge domains

Select the color to use when drawing edge domains in the graphics area.

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 in the graphics area.

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 in the graphics area.

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 in the graphics area.

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 in the graphics area.

handle size =

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 =

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 in the graphics area.

symmetry

Select the color to use when drawing symmetries in the graphics area.

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 HyperMesh draws symmetries.

 

hmtoggle_arrow1Partitioning

Use the Partitioning subpanel to update partitioning parameters and global influence options.

 

Panel Inputs

Input

Description

add to geometry

The add to geometry option can only be used along with the use geometry option. This option will merge the partitions of elements that lie on surfaces to be merged with the partitions that do not. In other words, 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.

curvature based / angle based

Angle based partitioning will only divide domains along boundaries where the angle exceeds the domain angle.

Curvature based partitioning will try to 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.

curve tolerance =

This field only displays for curvature based partitioning.  It represents 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.

domain angle =

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 of these two switches controls the way that global handles affect the nodes inside a global domain or morph volume:

hierarchical: means that the global handles will move the local handles, which will in turn move the nodes.
direct: means that the global handles move the nodes directly.
mixed method: means that the 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 of the two switches controls the algorithm used for determining global influences:

spatial: will use internally created volumes to determine how the global handles influence the local handles and nodes.
geometric: will use a geometry based comparative method to determine how the global handles influence the local handles and nodes.
kriging: will 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:

This option determines 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:

As above, This option determines the algorithm used for partitioning domains, but allows you to set a different algorithm for tria/tetra meshes than for quad or mixed meshes.

use geometry

The use geometry option will 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.

 

hmtoggle_arrow1Command Buttons

The following action buttons appear throughout the subpanels:

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 entites

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

Undoes 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.

 

 

How do I ...

hmtoggle_arrow1Create a domain:
1.From the Domains panel, select the create subpanel.
2.Select one of the following domain types to create, and perform the extra steps listed here:
global:

Select a group of nodes, or choose all nodes; then, select whether you want to generate global handles, or only the domain itself.

local:

Select a group of elements, or choose all elements.

global + local:

Select a group of elements, or choose all elements, then choose whether or not to create global handles.

edge:

Select nodes 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 any nodes
1D, 2D, or 3D:

Select a group of elements, or choose all elements.

general domains:

Select a group of elements, or choose all elements.

Note:General domains can contain any type of element, so all elements will literally include all elements in the model (1-D, 2-D, and 3-D).
connector domain:

Select connectors to create domains. Also, select the method (independent, master, slave, 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 1-D domains, as in many cases the two are the same.

Independent connector domains can be controlled individually.
Slave connector domains are dependent on master domains.
Master connector domains control the behavior of slave domains.
Cluster connector domains are controlled together.
Note:For the master and slave options, both 1-D and connector domains are treated the same way in terms of interacting with 2-D domains.
3.Use the checkboxes to select additional options:
divide by domain:

Create multiple new domains based on the domains that the selected elements already belong to.  (In the following diagram, different colors represent each domain).

hmorph_divide_by_domain

divide by comps:

Create new domains, divided along component boundaries.  This can be accumulative with divide by domains so that one domain will be generated for each combination of component and domain.

retain handles:

Keep any handles already generated.  If unchecked, HyperMorph deletes old handles lying within the new domain when creating that domain.

partition 2D domains:

Divide created 2-D domains based on the settings in the partitioning subpanel.

4.Click create.

One or more new domains are created using the selected nodes or elements.

Note:If these elements are already a part of another domain, they will be removed from that domain.  The surrounding domains are updated and handles may be added or deleted at logical positions for the new domain.  If the selected elements are not attached, a new domain is created for each group of attached elements.

 

Comments

 

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 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. HyperMesh will place these handles at the eight corners of a box surrounding the model and at areas of peak nodal density within the model.

 

1-D, 2-D, and 3-D Domains

For 1-D, 2-D, and 3-D 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, they will be reassigned to a new domain. When 2-D domains are created, edge domains will also be created around the edges of the elements for the domains. When 3-D domains are created, 2-D domains will be created on their faces and edge domains will be created around the edges of the 2-D domains. Handles will automatically be created at the ends of the edge domains.

 

Edge Domains

You are not able to create edge domains that are not attached to any 2-D, 3-D, or general domains. When 2-D, 3-D, and general domains are deleted, edge domains that are no longer attached to any 2-D/3-D/general domains will be automatically deleted whenever you enter or leave a HyperMorph panel or the Delete panel.

 

General Domains

General domains can contain any type of element (1-D, 2-D, or 3-D) but edges or faces are not created along with the general domain.  General domains will respect 2-D 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 2-D domains that are created (either from shell elements or from the faces on 3-D domains) will also be partitioned.  It is recommended that this option be left unchecked for large models with many 2-D 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 box is checked, existing handles are not deleted when the handles for any created or organized domain are recalculated.

The generate autofunction 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 autofunction 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 autofunction automatically forms domains on elements outside of the current domains as well as refreshes the edge domains and recalculates the handle influences.

 

Examples

morph05

In this example, a 2-D domain 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.

morph06

In this example, an edge domain 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.  HyperMesh 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 and 2-D domains created as shown allow for the creation of a bead by moving the two handles at the ends of the edge normal to the plane of the elements.  See the Morph panel for more information regarding this process.

In this example, a general domain 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.

Note:It possible to include the shell elements as part of the general domain in addition to the hexa and rigid elements.

 

hmtoggle_arrow1Edit the nodes or elements in a domain:
1.From the Domains panel, select the organize subpanel.
2.Select combine domains, add nodes/elems, or remove nodes/elems.

For combine domains, select the domains that you want to combine by clicking in the graphics area, or use the switch to choose a different selection method.

For add nodes/elems:

Choose whether to add nodes or elements to local or global domains.
Select the elements (local domain) or nodes (global domain) that you want to organize, and the domain to which you want to add them.
Note:After selecting a domain you may review the elements or nodes that are included in that domain by clicking the review button.

For remove nodes/elems:

Choose whether to remove nodes or elements from local or global domains.
Select the elements (local domain) or nodes (global domain) that you want to organize, and the domain from which you want to remove them.
3.Click organize.
Note:The model is automatically updated after the nodes or elements are organized.

 

Comments

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.

If the retain handles box is checked, HyperMesh will not delete the existing handles when the handles are recalculated.

 

hmtoggle_arrow1Merge edge domains:
1.From the Domains panel, select the edit edges subpanel.
2.Select merge edges.
3.Select the edge domains to be merged.
4.Click merge.

 

Comments

The ends of the edge domains must meet at common nodes.

If the retain handles box is checked, the existing handles are not deleted when the handles are recalculated.

 

hmtoggle_arrow1Split edge domains:
1.From the Domains panel, select the edit edges subpanel.
2.Select split edge.
3.Select an edge domain
4.Select a node where the edge will be split.
5.Click split.

 

Comments

The node selected must be on the given edge but cannot be on the end of the edge.

If the retain handles box is checked, the existing handles are not deleted when the handles are recalculated.

 

hmtoggle_arrow1Add handles to an edge domain:
1.From the Domains panel, select the edit edges subpanel.
2.Select handles on edge.
3.Select the edge domains to have dependent handles added to them.
4.Click create.

 

Comments

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.

 

hmtoggle_arrow1Remesh 2-D or 3-D domains:
1.From the Domains panel, select the update subpanel.
2.Select remesh 2D/3D.
3.From the 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.

4.Select the 2-D domains or elements to be remeshed.
5.Using the toggle select either remesh edges or hold edges.

If you selected remesh edges, you must specify a target element size for the selected domains or elements in the field labeled element size =.

You may use the calc avg button to calculate the average element size for the selected domains or elements. The calculated value will be placed in the element size = field.

6.Select the mesh type.
7.Select the options for size control, shape control, and shape preservation.
8.Click remesh.

 

Comments

This remesh functionality differs from the automesh elements functionality in that it will 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.

domainremesh

 

hmtoggle_arrow1Smooth domains:
1.From the Domains panel, select the update subpanel.
2.Select smooth mesh.
3.Select the domains or elements  to be smoothed.
4.Select the smoothing method.
5.Set the number of iterations and any other smoothing parameters.
6.Click smooth.

 

Comments

The smoothing will be applied 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.

 

hmtoggle_arrow1Subdivide a 3-D domain:
1.From the Domains panel, select the update subpanel.
2.Select subdivide 3D.
3.Select the 3-D domains you wish to be subdivided.
4.Select the 2-D domains that you will allow to be divisible.
5.Choose whether or not to retain handles.
6.Click subdivide.

 

Comments

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

When subdividing, HyperMorph will not divide a 2-D domain 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 3-D element touches more than one indivisible 2-D domain there may be fewer 3-D domains created than the maximum. There can be cases where the 3-D domain cannot be subdivided if an insufficient number of divisible 2-D domains have been selected.

 

hmtoggle_arrow1Update the method for 1-D domains:
1.From the Domains panel, select the update subpanel.
2.Select 1D/conn method.
3.Select the 1-D and connector domains to be updated.
4.Select the method for updating the 1-D and connector domains.
5.Click update.

 

Comments

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

 

hmtoggle_arrow1Reparameterize domains:
1.From the Domains panel, select the update subpanel.
2.Click the switch and select reparameterize.
3.Select domains to be reparameterized.
4.Click reparam.

 

Comments

HyperMesh automatically 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, HyperMorph will ask you 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.

 

hmtoggle_arrow1Partition domains:
1.From the Domains panel, select the update subpanel.
2.Click the switch and select partition.
3.Select the domains to be partitioned.
4.Click partition.

 

Comments

HyperMesh partitions 2-D domains by dividing them along element edges where the angle between the elements exceeds the domain angle parameter (see to update the morphing parameters) or where the curvature changes from flat to positive or negative.  The curve tolerance parameter (see domain partitioning parameters) 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."

 

hmtoggle_arrow1Update the morphing parameters:
1.From the Domains panel, select the parameters subpanel
2.Enter values for:
handle size: 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.
symmetry size: The size that HyperMesh draws symmetries.
handle tolerance: 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.

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.

3.Optional: select colors to use when drawing edge domains, 2D domains, 3D domains, other domains, symmetries, faces, and morph volumes in the graphics area.
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.
4.Use the switch to choose a method for 1d domains:
Independent means that the 1-D domains are independent of (and do not affect) the surrounding domains.  Each 1-D domain has one independent handle (orange) that controls the movement for the dependent handles (green) positioned at all the other nodes of the domain.
Master means that the 1-D domains will control the surrounding domains.  Each 1-D 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 master domains also influence the handles of the surrounding domains.
Slave means that the surrounding domains will control the 1-D domains.  Each 1-D domain has independent handles (orange) where it touches edge domains or dependent handles (green) at nodes where it touches other types of domains.  Slave 1-D domains have additional handles (green or blue) dependent on those handles at all other nodes.  If there are green handles where the 1-D domains touch other domains, those handles are dependent on handles of the surrounding domains, so that morphing of 2-D and 3-D domains applies directly to the slave 1-D domains.
Cluster means that 1-D domains are treated like cluster constraints with their nodes all moving as one. Each 1-D domain has no handles, but handles on surrounding domains influence cluster domains.  Cluster domains move as rigid bodies when nearby domains morph.
Note:The 1D domains: method selector will change both 1-D and connector domains if the query is answered with "yes."
5.Use the toggle to choose a biasing style for domain morphing: exponential or sinusoidal.

Exponential biasing raises each node’s influence coefficient to the power of the biasing value of the handle to determine how biasing applies to the affected nodes. Sinusoidal biasing uses a sine-cosine function instead.  See the set biasing subpanel of the Morph panel for details on biasing.

 

Comments

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.

 

hmtoggle_arrow1Update partitioning parameters:
1.From the Domains panel, select the partitioning subpanel.
2.Choose whether domain partitioning should be curvature based or angle based.

Curvature based partitioning will try to divide domains along boundaries where the angle exceeds the domain angle, where the curvature changes direction, and where the curvature goes from flat to curved. Angle based partitioning will only divide domains along boundaries where the angle exceeds the domain angle.

3.Enter values for:

domain angle

The angle at which domains are broken into smaller domains.

curve tolerance

The angle below which a domain is considered flat.  This field only displays for curvature based partitioning.

4.Select node based or element based for quad/mixed meshes and for tria/tetra meshes.

This determines 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.

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.

5.Choose options for global influences:

hierarchical, direct, or mixed method

This parameter controls the way that global handles affect the nodes inside a global domain or morph volume.

hierarchical means that the global handles will move the local handles, which will in turn move the nodes.
 
direct means that the global handles move the nodes directly.

mixed method means that the 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, causing mesh distortion at the local domain boundaries.

spatial, kriging, or geometric

The algorithm used for determining global influences.

6.Click use geometry to include model geometry, rather than only the mesh, in determining domain partitions.

For elements associated with surfaces, domain boundaries will be drawn along the edges of surfaces.  Elements that do not lie on surfaces are partitioned normally.

7.Click add to geometry along with use geometry if you want the partitions created for elements that do not lie on surfaces to be merged with the partitions that do.

This option will not merge two partitions which lie on different surfaces.

8.Click partition internal faces if you want to partition 2D domains which are enclosed by solid elements.

When creating domains that cut through a tetra mesh you will probably want this option to be off, since the jagged faces of a tetra mesh will be partitioned into many small domains with numerous handles, make morphing them very difficult. When creating domains that cut through a more regular mesh you may want this option to be on so that internal partitions are created similar to how they appear on the surface of solid element meshes.

 

Comments

If you do not like the results of your domain generation, you can enter new values in this panel 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.

 

 

Note:The options and appearance of this panel may change if you are using a user profile. See User Profiles for information regarding modifications to specific panels.

 

 

See Also:

Domains and Handles

Freehand Morphing - HM-3510

Changing a Curvature Using Map to Geometry - HM-3530

Domains and Handles - HM-3560

HyperMorph Module

HyperMorph Strategies