Time-dependent optimal control of Stokes flow¶
Section author: Marie E. Rognes <meg@simula.no>, Steven Vandekerckhove <Steven.Vandekerckhove@kuleuven.be>
Problem definition¶
The problem is to minimise the following tracking-type functional
subject to the time-dependent Stokes equation
In particular, we aim to
Discretization¶
Using the implicit Euler discretization in time with timestep \(\Delta t\), the time-discretized differential equation reads: for a given \(u^n\), for each time step \(n\), find \((y^n, p^n)\) such that
Let \(V\) be the space of continuous piecewise quadratic vector fields that vanish on the boundary \(\partial \Omega\). Let \(Q\) be the space of continuous piecewise linear vector functions that have average value zero. Multiplying by test functions \(\phi \in V\) and \(q \in Q\), integrating by parts over \(\Omega\), the problem reads: find \(y_h^{n} \in V\) and \(p_h^{n} \in Q\) such that
hold for all \(\phi \in V\) and \(q \in Q\). Note that we here have multiplied the last equation by \(\Delta t\) for the sake of symmetry: this can be advantageous for the solution of resulting linear system of equations.
Implementation¶
We start our implementation by importing the dolfin
and dolfin_adjoint
modules:
from dolfin import *
from dolfin_adjoint import *