In the previous article, we discussed ellipsoid-plane intersections. We need these intersections to determine which particles intersect the boundaries of the representative volume element. Once we know these boundaries, we can determine where periodic copies of these particles should be located.
Some vertex and face numbering conventions are typically needed at this stage to make computations easier. The adjacent figure shows the vertex numbering convention that I use. The vertices are numbered first along the face and then along the face.
For generating periodic microstructures, we need information about intersections with only three faces. In our case, we have chosen the , , and faces as the base faces. The orientations of the vertices on these faces are shown in Figure 2.
In the figure, the face is shown in red and the vertices forming the face are oriented in a counter-clockwise manner around the outward normal to the face, i. e., (1, 4, 3, 2). The face is shown in green and the face is shown in blue and the same counter-clockwise ordering of the face vertices is used, for the face (1, 2, 6, 5) and for the face (1, 5, 8, 4).
With these conventions in place, we are now ready to perform intersections and generate periodic particles. Three cases have to be considered:
- particles that intersect a face but none of its edges
- particles that intersect edges but not the vertices of a face
- particles that intersect vertices
When an ellipsoidal particle is found to intersect one of the three faces () but none of the edges or vertices, the creation of a periodic copy is straightforward. This can be seen in Figure 3, where a copy is created at a distance from the initial face that is given by
where is the width of the domain in the appropriate direction, is a scaling factor called the
margin factor and is the maximum radius of the ellipsoidal particles. The margin factor should be around 2 to prevent collisions with existing particles in the initial domain.
The domain size is also increased accordingly so that the new particles intersect the resized domain boundary.
For particles that intersect edges, there are two possibilities:
- particles that intersect an edge that is not shared by two of the three faces .
- particles that intersect an edge shared by two of the faces.
Figure 4. shows the situation where the particle intersects an edge that is not shared by the three boundary faces. In that case, the periodic copy of the particle is created using the same approach as for the face particle discussed before.
However, when the particle intersects a shared edge, we have to create three copies of the particle as shown in Figure 5. The copies that are along the axes are shifted by amounts similar to that discussed earlier. But the diagonal particle has to be moved a larger distance.
For particles that intersect the vertices of the three relevant face of the bounding box, there are three cases that have to be considered:
- the vertex is not shared by any of the other two faces
- the vertex is shared by two faces
- the vertex is shared by three faces
In Figure 6, we see the case where the particle is at a vertex of the face that is not shared by or . In this case we need to create only one periodic copy of the particle.
When the vertex is shared by two faces as in Figure 7, we have to create three periodic copies of the particle.
Finally, when the vertex is shared by three faces, we have to make seven copies of the ellipsoid.
We will examine a C++ implementation of these ideas in Part 3 of this article.
If you have questions/comments/corrections, please contact banerjee at parresianz dot com dot zen (without the dot zen).
📅 12.11.2017 📁 DEM