Skip to content

Tanks #1058

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

Merged
merged 134 commits into from
May 21, 2025
Merged

Tanks #1058

merged 134 commits into from
May 21, 2025

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.

Fixes #969.

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
Contributor Author

@joergbrech joergbrech left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nicely done! This is a great addition to TiGL. Thank you very much @MarAlder for the implementation and also @sfreund-DLR for the input on the isotensoid contours.

@joergbrech joergbrech merged commit 5169681 into master May 21, 2025
17 checks passed
@joergbrech joergbrech deleted the tanks branch May 21, 2025 14:57
@sfreund-DLR
Copy link

Thank you for all implementations and optimization of the code!!

@lin22-hub
Copy link

Hello, everyone! May I ask if the visualization of the fuel tank has been completed? I didn't see the fuel tank when I used the test file.
tank

@joergbrech
Copy link
Contributor Author

It has been merged into the main developement branch after the latest TiGL release. It will be part of the upcoming TiGL release. If you need this functionality earlier, you would have to build TiGL yourself.

If you are using Windows, you could use one of the build artifacts from our continuous integration pipelines, e.g.

https://github.com/DLR-SC/tigl/actions/runs/16159391922/artifacts/3492003743

Note that the artifacts are not retained for long, but we have nightly builds, so if the link is invalid, check for pipeline artifacts here on Github under the "Actions" tab.

@MarAlder
Copy link
Collaborator

MarAlder commented Jul 9, 2025

⚠️ Also remember that tanks are not visualized per default. In TiGL viewer, you need to select them via Draw > Aircraft > Draw any Component.

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.

visualize tank geometry in tigl, apply fuselage methods for it
5 participants