hp1D::LevelRiesz Class Referenceabstract
This class creates a linearform corresponding to the integral: More...
#include <levelRiesz.hh>
Public Member Functions | |
LevelRiesz (const concepts::Space< Real > &space2D, const concepts::ElementFormulaContainer< Real > &levelFunction, const concepts::ElementFormulaContainer< Real2d > &levelFunctionGrad, const concepts::ElementFormulaContainer< Real > &observable) | |
Constructor The level function $\psi$ and it's gradient are defined on a 2D space. More... | |
virtual void | operator() (const concepts::Element< Real > &elm, concepts::ElementMatrix< Real > &em) const |
This method loops over all elements of the 2D space and cells levelRieszElement on each one of them. More... | |
virtual void | operator() (const Element< typename Realtype< concepts::Real >::type > &elm, ElementMatrix< concepts::Real > &em) const=0 |
Computes the element contribution to the function. More... | |
~LevelRiesz () | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Private Attributes | |
const concepts::ElementFormulaContainer< Real > | levelFunction_ |
const concepts::ElementFormulaContainer< Real2d > | levelFunctionGrad_ |
const concepts::ElementFormulaContainer< Real > | observable_ |
const concepts::Space< Real > & | space2D_ |
Detailed Description
This class creates a linearform corresponding to the integral:
,
where $\psi$ is a given 2D-function (must take values between 0 and 1 !) and f the function to be integrated.
These integrals, called geometric coefficients, are computed for all y in [0,1] via a Galerkin-projection on a polynomial space.
As polynomials spaces one can choose the space of orthonormal Legendre-polynomials (hp1D::hpAdaptiveSpaceL2) or the space of Karniadakis-polynomials (hp1D::Space).
Definition at line 34 of file levelRiesz.hh.
Constructor & Destructor Documentation
◆ LevelRiesz()
hp1D::LevelRiesz::LevelRiesz | ( | const concepts::Space< Real > & | space2D, |
const concepts::ElementFormulaContainer< Real > & | levelFunction, | ||
const concepts::ElementFormulaContainer< Real2d > & | levelFunctionGrad, | ||
const concepts::ElementFormulaContainer< Real > & | observable | ||
) |
Constructor The level function $\psi$ and it's gradient are defined on a 2D space.
$\psi$ must take values in [0,1]. The observable corresponds to the integrand.
- Parameters
-
space2D 2D domain, on which level function is given levelFunction levelset function. must take values in [0,1] levelFunctionGrad gradient of levelset function observable integrand over level sets of levelFunction
◆ ~LevelRiesz()
|
inline |
Definition at line 52 of file levelRiesz.hh.
Member Function Documentation
◆ info()
|
protectedvirtual |
Reimplemented from concepts::LinearForm< concepts::Real >.
◆ operator()() [1/2]
|
virtual |
This method loops over all elements of the 2D space and cells levelRieszElement on each one of them.
These local contributions are added together to get the overall value.
◆ operator()() [2/2]
|
pure virtualinherited |
Computes the element contribution to the function.
- Parameters
-
elm Element on which the computations should be performed em The local matrix
Member Data Documentation
◆ levelFunction_
|
private |
Definition at line 69 of file levelRiesz.hh.
◆ levelFunctionGrad_
|
private |
Definition at line 70 of file levelRiesz.hh.
◆ observable_
|
private |
Definition at line 71 of file levelRiesz.hh.
◆ space2D_
|
private |
Definition at line 68 of file levelRiesz.hh.
The documentation for this class was generated from the following file:
- levelSets/levelRiesz.hh