Parallel fluid flow control and optimisation with lattice Boltzmann methods and automatic differentiation
A framework to solve fluid flow control and optimisation problems numerically is presented. Problems are formulated on a mesoscopic basis. In a side condition, the dynamics of a Newtonian fluid is described by a family of lattice Boltzmann equations, which are linked to an incompressible Navier-Stokes equation. It is proposed to solve the non-linear optimisation problem by a line search algorithm. The needed derivatives are obtained by adapting a forward-mode automatic differentiation technique for parallel lattice Boltzmann equations. Emphasis is placed to obtain a realisation which is highly generic but also efficient in the sense of a scalable parallelisation. This is managed by taking advantage of polymorphism realised by an operator overloading approach. The realisation of the approach is also illustrated in this article by means of an example: the implementation for the open source library OpenLB(1) which enables the simulation of a great variety of 2D and 3D fluid flows by lattice Boltzmann methods. Numerical and performance results are presented for a series of steady-state distributed control problems with up to 1.029 unknown control parameters obtained on a high performance computer with up to 128 processing units. The obtained results are presented and discussed. (C) 2012 Elsevier Ltd. All rights reserved.
fluid flow control and optimisation lattice boltzmann methods automatic differentiation parallelisation computational fluid dynamics algorithmic differentiation