Update: June 1, 2017

$FOAM_TUTORIALS/incompressible/adjointShapeOptimizationFoam/pitzDaily

With the adjoint method, we optimize the channel geometry of the backstep flow so that the pressure drop is minimized. Adjoint variables Ua and pa are required for flow velocity and pressure, and boundary conditions for these variables are provided in the 0 directory. In the calculation, a value α is calculated to represent the obstructions blocking the flow (this value is called blockage, porosity, etc.).

The fluid flows in through the region inlet at a velocity of (10, 0, 0) m/s and out from the region outlet. The walls of the channel are set to a no-slip condition, and the problem is solved in 2 dimensions with a single mesh in the Z direction. The standard k-ε model is used as the turbulence model.

Prepared initial geometry

The meshes are as follows.

Meshes

To visualize the calculated alpha value, check the "alpha" in the "Properties" tab in ParaView. Note that there is no data at time 0, so the checkbox will not be displayed.

Check "alpha"

The calculation result is as follows.

障害物を表す値 α の分布

The shape with the area of high α value (the area shown in red) removed is a channel shape that minimizes the pressure drop.

cp -r $FOAM_TUTORIALS/incompressible/adjointShapeOptimizationFoam/pitzDaily pitzDaily

cd pitzDaily

blockMesh

adjointShapeOptimizationFoam

paraFoam

cd pitzDaily

blockMesh

adjointShapeOptimizationFoam

paraFoam

60.4 seconds *Single, Inter(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40GHz

- "Implementation of a Continuous Adjoint for Topology Optimization of Ducted Flows", C. Othmer, E. de Villiers, H.G. Weller, 2007AIAA-2007-3947.
- 形状最適化機能 adjointShapeOptimizationFoamの チュートリアルを調べてみた＋その他話題提供（PDF, Japanese）