Hilbert namespace
Module which provides models and tools for the Hilbertian extension-regularization procedure.
The Hilbert module implements -based extension-regularization operators used in shape and topology optimization. The primary class H1a solves the regularized extension problem:
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::.
Classes
-
template<class Solution, class FES>class H1a
- Hilbertian extension-regularization procedure with a regularization length-scale parameter.