tigl icon indicating copy to clipboard operation
tigl copied to clipboard

Implement tiglCrossSectionArea

Open joergbrech opened this issue 2 years ago • 3 comments

Fixes #763

Description

The new function calcuates the intersection wires of the fused aircraft with the plane and sums the area of each closed wire in the intersection. There are some cases where this might fail:

  • If a cross section cuts an engine nacelles in the y-z-plane this will return a wrong result: The intersection result would contain two concentric circles for the fan and core cowl and one circle for the center cowl.
  • If the airplane has inlets or "dimples". To work correctly, we would need to calculate not intersection wires, but intersection faces from cutting a solid with a plane.

How Has This Been Tested?

New unit tests have been added

Screenshots, that help to understand the changes(if applicable):

Checklist:

  • [x] A test for the new functionality was added.
  • [ ] All tests run without failure.
  • [x] The new code complies with the TiGL style guide.
  • [ ] New classes have been added to the Python interface.
  • [x] API changes were documented properly in tigl.h.

joergbrech avatar Oct 01 '21 15:10 joergbrech

I think the function would be more versatile, if the user can provide a uID. This uID could be either a geometrical component or even the whole aircraft (which then requires fusing).

rainman110 avatar Oct 04 '21 07:10 rainman110

Okay. According to @ErwinMoerland , the function is okay from the API as it is. There is though the test case GetCrossSectionAreaSimple.sanity_values which still fails.

rainman110 avatar Oct 28 '21 06:10 rainman110

@rainman110, this is still WIP, I think we need to adapt our intersection algorithm to het a robust section with a reasonable notion of what is inside and outside. I just haven't found the time for this yet.

EDIT: As soon as I find the time, I will open a new PR that calculates the intersection of solid components with planes. I will close this PR then.

joergbrech avatar Oct 28 '21 08:10 joergbrech

Closing in favour of #921

AntonReiswich avatar Aug 26 '22 11:08 AntonReiswich