v1.1.0 - update Adjoint and new API
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
toFluid
andBoundary
toBody
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)