Optimization of backstep flow channels with Adjoint Method

Update: June 1, 2017
OpenFOAM 4.x

Case directory



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 Prepared initial geometry

The meshes are as follows.

Mesh 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 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



Calculation time

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