Work Packages Optimal Control in OpenFOAM

Interior Control of the Poisson Equation with the Steepest Descent Method in OpenFOAM

Authors: - 29 June 2018

Download Code

In this work we solve the optimal control problem

where is the control variable, the state variable and a target function. The minimization problem is subject to the elliptic partial differential equation

We use the steepest descent method based on the adjoint methodology. The corresponding adjoint system writes as

The directional derivative of the cost function is given by

and the control variable is updated according to

for some value of .

Getting Started

The solver must be compiled in the terminal. It is advisable to first clean previous compilations with


and then use



OpenFOAM C++ library must be installed in order to compile the code.

The OpenFOAM distribution provided by the OpenFOAM Foundation was used.

Running a Case

In order to run the solver move to the case folder poissonAdjoinFoamCase and type in the command line



The poissonAdjointFoam solver has been tested in a square domain with zero Dirichlet boundary conditions and . The target function is .


It might be needed to use

sed -i -e 's/\r$//' filename


chmod +x filename

in order to be able to execute



  • F. Tröltzsch. Optimal control of partial differential equations: theory, methods, and applications. American Mathematical Soc., 2010.