General

General

The computed value of my adjoint observable for the adjoint solver is different from the value computed by a standard Fluent report definition for the same quantity. What could be the reason for this?

    • FAQFAQ
      Participant

      One reason why you see a considerable difference between the adjoint observable and the standard Fluent report definition for the same quantity, e.g., for the total pressure loss from inlet to outlet, can be that you use different solution methods for the adjoint solver than for the flow solution. To check this, you can open the Adjoint Solution Methods Dialog Box (Design -> Adjoint-Based -> Methods) which shows you a side-by-side comparison of the schemes used for the flow solver and the adjoint solver. Using the same scheme for the adjoint solution and the flow solution yields the most accurate discrete derivative calculation when the adjoint solution is converged and also give the closest agreement between the adjoint observable and the standard Fluent report definition. Slight deviations can still occur because the evaluation of the observable/report definitions in the flow and adjoint solver is not fully identical. Not all schemes used for the flow solver are supported for the adjoint flow solver. Clicking on “Best Match” will give you the closest agreement of the flow solver and adjoint solver schemes. If you need to use alternate schemes on the adjoint side, or if you want to use lower-order schemes for the adjoint solver for stability reasons, you might see a difference between the adjoint observable and the standard Fluent report definition. For some cases (depending on the type of observable/report definition), this difference can be considerable. However, this does not typically lead to severe deterioration of the adjoint results quality. Another reason for a difference between the adjoint observable and the report value could be that you use models, material properties, or boundary conditions which are not supported by the adjoint solver. For many of these cases, the adjoint solver will display a warning message but run nevertheless. However, the adjoint observable and the report values can differ considerably. Again, this is no clear indicator for the adjoint results quality. Often, the results can still be used for a successful optimization, even though not all applied models are supported by the adjoint solver – this must be judged on a by-case basis.