Skip to content

Automatic differentiation of OpenFOAM source code in forward and reverse modes

License

Notifications You must be signed in to change notification settings

DAFoam/OpenFOAM-v1812-AD

Repository files navigation

OpenFOAM-v1812-AD

Regression Test

This repository contains the OpenFOAM-v1812 source codes differentiated by automatic differentiation (AD) in forward and reverse modes.

Installation

The installation of OpenFOAM-v1812-AD is similar to that of OpenFOAM-v1812. One needs to first install all prerequisites, source the OpenFOAM-v1812-AD/etc/bashrc file, and then run ./Allwmake.

The default build will be for forward mode AD. To compile reverse mode AD, change WM_CODI_AD_MODE to CODI_AD_REVERSE in OpenFOAM-v1812-AD/etc/bashrc, source it, and rebuild.

NOTE: OpenFOAM-v1812-AD only differentiates necessary libraries for computing partial derivatives and matrix-vector products for DAFoam, it has NOT differentiated the entire OpenFOAM code yet. In other words, some functionalities are still missing (e.g. combustion models).

Acknowledgement

OpenFOAM-v1812-AD uses the AD tools CoDiPack and MeDiPack, developed by Dr. Nicolas Gauger's group at TU Kaiserslautern. In addition, the differentiation is inspired by discreteAdjointOpenFOAM, developed by Dr. Markus Towara et al. from RWTH Aachen University.

License

Copyright 2020 iDesign Lab, Aerospace Engineering Department, Iowa State University.

Distributed using the GNU General Public License (GPL), version 3; see the COPYING file for details.