Towards TiGL 3.1

TiGL 3.1 is approaching with CPACS 3.1 compatibilty and three new major features. These are...

1. Reintroducing trailing edge devices from TiGL 2

TiGL 2 users already know the support for trailing and leading edge devides. We finally backported the code from TiGL 2 into our new code base, which will part of the TiGL 3.1 release.

At this point, only trailing edge devides are supported yet. Allthough leading edge devices are very similar modeling-wise, we still need to perform some refactoring of the CPACS abstraction layer to reuse the same code for the different CPACS nodes.

In TiGL Viewer, the flaps can be moved using the sliders in the control surface dialog as depicted in the next image:

2. Generic fusleage walls

Together with Airbus Defense and Space and the DLR institute of System Architectures in Aeronautics we developed the "generic walls" feature. This enables modeling a whole range of walls inside the fuselage. Particularly useful is the possibilty to trim walls with other walls. This way, many different geoemtries can be realized as e.g. compartments, floors, ducts, engine inlets and much more.

The following for images are screenshots from our unit tests, which aleady demonstrate the range of walls and compound walls for the different use cases:

These CPACS models (test_fuselage_walls_ex*.xml) can be downloaded here.

3. CPACS 3.3 preview: fuselage kinks

More unconventional and military aircraft often have sharp kinks on the fuselage. Until now, sharp kinks could not be explicitly modeled into fuselages though, making it very hard to achieve a fuselage that at least resemble the kinks a bit.

TiGL 3.1. will already include a CPACS 3.3 definition that enables the modeling of kinks. The principle is very simple: In addition to the points that are interpolated by a B-spline, another array kinks can be defined, which contains the indices of points that will interpolated with a kink.

A very simple example is the following:

<pointList>
    <x mapType="vector">0.0;0.0;0.0;0.0;0.0</x>
    <y mapType="vector">0.0;1.0;0.0;-1.0;0.0</y>
    <z mapType="vector">1.0;0.0;-1.0;0.0;1.0</z>
    <kinks mapType="vector">1;3</kinks>
</pointList>

Here, the point 1 (0, 1, 0) and point 3 (0, -1, 0) will contain a kinks, resulting in an eye-like shape of this profile.

Combining kinks

When multiple profiles are lofted into a surface or solid it is often desired that the kinks of the profiles are connected, i.e. such that the surface contains one kink that passes through the kinks of the profiles.

Still, this does not happen automatically. The reason is the following: the surface interpolation connects only those profile points that have the same curve parameter. If the kinks do no lie on the same curve parameter, e.g. if the profiles are different, multiple kinks in the surface can be the result, like in the following image.

Now, the surface containts three kinks on each side. Each kink is generated by one profile. This is clearly not what was intended. To fix this, CPACS 3.3 now allows to pin points to a specific curve parameter. All we have to do is to fix the points of the kinks to the same curve parameter by adding a parameterMap node to all profiles as follows:

<pointList>
    <x mapType="vector">...</x>
    <y mapType="vector">...</y>
    <z mapType="vector">...</z>
    <kinks mapType="vector">1;3</kinks>
    <parameterMap>
        <pointIndex mapType="vector">1;3</pointIndex>
        <paramOnCurve mapType="vector">0.25;0.75</paramOnCurve>
    </parameterMap>
</pointList>

This parameter map pins the first kink to curve parameter 0.25 and the other kink (point 3) to curve parameter 0.75. Now, the resulting surface looks as expected.