Hilbert module
Hilbert-space formulations and regularization.
H1a solves a regularized extension problem that converts a linear functional into a smooth field over the mesh. It is commonly used to extend boundary shape derivatives into volume descent directions, with a configurable length scale controlling smoothing and boundary conditions constraining the extension.
where is a regularization length-scale parameter that controls the smoothness of the extended field (larger = smoother).
This is used, for example, to extend and regularize a shape derivative (defined only on the boundary) to a smooth descent direction in the full computational domain.
API
| Method | Description |
|---|---|
| H1a(fes) | Constructor: creates the extension operator on a finite element space |
| setAlpha(alpha) | Sets (typically proportional to mesh size ) |
| operator()(lf) | Applies extension to a linear form (differential) |
| operator+=(DirichletBC) | Adds boundary conditions to the extension problem |
| getProblem() | Access the underlying Problem object |
| getTrialFunction() / getTestFunction() | Access trial/test functions |
For vector-valued problems, H1a uses Jacobian() instead of Grad(). The internal solver is Solver::CG.
Classes
-
template<class Solution, class FES>class H1a
- Hilbertian extension-regularization procedure with a regularization length-scale parameter.