Replies: 1 comment 2 replies
-
|
@lattaud, thanks for opening an issue and starting a discussion! AFAIK, most TiGL users manipulate low level CPACS parameters and the high-level parameters are still not widely used, so I am sure there is a lot of room for improvement. The high-level parameters were just recently merged into the main branch of TiGL in September 2025. I am open to refining the way that some of the high level parameters are defined (see here) and adding additional functionality for more fine-grained control, as you mentioned. If you don't mind, I would like to convert this issue to a discussion, and then we can create small issues (reproducible bug reports or feature requests) of off it. Note however, that we unfortunately have very limited capacity to implement and refactor this right now and we are really dependent on community contributions. Your observed issuesIt would be very helpful, if you could provide a minimal reproducible example for every observed issue, as you have done for the Difficulties at section levelI am not 100% sure if this makes sense, but one possibility could be to move some of the high-level parameter implementations in the
No, not really. I agree, this would be a useful addition to TiGL.
I am also open to introducing high-level parameters that allow to set the sweep while keeping the trailing edge geometry fixed. I am not sure how we would keep the trailing edge geometry fixed when manipulating dihedral and span exactly, or at least we would need to define more properly what we mean by trailing edge geometry. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I am currently using the TiGL Python API to parametrically modify wing geometries defined in CPACS.
I would like to report some difficulties I am encountering with the use of high-level wing parameters such as sweep angle and dihedral angle, especially in the case of multi-section wings.
Please note that I am not an expert user of TiGL or CPACS, so it is possible that I am misunderstanding the intended behavior. However, after several attempts, I observed some geometric effects that were not expected from a user perspective.
Context
Using an already existing CPACS definition, my goal is to modify on the fly the overall sweep and dihedral angles of the wings.
set_sweep()andset_dihedral()work as expected.Observed issues
When using the
set_sweep()andset_dihedral()high-level methods on multi-section wings, each call seems to deeply alter the geometry:Span elongation
The wing span increases after each call to
set_sweep()orset_dihedral().Aspect ratio not preserved
Since the span and surface are modified, the wing aspect ratio changes as well.
Trailing edge angle not preserved
The initial trailing edge alignment is not respected after applying sweep or dihedral, even when reapplying the original values.
Illustration
Original wing geometry
Even though the same sweep angle is applied, the geometry is significantly modified.
Difficulties at section level
From a non-expert user perspective, it is not straightforward to control the geometry at the section level.
Initially, I expected it would be possible to:
However, using the high-level API, these constraints seem difficult to enforce even using method such as
set_arkeep_span()orset_area_keep_span().Questions / discussion points
Is the observed behavior the intended design of set_sweep() and set_dihedral()?
Are there recommended workflows to:
preserve span and aspect ratio when changing sweep?
keep trailing edge geometry fixed on multi-section wings?
Is direct CPACS section manipulation the preferred approach for such constrained geometric modifications?
Would it make sense to expose lower-level or alternative parametrizations (e.g. leading-edge sweep instead of reference-line sweep)?
These effects make it difficult to use sweep and dihedral as independent design variables in parametric studies or optimization workflows, especially when geometric constraints (surface, aspect ratio, trailing edge alignment) are important.
I hope this feedback can help clarify the intended usage or potentially inspire improvements in documentation or API design.
Thank you for your work on TiGL, and apologies in advance if this behavior is already well understood or documented elsewhere.
Best regards,
Beta Was this translation helpful? Give feedback.
All reactions