Partitioning can be applied directly to 2D domains and indirectly to 3D domains (3D domains are created with 2D domains on their faces). Partitioning is a method of dividing 2D domains into smaller 2D domains at logical places, such as at the edges of surfaces associated with the mesh, or where the angle between elements exceeds a certain value, or where the domain changes from flat to curved. Partitioning allows you to prepare your model for morphing more quickly and easily since it divides your model into sections where parametric changes can be applied. You can invoke partitioning when creating 2D or 3D domains by activating the partition 2D domains check box on the Domains panel. If there are no surfaces in the model, or the use geometry option in the partitioning subpanel of the Domains panel is unchecked, partitioning will ideally divide your model such that every radius and straight or flat section is placed into a separate domain. However, partitioning is not an exact science and there will be areas where elements are not placed into the desired domains. If you are unsatisfied with the partitioning, you may change the partitioning parameters in the partitioning subpanel of the Domains panel and try again (using the redo last button), or edit the domains by hand using the create and organize subpanels in the Domains panel.
Example of partitioning
For the model on the left, the 2D domain was created without partitioning. For the
model on the right, partitioning was used. Note how the 2D domains are divided
along angle and curvature change boundaries. Also note that the edge domains are
partitioned regardless of whether the partitioning option is on or off.
There are two algorithms you can use to partition, element-based and node-based. These can be set individually for quad/mixed meshes and for tria/tetra meshes. Each algorithm has its strengths and weaknesses, so if one method is not producing the partitions that you desire, the other method might work better. In general, the element-based algorithm works better for quad/mixed meshes and second order meshes, while the node-based algorithm works better for tria/tetra meshes.
There are also several parameters that govern the creation of domains for either algorithm. They are found in the partitioning subpanel of the Domains panel.
If you have selected use geometry, all elements whose nodes are associated to surfaces in the model will be partitioned along the edges of the surfaces. All other elements will be partitioned using one of the partitioning algorithms. If you have also selected add to geometry, then any partitions created outside of the surfaces will be added to the partitions created using the surfaces if the partitioning algorithm does not find a break along the edges or the surfaces. This option is helpful when surface data is incomplete of some of the nodes have been moved away from their surfaces.
Partitioning can be angle-based or curvature-based. In either case, the domain angle controls the break angle along which a partitioning break is made. If the angle between the normal vectors between two elements is greater than this value, a new domain is created with an edge running between the two elements. When using curvature-based partitioning, the curve tolerance controls the angle of which values less than it are considered straight for curvature measuring purposes. If the angle between the normal vectors between two elements is less than this value, they are considered flat, otherwise they are considered to be curved. If the curvature changes from straight to curved, changes direction, or changes curvature by more than the curvature tolerance, a new domain is created with an edge running between the two elements. Note that in order for a new partition to be created, a break due to angle or curvature must be found along its entire edge.
For the node based method, domain angle and curve tolerance have a roughly similar meaning as the element based method. The node based method tends to create fewer partitions than the element based method, although exact performance for each method depends heavily on the features in your model. For instance, the node based method seems to work better on first order tria and tetra meshes while the element based method seems to work better on mixed quad and tria meshes.