Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tanks #1058

Open
wants to merge 79 commits into
base: master
Choose a base branch
from
Open

Tanks #1058

wants to merge 79 commits into from

Conversation

joergbrech
Copy link
Contributor

@joergbrech joergbrech commented Feb 10, 2025

Description

This PR adds fuelTanks. These tanks consist of several vessels. Each vessel can be made up of several skin layers to represent composite materials. There is usually a vacuum between the vessels. A vessel is constructed in the same way as a fuselage - in principle like a matryoshka of fuselages.

Note: It is still an open CPACS discussion how to realize varying skin thicknesses of a vessel. This would also affect the fuselage and will therefore be a separate issue.

What is new compared to fuselage or similar elements with parentUID: The tank vessels are direct child elements of the fuelTank element, and thus not referencing to this via parentUID. Furthermore, they should not only follow the translation of the fuelTank element, but also the scaling and rotation. Therefore, additional constructors are added to CTiglRelativelyPositionedComponent, along with methods to apply scaling and rotation to the transformation matrix.

The added code follows the proposed clang settings.

How Has This Been Tested?

Thorough testing has been implemented for C++ and Python code:

  • test file: simpletest-fuelTanks.cpacs.xml
  • cpp tests via tiglTanks.cpp
  • Python tests via test_fuelTanks.py

The tests cover all elements of the fuelTanks added to CPACS. Perhaps the Python tests in particular go a bit beyond what would only concern the tanks, as they also test the correct export of the generated classes. If automated Python tests for the generated classes are part of future TiGL releases, this could be removed. For now, I feel a bit more comfortable as it is not always clear to me how exactly the configuration.i is built.

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

grafik

Checklist:

Task Finished Reviewer Approved
At least one test for the new functionality was added.
  • yes
  • does not apply
  • OK
New classes have been added to the Python interface.
  • yes
  • does not apply
  • OK
The code is properly documented with doxygen docstrings
  • yes
  • does not apply
  • OK
Changes are documented at the top of ChangeLog.md
  • yes
  • does not apply
  • OK

EDIT: This PR is just a replicate from #1057, because our CI has problems with PRs from forked repos, see #1059. Thanks @MarAlder for all the work!

Copy link

codecov bot commented Feb 10, 2025

Codecov Report

Attention: Patch coverage is 67.67782% with 309 lines in your changes missing coverage. Please review.

Project coverage is 69.47%. Comparing base (d46a3e8) to head (1f6fc5e).
Report is 13 commits behind head on master.

Files with missing lines Patch % Lines
src/fuelTanks/CCPACSVessel.cpp 69.45% 113 Missing ⚠️
src/structural_elements/CCPACSWallPosition.cpp 37.87% 82 Missing ⚠️
src/structural_elements/CCPACSWallSegment.cpp 74.32% 38 Missing ⚠️
src/fuelTanks/CCPACSFuelTank.cpp 27.27% 24 Missing ⚠️
src/structural_elements/ITiglWallUtils.h 50.00% 13 Missing ⚠️
src/configuration/CCPACSConfiguration.cpp 62.50% 9 Missing ⚠️
src/fuselage/CCPACSFramesAssembly.cpp 72.41% 8 Missing ⚠️
...rc/geometry/CTiglRelativelyPositionedComponent.cpp 72.72% 6 Missing ⚠️
src/common/tiglcommonfunctions.cpp 50.00% 5 Missing ⚠️
src/fuelTanks/CCPACSFuelTanks.cpp 88.00% 3 Missing ⚠️
... and 3 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1058      +/-   ##
==========================================
- Coverage   69.50%   69.47%   -0.03%     
==========================================
  Files         301      307       +6     
  Lines       26912    27510     +598     
==========================================
+ Hits        18705    19113     +408     
- Misses       8207     8397     +190     
Flag Coverage Δ
unittests 69.47% <67.67%> (-0.03%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/common/tiglcommonfunctions.h 100.00% <ø> (ø)
src/fuelTanks/CCPACSVesselStructure.cpp 100.00% <100.00%> (ø)
src/fuselage/CCPACSFuselageSections.cpp 72.22% <100.00%> (+9.72%) ⬆️
src/fuselage/CCPACSFuselageSegment.cpp 63.95% <100.00%> (+0.68%) ⬆️
src/fuselage/CCPACSFuselageSegments.cpp 82.10% <100.00%> (+1.42%) ⬆️
src/fuselage/CCPACSStringersAssembly.cpp 11.11% <100.00%> (+11.11%) ⬆️
src/geometry/CCPACSTransformation.cpp 84.10% <100.00%> (+1.34%) ⬆️
src/geometry/CTiglRelativelyPositionedComponent.h 80.64% <ø> (+0.64%) ⬆️
src/structural_elements/CCPACSWallSegment.h 33.33% <ø> (ø)
src/structural_elements/CCPACSWalls.cpp 90.90% <100.00%> (+1.43%) ⬆️
... and 13 more

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@joergbrech
Copy link
Contributor Author

Thanks @MarAlder! Just a heads up: This is a big contribution and I am going to need a bit for the review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants