You can create a single 3D domain consisting of all the elements in a model. If the model is made up of more than one part, each part is placed in its own 3D domain. The surfaces of each 3D domain are covered with shell elements that are placed in a component named ^morphface. The elements in ^morphface covering each 3D domain are placed into 2D domains. If partition 2D domains is checked, these 2D domains are partitioned according to the settings selected in the parameter subpanel of the Domains panel. Once partitioned, edge domains are placed around the 2D domains and handles are placed at the ends of the edge domains. This procedure is automatic. In many cases, the domains and handles are generated where you want them to be. If they are not, you can add, edit, or delete the handles and domains to meet specific needs.
A 3D domain is created for a solid model Note the automatic creation and partitioning of 2D domains on the face of the solid and the creation
|
If there are any domains or handles in the model, you are asked if you want to delete all the current morphing entities. If you click yes, or if there are no morphing entities in the model, 1D, 2D, and 3D domains are automatically generated for the entire model, as well as a global domain and handles. Automatic generation of domains on a solid model Note the addition of a global domain, global handles, and 1D domain, which produces dependent (green) handles. If you do not select partition 2D domains when you generate a 3D domain, the 2D domain made up of the elements on the surface of the 3D domain will not have edge domains and thus no handles will be generated for it. Without handles, morphing cannot be performed. However, this approach will give you a "blank slate" 2D domain that you can partition by hand. For meshes on which the automatic partitioning does not work well, such as first order tetra meshes, you may find it easier to start with a blank slate rather than editing the automatically created domains. Be sure to try both methods of partitioning, element based and node based, before deciding to partition by hand.
Also, for first order tetra meshes, you may find it more effective to ignore curvature when automatically partitioning. To do this, in the parameters subpanel, change the uppermost toggle from curvature based to angle based. You may also want to lower the domain angle to 30 degrees. Partitions will be made only along edges in the model where the domain angle is exceeded. You can then manually divide the 2D domains where the curvature breaks should be located. This method is very helpful for meshes that began as first order tetra meshes but then were then transformed into second order meshes. For these meshes, a curvature break is detected at every element along a curve if the midpoint nodes of the elements have not been modified to capture the curvature. This results in a domain for every element on a curve which makes morphing impractical. Solving the influence coefficients for 3D domains which contain more than 20,000 elements can become very time consuming even though it is only done after domain editing and during morphing operations such as radius change and map to geom. In these cases you may want to divide the domain into multiple domains using the subdivide 3D function in the update subpanel of the Domains panel, or lower the limit for the large domain solver. The large domain solver limit can be found in the global subpanel of the Morph Options panel. However, even though influence calculations for large domains are more rapid, morphing using the large domain solver can be time consuming, and thus subdividing 3D domains can often be the best solution for efficient morphing. Additionally, if you are only going to morph a part of your 3D mesh, you only need to create domains for that part.
|
HyperMorph automatically subdivides the 3D domains into one or more 3D domains while leaving the 2D domains not selected as being divisible unchanged. Not that in some cases HyperMorph will not be able to subdivide a 3D domain without dividing an indivisible 2D domain. In these cases the 3D domain will be left undivided.
|
When selecting elements for the new domain, you do not need to select only solid elements, other elements are automatically removed before the domain is created. Therefore, you do not need to be concerned about selecting the morphface elements. Also, it does not matter if the selected elements are already in a 3D domain. When the new domain is created, the elements are moved from the old domains to the new domain. Morphface elements are placed at the internal interface between the new domain and the other domains and create a 2D domain for the interface, but it will not partition the interface. This better accommodates the division of tetra meshes that cannot be divided along flat or curved internal faces and thus would be partitioned into many domains.
Dividing a 3D domain into many 3D domains can be very useful for controlling the movement of nodes within the domain when the handles on the surface are moved. When some meshes are morphed, the internal elements can become distorted. This is generally caused by handle influences extending too far through the 3D domain. You can divide your 3D domains to restrict the handle influences and control mesh distortion. A single 3D domain is split into four 3D domains The influences of the handles will not extend across the boundaries between the domains. Influences must be recalculated every time handles, domains, or symmetries are added, edited, or deleted. They are also recalculated during radius changes and geometry mapping. These calculations occur when you enter or leave a HyperMorph panel or when you leave the delete panel. For large models you will want to make all of your domain changes before exiting the Domains panel. The influences for handles are only recalculated in regions that have been edited. If the domains are not created exactly the way you want them, you can edit them in the Domains panel. The create subpanel allows you to create new domains. The organize subpanel allows you to edit domains by adding and removing elements to or from a domain and by grouping domains together. The edit edges subpanel allows you to split, merge, and place handles along edge domains. Since creating or editing 3D domains results in the creation of 2D and edge domains, and creating or editing 2D domains results in the creation and deletion of edge domains, you should perform the tasks in the following order:
Automatic partitioning does not always divide a mesh in the most useful ways. Occasionally, elements end up in domains adjacent to where you want them or placed in their own domain. Some cleanup may be required.
|
The elements are moved from their current domain to the selected domain. The edge domains around both domains are refreshed, as well as the 2D domains at the interface if solid elements are being organized. New handles may also be created during this process, and if retain handles is not checked, handles may be deleted. You should keep retain handles unchecked unless you have created shapes for the model that use the handles on the domains that you are editing. The model on the left shows problems that partitioning can encounter for some meshes. The model on the right has been corrected using the organize subpanel of the Domains
|
The selected domains are combined into a single domain, and the surrounding domains and handles are updated. Edge domains are automatically partitioned when they are created. They are also updated whenever a change occurs for a domain of which they are on the edge. This is why you should edit the edge domains after the other domains have been edited. If you perform edge editing first, your changes may be erased when you edit the 2D and 3D domains. Edge domains are used to make radius changes, so it is important to make sure that any radius in the model that you intend to change be captured correctly by edge domains. HyperMorph attempts to partition edge domains where curvature begins and ends, but in some cases, it will not identify the proper starting and ending points. You will need to correct this by hand.
|
The selected edge domain is split into two edge domains at the selected node. A handle is created at the selected node. The lower edge domain has been split at the gray node (left model), which becomes a handle (right model). Now the radius of each new edge domain may be modified independently of the other.
|
The two edge domains are merged into one edge domain. This function only allows you to merge edge domains that lie end-to-end such that the resultant merged edge domain is a continuous series of nodes. You may also create dependent handles along an edge domain. This feature helps save time when you are changing the radius for the edge domain. If a model is very large, you may find it more efficient to place dependent handles on the edge domains whose radii you wish to change before you enter the morphing panel.
|
Dependent handles are created on the selected edge domains. These handles are dependent on the independent handles to either side of them along the edge domain. Dependent handles created using the handles on edge feature Creating dependent handles in this way has two significant effects. The first is that since they are dependent, movements applied to any of the independent handles on the edge are transparently applied to the dependent handles. It will be as if they were not there. Secondly, when you make a radius change to an edge domain that has a handle at each of its nodes, the influences do not need to be recalculated, which makes the radius change process much faster for large models.
The influences for the handles is calculated and you are ready to begin morphing.
|
See Also: