### Block structure creation

In this section the procedure of the geometry preparing and strategies for the block structure creation are described. The principles of the automatic block structure generation and of the manual adjustment of the geometry in the structured domain are explained. For details of the structured mesh dialog window usage see Structured mesh generation and adjustment.

The block-structured mesh is generated boundary fitted. It means that the block boundaries coincide with the drawing line by the structured mesh generation. The drawing used for the creation of the block structure can coincide with the original drawing used also for unstructured meshing or can differ from it in order to satisfy the quality requirements of the structured mesh.

Therefore the structured mesh generation consists of two successive work steps:

• creation of the auxiliary drawing which serves as basic for the block structure
• meshing of individual numerical blocks under conservation of boundary conditions at the shared interfaces between neighbor blocks.

The block structure is frequently required in the domain with complex geometry. The preparing of the drawing for the block structure starts with operations on the domain boundary. The domain boundary can be very complex.

As shown in the figure, in case of the VCz puller the shape of the boundary of the gas filled cavity of the inner chamber (red color) is very irregular consisting of many polygonal segments. The boundary of the green filled cavity has parts with high aspect ratio and the loops around the islands or "holes" inside of the cross-section of the geometry corresponding to the chain of heaters.

One available option for subdivision of the complex domain into cuboid-like blocks with structured mesh is to modify manually the drawing by introduction of additional lines in the geometry mode which cut the complex area into more less complex parts. This procedure is recurrently continued until all domain is subdivided into polygons.

Each polygon serves as a block boundary which s have four corners with possibly minimum deviation from orthogonality. More corners are allowed too. They will be then located on the side of the block and build a knick on it. This knick is prolongated then by the mesh generation into the inner part of the block and will reduce the mesh quality because of pure smoothness. Therefore such knicks should be avoided. Especially critical knicks at the block side are negative angles which differ from the pi-value larger than 5 degrees. Negative angles can lead to the degraded control volumes with the negative determinant of the coordinate transformation matrix (i. e. negative volume of the corresponding control volume). Any computation is not possible on the degraded mesh. The way to avoid negative angles is to connect such corners with the opposite line of the domain boundary in the geometry mode.

#### Automatic block structure creation

The block structure is created by the mesh generator always fully automatically based on the available geometry of the domain to be meshed. If the boundary of the domain satisfy to creation of the block structure, then an additional CAD drawing is created which is an exact copy of the subset of the original drawing related to regions to be meshed. The additional drawing serves as an auxiliary data structure for storage of the block structure data and for an interactive user operations on the block-structured mesh.

The automatic block structure creation is possible only in seldom cases by copying of the existed drawing without any change in it. Each region to be meshed should approach a cubic form in this case. Otherwise the subset of the original drawing is copied into the auxiliary drawing in the first step. In the second step additional lines and points will be introduced into the auxiliary drawing during the automatic block structure creation. The auxiliary drawing will coincides then only partly with the original one.

The procedure of the auxiliary drawing adjustment is repeated iteratively until all topological problems disturbing creation of the block structure will be avoided. The adjustment is done separately for each region selected for structured meshing. By subdividing of the original regions with additional drawing lines the number of regions in the auxiliary drawing growths. All auxiliary regions contained in the selected original regions are used for storage and regeneration of the block-structured mesh while the CRYS-file containing the structured mesh is reading.

The topology improvement on the complex geometry consists of many successive steps of the auxiliary drawing geometry modification.

1. The original drawing subset of the selected regions is copied to the auxiliary drawing.

2. For the boundary of each selected region a list of the corner points with negative angles (or the same, with angles large than PI + tolerance) are assembled.

In the figure below the domain to be meshed has one outer and one inner boundary loops. Corners of the outer polygonal boundary loop are denoted with letters F-G-H-I-J-K-L-M. The polygonal inner loop is denoted by corners A-B-C-D-E. The considered polygonal area to be meshed is given by subtraction of the inner polygon with boundary A-B-C-D-E from the outer polygon with boundary F-G-H-I-J-K-L-M.

The area between both boundary loops should be meshed. The corners with negative angles are identified with red circles in the figure: A, B, C, D, E, J, F. The corner E is a positive one for the polygon build by the inner boundary A-B-C-D-E and the negative one for the considered area between two loops. Corners with negative angles have the corners marked with red circles A, B, C, D, E, F, J in the figure below. The negative corners should be eliminated for creation of the block structure.

The algorithm runs over all found corners with negative angles with respect to the meshed area and tries to connect them with the boundary by introduction of new lines into the auxiliary drawing. Several possibilities are considered for introduction of the lines.

3. First a number of trials are attempted to connect the considered corner point with every other corners with negative angles in the region of the auxiliary region. Such connection has a higher priority because it eliminates at once a pair of undesired corners. The trial has success if

- No other intersection between the connection line and the region boundary is found,

- Angles between the connecting line and the connected segments of the region boundary are satisfactory

- The intersected boundary segment is not attached to the considered point and it is not the next boundary segment neighboring with the segment of the considered point.

If all conditions are satisfied, then the connection found is stored as a candidate for the new drawing line and the quality function value is calculated for this connection.

The quality includes the deviations from orthogonality of new created angles of the subdivided region, the dimensionless length of the connection line and the number of eliminated corners with negative angles. The algorithm seeks for the shortest connection and the best possible orthogonality of the domain boundary.

The considered possible connections between the corner point A and another corners with negative angles F and J are shown in the figure above.

4. Next the horizontal and vertical connections of the corner point with the region boundary are attempted. The conditions for possible connections are the same as in the previous step. Such connections are shown horizontally to the boundary segment G-H and vertically to J-K in the figure. The succeeded connections are stored together with their quality function.

5. For each succeeded attempted connection with a horizontal or with a vertical line additional connections between the considered point and both CAD points left and right at the intersected boundary segment are tried and estimated. The example of the succeeded attempt is shown in the figure by the connection line between A and the CAD point in the middle of the boundary segment G-H. Such connections obtain higher priority than horizontal and vertical connections because they utilize existing elements of the drawing.

6. After any positive number of candidates for the connection is accumulated for the considered corner point, they are sorted all according to the quality value. The connection with the best value is selected.

7. After the best candidate for the connection (or no candidate) is found for each questionable boundary corner, they are sorted together according to their quality value. At least one connection for the corner with the best quality value is selected and the connection line is introduced.

If there are more found connections, a pair of connections with the best quality are added to the drawing. More than a single connection is necessary for regions having the ring structure like in the example shown in the figure above. Otherwise such single line within the ring is considered as separating the same region from both sides of it. The line will be then removed from the geometry by the topology analyzer. As a result the algorithm would be put at risk to get an infinite loop with the single line insertion and deletion.

8. After additional lines are introduced in all selected regions if required, a new regions structure of the auxiliary drawing is created from the old one together with new introduced lines.

9. The topology of modified drawing is then improved iteratively in the procedure steps from 2 to 8 until no negative angles will be found in all regions of the secondary drawing.

10. The materials distribution in the structured domain and around it is analyzed and the locations of the convective boundary layers are identified. Such locations are all interfaces between regions filled with liquid and solid state materials.

For such interfaces an additional points are introduced on the adjacent lines which are crossing the interface layer lines. The points mark the segment in the boundary layer where the mesh density should be adapted later according to the refinement requirement for the boundary layer.

The geometry of the auxiliary drawing together with the introduced points is passed to the topology analyzer which subdivides the lines and modifies the drawing.

11. Regions with large aspect ratio are identified in the auxiliary drawing. Pairs of points are introduced at the opposite lines of such narrow gaps. The additional points subdivide the boundary of the gap and creates more lines on it. More lines let an easier adjustment of the mesh density distribution along the region boundary if it will be necessary for the mesh orthogonality improvement.

12. After the topology of the meshed domain is prepared iteratively for creation of the block structure and no problems are detected, the auxiliary drawing is passed to the block structure generation. The block generator creates a new block for each of the regions in the drawing.

The block generator which obtains a region as an input is the constructor of the block object in terms of the C++ language. It sorts the corners at the boundary of the region with respect to the least deviation from the straight angle. 4 angles with the smallest deviation are selected and are arranged to 4 corresponding corners of the numerical block object. Each side of the block (East, West, North and South) obtains a list of the CAD lines of the auxiliary drawing which are located between the successsive corners of the block.

Finally the preliminary distribution of the mesh edges along the whole block boundary is done and the data storage is allocated for the block size resulted from the edges number on the block boundary.

The fully automatic block structure generation works frequently well even for very complex geometries as that in the shown example. If the quality of the resulted mesh is not satisfactory because of the topological reasons or the block structure generation fully fails (for example while by the iterative subdivision of the domain a triangular region was created that makes not possible the block creation), then the user should return to the geometry mode and will simplify the task of the automatic blocks generation by the manual introduction of additional lines inside of the meshed domain. The drawing for the block structure should be prepared manually in the worst case.

The manual improvement of the model geometry for the structured meshing results in the increase of the blocks number which will be generated in the locations of the cuboids. This will prolongate the shared block boundary and will enlarge the communication cost between the blocks. The numerical solution for a block system consisting of many connected blocks becomes more decoupled and more iterations are required to achieve the convergence. The particular convergence behavior is problem dependent. For example in case of the thermal conduction the solution speed depends on the arrangement of thermal conductivities in the blocks. In any case the solutions of the heat transport by conduction, radiation and convection were already achieved for many setups as routine with the blocks number exceeding 100. Generally difficulties by the block structure creation can arrive if:

• The meshed domain boundary contains many "negative angle", it means steps directed into the domain area. Such steps are visible in the figure, for example the seed holder above the crystal or steps at the bottom surface of the crucible support. holder)
• The CAD drawing has rounded corners. Such roundings are consisting of a large numbers of straight segments with small angles between them.
• The meshed domain has narrow gaps with a high aspect ratio. Then additional effort is required to satisfy the orthogonality condition.
• The task of the fully automatic creation of the block structure fails (seldom) because the triangle region occurred after the automatic introduction of additional lines into the drawing. The grid generator terminates then the execution with indication of the triangle coordinates. The caused corner on the boundary of the meshed domain can be then identified from the coordinates. A manual introduction of a single additional line into the drawing will overcome this problem.

For optimization of the computational performance the minimum possible number of blocks should be achieved by the manual adjustment of the geometry. Another important factor to be optimized is that the additional lines which serves as internal block boundaries should have minimum summary length. Therefore the artificial blocks with high aspect ratio should be avoided.

In the example in the figure above no topological problems for the automatic block structure creation occurs. The block structure with the structured mesh can be successfully created in all three domains.

In the figure above the block structure in three different structured domain is shown. The resulted mesh consists of the 56 blocks and 12229 CV's. The automatic mesh refinement in the boundary layers was also executed for the default parameters of the boundary layer thickness 1 cm, the distance from the last node to the interface liquid-solid 1 mm and the default mesh density 5 mm.

This mesh has still large deviations from the orthogonality which are caused partly by the existing sharp and dumb angles in the geometry of the domains boundary and partly can be improved manually by the redistribution of the mesh density.

#### Manual preparation of the block structure

In the structured mesh around the crystal region large deviations from orthogonality appear in the figure, because the prescribed crystal shape from the CAD drawing differs from the orthogonal one.

This situation can be improved either by simplification and change of the original geometry of the crystal. Provided such changes are prohibited, the block structure around the curved crystal surface can be introduced manually in the Geometry Mode.

In the figure above the preparation of the regions structure for the subsequent application of the block-structured meshing is demonstrated.

The main drawing is modified in the Geometry Mode. The difficult treatment of the rounded crystal shape is solved by introduction of the "star" configuration for regions between the crystal and the vertical crucible wall, where three different regions share the common point. The space is divided approximately equally between the neighbors by 120 degrees. It means that the maximum deviation from orthogonality in the block mesh is 30 degrees.

The mesh generator accepts the prepared decomposition around the crystal without any topological changes because each of the particular regions to be meshed satisfies to the shape requirements of the structured block. Therefore the shape of the auxiliary drawing around the crystal coincides with that of the original CAD drawing. The only difference is, additional points are introduced on their boundary for marking of the boundary layer limits in this case.

### Note

The presented manual domain decomposition is required only in really complex cases like that of the VCz setup. Normally the available decomposition procedure coupled with the mesh generation creates automatically the block-structured mesh of acceptable quality. The mesh density and orthogonality should be then improved manually in dependence of the computational problem requirements.