Skip to content

v1.1.0 - update Adjoint and new API

Adrien Crovato requested to merge adri into master

v1.1.0 - update Adjoint and new API

This MR corrects and cleans the adjoint solver, and provides a new common API (e.g. for CUPyDO, MPHYS, etc.)

Changes

  • Update Adjoint solver
  • Add common API
  • Minor cleaning

Notes

Adjoint
The adjoint solver (dart::Adjoint) has been patched to correct a mistake that assembled the wrong sensitivites on the trailing edge and the wake. Additionally, new methods have been added so that openMDAO can be used. The methods dedicated to the computation of the sensitivities in the case of a pure aerodynamic calculation are also called and tested by the main run() method. The solver has also been dully documented.

API
A new common core API has been added. This API is used to initialize the different objects required to run DART and is used by the other APIs/interfaces for external software. Finally, the dart/scripts folder has been replaced by api/internal, and its classes have been refactored to use the core API.

Cleaning

  • added documentation where needed
  • changed verbosity level to reduce clutter during multi-run computations (e.g. multi-physics, optimization, etc.)
  • removed unnecessary wrapped classes and setters (%immutable)
  • added a reset state to the solver, allowing to reset the vector of unknowns using the IC and BCs
  • renamed Medium to Fluid and Boundary to Body

Tests

  • ubuntu20.04 (gcc 9, python 3.8.2)
  • windows10 (vs 2017, python 3.7.6), by @R.Boman
  • msys2 (gcc 9, python 3.8.1)
Edited by Adrien Crovato

Merge request reports