Running the Adjoint Solver

The adjoint solver solves the linear system of equations for the flow and the solid energy adjoint. In a multi-objective optimization, you have the possibility to solve these linear system for one active or one set of active cost functions.

The adjoint equations are solved by means of an iterative defect-correction algorithm (see Eqn. (5085)). To enhance convergence, two GMRES solution drivers are available.

After you have activated the adjoint flow model and/or the adjoint solid energy model and set up the adjoint cost functions, you can run the adjoint solver. The adjoint solver is started and controlled separately from the coupled flow and the coupled solid energy solvers. To run the primal and adjoint solver in a combined workflow, you can optionally drive the simulation steps through a simulation operation sequence. Refer to the example Adjoint Shape Optimization for more details.

To run the adjoint solver:

  1. Select the Solvers > Adjoint node and set the Adjoint Solver Reference.
On creation, a cost function is set to active. To run the adjoint solver for all active cost functions:
  1. Right-click Solvers > Adjoint node and select Run.
The solver runs in sequence for all active cost functions in the order they appear on the Adjoint Cost Functions node in the simulation tree. If you want to solve only a set of cost functions, you first deactivate cost functions which should not be solved. Afterwards invoke the adjoint solver as described in the previous step.
  1. Select the Solvers > Adjoint > Adjoint Cost Functions > [Cost Functions] node and disable Active.
To run the adjoint solver for a single cost function:
  1. Right-click the Solvers > Adjoint > Adjoint Cost Functions > [Cost Functions] node and select Run.
The monitor associated with each cost function residual drop is added to the residual plot, registered with the name [cost function]::Residual. This residual is a single quantity defined as the drop of the L 2 norm of the adjoint linear system.