Is There an algorithm to remove intersections between two tetrahedrons?
Since you already have convex shapes and started looking at the &quot;Method of separating axis&quot;, then the GJK algorithm is probably what you're looking for. This is commonly used in physics simulations to find collisions (for games, I don't know about computational science).
When you say &quot;remove intersections without generating others&quot;, then you're asking for collision response. Multiple collision response is actually a tough beast. Here (Reflections on Simultaneous Impact) is a paper that goes into more detail, but a very good introduction to this are course notes from Baraff:
An Introduction to Physically Based Modeling: Rigid Body Simulation I—Unconstrained Rigid Body Dynamics and part 2. Rigid Body Simulation II-Nonpenetration Constraints
Lastly, you can always use a physics engine for this, such as Bullet3d.