Research Fellows
Mladen Banovic
Early Stage Researcher 12 at Universität Paderborn
The open-source CAD kernel Open CASCADE Technology (OCCT) v7.0 is differentiated using the AD software tool ADOL-C (Automatic Differentiation by Overloading in C++) developed at the University of Paderborn. It means that for the first time, a fully-developed CAD library has been differentiated. As opposed to finite differences, geometric derivatives are not affected by truncation errors but are exact up to floating point round-off. Moreover, computational efficiency of the method is superior to finite difference approaches.
ADOL-C has been successfully integrated to OCCT, however involving significant amount of code modification. During the differentiation process, a large number of compile-time and run-time errors had to be resolved. Therefore, the original (primal) functionality of OCCT has been validated by its own automated testing system, showing a success rate of 97%. Moreover, correctness of the computed derivatives has been verified against finite differences using the parametric models of two turbo-machinery test-cases: U-bend cooling duct and TU Berlin (TUB) TurboLab stator. Figure below shows representative examples of U-bend and TUB stator surface sensitivities evaluated by AD (left) and FD (right). As noticable, they coincide to a very high extent.
To compute the derivatives, both forward and reverse mode of AD are integrated to OCCT, where the reverse mode of AD dramatically reduces the temporal complexity of the derivative computation. This is successfully demonstrated on U-bend and TUB stator test-cases where one benefits in improved efficiency by approximately 50%.
Enabled with these efficiency gains, the differentiated OCCT has been coupled with a discrete adjoint CFD solver STAMPS developed at the Queen Mary University of London, also produced by algorithmic differentiation. This presents the first example where AD is applied to the whole design chain built from generic, multi-purpose tools. The differentiated design chain has been successfuly applied to gradient-based shape optimization of the U-bend cooling duct and TU Berlin TurboLab stator test-cases to minimize the total pressure loss.
Regarding the U-bend test-case, the optimization with steepest-descent yields a 18% reduction of the total pressure loss, using 170K cells mesh for the CFD simulation. Comparison between baseline (green) and optimal (grey) U-bend geometry is shown below.
Regarding the TUB stator test-case, the optimization with limited-memory BFGS optimizer results in a 7% reduction of the objective function, using a computational grid of 400K nodes for the CFD simulation.
This work was done in a collaboration with ESR 2 - Orest Mykhaskiv (QMUL) and ESR 9 - Salvatore Auriemma (OCC).