TLDR: Is there an efficient algorithm to compute the intersection of polyhedra with 8 or fewer vertices?

I have two sets of FEM meshes for one geometry (one exhibiting a skin effect). I have to transfer a field output of one to the other by a python script. The field output and desired input are both element dependent variables, so builtin nodal transferral would interpolate and extrapolate, losing me some precision. Therefore I need to check the meshes against intersection (which can be done by the Separating Axes Theorem), compute interesting volumes, times them by the volumetric output and sum them up for each target element.

The 2D case has been touched on, but I've only been able to find papers on the 3d problem concerned with arbitrarily complex polyhedra, requiring equally complex data structures to even reference the geometry.

I'm dealing only in hexahedra, tetrahedra, and wedge elements, so I'm hoping that someone's pinned down an algorithm for these 'simple' cases.

  • $\begingroup$ What you need to do is to find the intersection of two polyhedra or to "transfer" the nodal data from one to the other? $\endgroup$
    – nicoguaro
    Jul 15 '19 at 14:48
  • $\begingroup$ The former. I'm working with whole element values, but abaqus only suppprts field imports via nodal fields. So i'm building my own. $\endgroup$ Jul 15 '19 at 14:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.