Added functionality for smoothing the sensitivity derivatives
Summary
Adjoint-based sensitivity maps can now be optionally smoothed using a Laplace-Beltrami operator.
When computing sensitivity maps on surface meshes generated from industrial geometries, the outcome might appear noisy, especially if a volume-to-surface approach is used for meshing, like the one utilised by snappyHexMesh. Even though the sensitivity map is technically correct, the noisy patterns that appear might make the extraction of useful information challenging. This new feature facilitates the interpretation of the sensitivity map in such cases.
Details of new models
The sensitivity map can be smoothed using a Laplace-Beltrami operator of the form
where
The above-mentioned equation is solved on the part of the surface mesh defined by the patches on which the sensitivity map is computed, using the finiteArea infrastructure of OpenFOAM.
If an faMesh is provided, it will be used; otherwise it will be created on the fly based on either an faMeshDefinition dictionary in system or one constructed internally based on the sensitivity patches.
From an optimisation point of view, this smoothing can alternatively be seen as computing the sensitivity derivatives
where
Examples
An example of a noisy sensitivity map and its smoothed variants using different
$FOAM_TUTORIALS/incompressible/adjointOptimisationFoam/sensitivityMaps/motorBike,
Risks
No risks are foreseen. To enable the smoothing, the smoothSensitivities
bool should be set to true
, along with some optional entries.
sensitivities
{
type surfacePoints;
patches (motorBikeGroup);
includeSurfaceArea false;
smoothSensitivities true;
meanRadiusMultiplier 10; // Optional, defaults to 10. Controls the smoothing radius
iters 2000; // Optional, defaults to 500
}
Since the Laplace-Beltrami equation is solved using the finiteArea framework, faSchemes
and faSolution
should be present under system
.
The smoothed sensitivity map is written in the smoothedSurfaceSens + adjointSolverName + sensitivityFormulation
file, under the current time-step.
References
The notion of sensitivity smoothing using a Laplace-Beltrami operator was used throught the seminal works of Antony Jameson. A reference can be found in
Vassberg J. C., Jameson A. (2006). Aerodynamic Shape Optimization Part I: Theoretical Background. VKI Lecture Series, Introduction to Optimization and Multidisciplinary Design, Brussels, Belgium, 8 March, 2006.