Clarification Regarding Computing Polyhedron Polyhedron Intersection in NOTUS


I am a masters student at TU-Delft, doing my thesis now on Immersed Boundary Method and its application to deformable body.

I use a Volume of Solid immersed boundary method that requires to compute the volumes(areas in 2D) intersected by my control volumes (grid cells) and the polygon,(immersed boundary). Through NOTUS, I have found how to do this in 2D through boolean operations on polygons.(It has a tool from computational geometry that allows me to do this ). I am a little confused on how should i be implementing this in 3D. I searched through the NOTUS documentation for a tool, that gives a polyhedron from the intersection of one polyhedron and another, but i did not find it.
I scanned through the Notus documentation for Computational Geometry tools in 3D, and could not find this. There are routines for line/polyhedron intersection, polyhedron flooding , but none for intersection of polyhedrons. Can someone guide me ?


Hi Aditya,

Polyhedron/polyhedron intersection is not (yet) implemented in Notus.

My understanding is that you want to compute the intersection of a polyhedron with a cell.
If your polyhedron is a surface mesh, you can use the ‘initialize_vof’ routine located in ‘src/lib/core/data_structures/initializer/vof.f90’ that approximates the volume fraction of the intersection of the surface mesh with the Cartesian grid on every cells.
Anyway, if it does not correspond to your need, you may approximate the intersection volume with a sampling algorithm.

Remark 1: In the near future, I will implement a polyhedron/polyhedron intersection algorithm, but only for convex polyhedrons.
Remark 2: In 2D, the intersection algorithm (actually, the clipping algorithm) is written only for convex polygons.