Optimization Methods and Software
Vol. 20, No. 6, December 2005, 645–663
A-revolve: an adaptive memory-reduced procedure for
calculating adjoints; with an application to computing
adjoints of the instationary Navier–Stokes system
MICHAEL HINZE*† and JULIA STERNBERG‡
†Institut für Numerische Mathematik and ‡Institut für Wissenschaftliches Rechnen,
Technische Universität Dresden, D-01069 Dresden, Germany
(Received 12 February 2003; revised 1 December 2003; in final form 20 February 2004)
This article presents a low-storage and low-run-time approach for calculating numerical approxima-
tions of adjoint equations for the instationary Navier–Stokes equations with adaptive evaluation of
the discretization step. It utilizes adaptive checkpointing. The amounts of memory reduction due to
checkpointing and of the increase in run-time caused by repeated forward integration of the Navier–
Stokes equations are reported. It is one result that memory reduction of two orders of magnitude only
causes a slow down factor of 2–3 in run-time. It is a further result that the adaptive checkpointing for
the instationary Navier–Stokes equations causes only a slight increase of the run-time compared to
the static optimal checkpointing. The amounts of run-time increase caused by the adaptive checkpoint
allocations compared with the static optimal checkpointing are reported as well.
Keywords: Optimal control; Navier–Stokes system; Adaptive checkpointing
1. Introduction
Adjoints are the most important tool for computing sensitivities in control problems for the
time-dependent Navier–Stokes equations, in particular when the number of control variables
is large and thus forbids approaches based on finite difference methods. To illustrate the role
of adjoints for calculating sensitivities let us consider the following abstract optimal control
problem: find an optimal control u
∗
∈ U that minimizes the functional
ˆ
J (u) := J (y(u), u) = J
1
(y) + J
2
(u), (1)
where y ∈ Y and u are related through the equality constraints
G(y, u) = G
1
(y) − Bu = 0. (2)
Here we assume that J = J
1
(y) + J
2
(u): Y × U → R and G: Y × U → Z
∗
are sufficiently
smooth mappings, B denotes the linear, bounded control operator and (U,(·, ·)
U
), (Y, (·, ·)
Y
)
*Corresponding author. Email: hinze@math.tu-dresden.de
Optimization Methods and Software
ISSN 1055-6788 print/ISSN 1029-4937 online © 2005 Taylor & Francis
http://www.tandf.co.uk/journals
DOI: 10.1080/10556780410001684158