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
Prerequisites
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
./Allprepare
poissonAdjointFoam
The poissonAdjointFoam solver has been tested in a square domain with zero Dirichlet boundary conditions and . The target function is .
Warning
It might be needed to use
sed -i -e 's/\r$//' filename
and
in order to be able to execute
References
- F. Tröltzsch. Optimal control of partial differential equations: theory, methods, and applications. American Mathematical Soc., 2010.