DAFoam

DAFoam: An Open-Source Adjoint Framework for Multidisciplinary Design Optimization with OpenFOAM. The adjoint method is an efficient approach for computing derivatives that allow gradient-based optimization to handle systems parameterized with a large number of design variables. Despite this advantage, implementing the adjoint method for a partial-differential-equation-based primal solver is a time-consuming task. To lower the barrier for adjoint implementations, an object-oriented framework (DAFoam) is proposed to rapidly implement the discrete adjoint method for any steady-state OpenFOAM primal solver by adding or modifying only a few hundred lines of source code. In this paper, the DAFoam framework is introduced and the proposed object-oriented adjoint development process is illustrated. Using this strategy, the adjoint method is implemented for eight primal solvers, five turbulence models, and one radiation model in OpenFOAM. Excellent adjoint speed and scalability, with up to 10 million cells and 1536 CPU cores, and an average error in the adjoint derivatives of less than 0.1% are achieved. Finally, the implemented adjoint solvers and models are integrated into a gradient-based optimization framework, and four distinct design optimizations (multipoint aerodynamic optimization of a low-speed unmanned-aerial-vehicle wing, aerodynamic optimization of a transonic aircraft configuration, aerothermal optimization of a turbine internal cooling passage, and aerostructural optimization of a compressor rotor) are shown. DAFoam is available under an open-source license and is a powerful tool for the high-fidelity multidisciplinary design optimization of engineering systems, such as aircraft, ground vehicles, marine vessels, and turbomachinery.