Skip to content
  • Vaggelis Papoutsis's avatar
    ENH: overhaul of the adjoint optimisation library · b6a30fae
    Vaggelis Papoutsis authored and Andrew Heather's avatar Andrew Heather committed
    Parts of the adjoint optimisation library were re-designed to generalise
    the way sensitivity derivatives (SDs) are computed and to allow easier
    extension to primal problems other than the ones governed by
    incompressible flows. In specific:
    - the adjoint solver now holds virtual functions returning the part of
      SDs that depends only on the primal and the adjoint fields.
    - a new class named designVariables was introduced which, apart from
      defining the design variables of the optimisation problem and
      providing hooks for updating them in an optimisation loop, provides
      the part of the SDs that affects directly the flow residuals (e.g.
      geometric variations in shape optimisation, derivatives of source
      terms in topology optimisation, etc). The final assembly of the SDs
      happens here, with the updated sensitivity class acting as an
      intermediate.
    
    With the new structure, when the primal problem changes (for instance,
    passive scalars are included), the ...
    b6a30fae