Home

_images/DPW6_Transparent.png

Test: Discrete Adjoint with OpenFoam

Test contains a suite of discrete adjoint solvers for OpenFOAM. These adjoint solvers run as standalone executives to compute derivatives. Test also has a Python interface that allows the adjoint solvers to interact with external modules for high-fidelity design optimization. Test has the following features:

  • It implements an efficient discrete adjoint approach with competitive speed, scalability, accuracy, and compatibility.
  • It allows rapid discrete adjoint development for any steady-state OpenFOAM solvers with modifying only O(100) lines of source codes.
  • It supports design optimizations for a wide range of disciplines such as aerodynamics, heat transfer, structures, hydrodynamics, and radiation.

The Test repository comprises of five main directories:

  • applications: adjoint solvers and utilities
  • doc: documentation
  • python: python interface to other optimization packages
  • src: the core Test libraries
  • tutorials: sample optimization setup for each adjoint solver

Contents:

Installation

Test runs on Linux systems and is based on OpenFOAM-v1812. You must install OpenFOAM and verify that it is working correctly. You also need to install the 3rd party and MDOLab packages before using Test for optimization. Other dependencies include:

  • C/C++ compilers (gcc/g++ or icc/icpc)
  • Fortran compiler (gfortran or ifort)
  • MPI software (openmpi, mvapich2, or impi)
  • Swig
  • cmake

To compile the documentation, you also need:

Tutorials

simpleFoam

OK this is simpleFoam

rhoSimpleFoam

OK this is rhoSimpleFoam