Splitting by Function

This operation splits volume mesh boundaries according to the rounded integral value of a specified field function.

NoteThe boundary with the most faces keeps the name of the original boundary. The naming conventions for new boundaries follow the ascending order of the number of faces in the boundary. For example, if the field function creates two new boundaries from Boundary 1, the new boundary with the least faces is Boundary 1 2, and the most faces is Boundary 1 3.
The operation of splitting by function is illustrated schematically below.

In this example, the field function f has the value 0 or 1, so that two boundary are created. In this case, f might be defined as follows:

($$Centroid[0] < 10) ? 0 : 1

or even more simply

$$Centroid[0] < 10

both of which cause a step from f=0 to f=1 at the global x coordinate of 10.

In the above example, the field function has two discrete integer values. If it consists of a range of real numbers, say 0.8<f<2.4, the boundary is split into three parts containing:

  • cells in which 0.8<f<1.0;
  • cells in which 1.0f<2.0;
  • cells in which 2.0f<2.4;


Simcenter STAR-CCM+ attempts to create as many additional boundaries as there are rounded integer values given by the field function in the original boundary. In other words, if 0.8<f<2.4, two additional boundaries are created, since f varies as 1 and 2 . If 0<f<100, 99 additional boundaries are created. To prevent the creation of an unreasonable number of new boundaries, ensure that the field function has a restricted range.

Suppose we wish to split two purple and yellow boundaries along the X direction, as shown in the screenshot below.

Use any technique to find the X location of the split - we will use a value of 0.28 for this case. Create a new user field function with the name Split@X=0.28 using the Automation > Field Functions node and set the Definition to ($$Position[0]<0.28)? 0:1.

Initialize the solution to ensure that the user-defined field function will hold valid values. If errors are reported in the Output window then these should be corrected.

Now open the Regions node and open the region of interest. Right-click on the boundary of interest from the Boundaries node and select Split By Function... from the pop-up menu.

This opens the Split Boundaries by Function dialog with the boundaries selected in the simulation tree marked with a ticked checkbox. Pull down the Function drop-down list and select the user-defined field function that you created earlier:

Click the Apply button to start the splitting function. A progress bar will be displayed at the bottom of the simulation tree. Once the process is complete a message will be displayed in the Output window indicating the names of the new boundaries and the number of faces in each.

The simulation tree will be updated with the new boundaries. The names of the new boundaries are taken from the original boundaries with an identifier appended.

The screenshot below shows the new split in the boundaries.

Note that the splitting process does not divide or cut boundary faces into two. The process simply divides the boundary up based on the existing face structure and retains the same total number of faces before and after.