Skip to content

ENH: updates in the adjoint library

Vaggelis Papoutsis requested to merge adjoint-update-pre2412 into develop

Some quality-of-life changes in the adjoint library

  • The initial values of the design variables in topology optimisation can now be read through the 0/alpha field, which can be easily set using topoSet/setFields. Previously, this was only possible through 0/uniform/topOVars, which is harder to manipulate.

Tutorial: $FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/topologyOptimisation/monoFluidAero/laminar/1_Inlet_2_Outlet/porosityBased/R_10x-init

  • The multiplier of the term added to the mathematical optimisation problem of ISQP and MMA to guarantee feasibility (named 'c') can now be given by a Function1, to allow its manipulation throughout the optimisation loop. A typical example would be setting it to a small value in the first few optimisation cycles, to focus on optimality rather than feasibility, and gradually increase it.

  • Added the option to disable damping of the approximate Hessian in ISQP. In the general case, this is to be avoided but can accelerate the algorithm in some fringe cases.

Merge request reports