template<class Solution, class FES>
H1a class
Hilbertian extension-regularization procedure with a regularization length-scale parameter.
| Template parameters | |
|---|---|
| Solution | Solution type |
| FES | Finite element space type |
This class implements a Hilbert space extension operator that solves regularized problems of the form:
where is the regularization parameter controlling the length scale of the extension.
Constructors, destructors, conversion operators
Public functions
- auto setAlpha(Real alpha) -> H1a&
- Sets the regularization parameter .
-
template<class Differential>auto operator()(const Differential& lf) const -> auto
- Applies the extension operator to a differential form.
-
auto operator+=(const Variational::
DirichletBCBase<ScalarType>& dbc) -> H1a& - Adds a Dirichlet boundary condition to the problem.
- auto getProblem() -> auto&
- Gets the underlying variational problem.
- auto getProblem() const -> const auto&
- Gets the underlying variational problem.
- auto getTrialFunction() const -> const auto&
- Gets the trial function used in the formulation.
- auto getTestFunction() const -> const auto&
- Gets the test function used in the formulation.
- auto getFiniteElementSpace() const -> const FES&
- Gets the finite element space.
Function documentation
template<class Solution, class FES>
template<class Differential>
auto Rodin:: Hilbert:: H1a<Solution, FES>:: operator()(const Differential& lf) const
Applies the extension operator to a differential form.
| Template parameters | |
|---|---|
| Differential | Type of the differential form |
| Parameters | |
| lf | Linear functional to extend |
| Returns | Solution of the regularized extension problem |
template<class Solution, class FES>
H1a& Rodin:: Hilbert:: H1a<Solution, FES>:: operator+=(const Variational:: DirichletBCBase<ScalarType>& dbc)
Adds a Dirichlet boundary condition to the problem.
| Parameters | |
|---|---|
| dbc | Dirichlet boundary condition to add |
| Returns | Reference to this object for method chaining |
template<class Solution, class FES>
auto& Rodin:: Hilbert:: H1a<Solution, FES>:: getProblem()
Gets the underlying variational problem.
| Returns | Reference to the variational problem |
|---|
template<class Solution, class FES>
const auto& Rodin:: Hilbert:: H1a<Solution, FES>:: getProblem() const
Gets the underlying variational problem.
| Returns | Const reference to the variational problem |
|---|
template<class Solution, class FES>
const auto& Rodin:: Hilbert:: H1a<Solution, FES>:: getTrialFunction() const
Gets the trial function used in the formulation.
| Returns | Const reference to the trial function |
|---|
template<class Solution, class FES>
const auto& Rodin:: Hilbert:: H1a<Solution, FES>:: getTestFunction() const
Gets the test function used in the formulation.
| Returns | Const reference to the test function |
|---|
template<class Solution, class FES>
const FES& Rodin:: Hilbert:: H1a<Solution, FES>:: getFiniteElementSpace() const
Gets the finite element space.
| Returns | Const reference to the finite element space |
|---|