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.
- 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.
- 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.
- 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.
Create Subpanel
Option | Action |
---|---|
domain type | Select the type of
domain to be created.
|
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.
|
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.
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
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 |
|
Update Subpanel
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.
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 / slave / master / 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 |
Note: Available when the function is smooth mesh.
|
remesh edges / hold edges |
Note: Available when the function is remesh 2D/3D.
|
update function | Choose the type of
function to perform.
|
Parameters Subpanel
Use the Parameters subpanel to update the morphing parameters.
Option | Action |
---|---|
1D domains | Choose a method for 1d
domains.
|
biasing style | Choose a biasing style
for domain morphing.
|
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
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 |
|
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.
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.
|