**Note:**We recommend going through the tutorial in Get started before running this case.

The following is a heat transfer optimization case for the von Karman U bend channel, representative of a internal cooling section in turbines.

Case: Heat transfer optimization for U bend cooling channels Geometry: von Karman U bend channel Objective function: Combined wall heat flux and total pressure loss Design variables: 114 FFD points moving in the x, y, and z directions Constraints: Symmetry constraint (total number: 38) Mach number: 0.02 Reynolds number: 4.2e4 Mesh cells: 4.8 K Solver: DASimpleTFoam

Fig. 1. Mesh and FFD points for the U bend channel case

In this case, we set up a combined objective function of wall heat flux and total pressure loss. This is done by setting three parts for the objFunc. part1 and part2 are the total pressure at the inlet and outlet, respectively. part3 is the wall heat flux. The weights between the heat flux and total pressure loss is 0.5.

"objFunc": { "obj": { "part1": { "type": "totalPressure", "source": "patchToFace", "patches": ["inlet"], "scale": 1.0 / CPL0 * CPL_weight, "addToAdjoint": True, }, "part2": { "type": "totalPressure", "source": "patchToFace", "patches": ["outlet"], "scale": -1.0 / CPL0 * CPL_weight, "addToAdjoint": True, }, "part3": { "type": "wallHeatFlux", "source": "patchToFace", "patches": ["ubendup"], "scale": 1.0 / HFL0 * HFL_weight, "addToAdjoint": True, } }, },

To run this case, first download tutorials and untar it. Then go to tutorials-main/UBend_Channel and run the “preProcessing.sh” script to generate the mesh:

./preProcessing.sh

Then, use the following command to run the optimization with 4 CPU cores:

mpirun -np 4 python runScript.py 2>&1 | tee logOpt.txt

This case ran for 18 iterations. The heat flux remained the same while the total pressure loss reduced by 53.4%.

Fig. 2. Evolution of wall heat flux and velocity during the optimization