hp1D::LevelRieszElement Class Referenceabstract

This class creates a linearform corresponding to the local contribution of one cell to the integral: More...

#include <levelRieszElement.hh>

Inheritance diagram for hp1D::LevelRieszElement:
concepts::LinearForm< concepts::Real >

Public Member Functions

 LevelRieszElement (const hp2D::Element< Real > &elm, const concepts::ElementFormulaContainer< Real > &levelFunction, const concepts::ElementFormulaContainer< Real2d > &levelFunctionGrad, const concepts::ElementFormulaContainer< Real > &observable)
 Constructor. More...
 
void operator() (const concepts::Element< Real > &elm, concepts::ElementMatrix< Real > &em) const
 
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...
 
 ~LevelRieszElement ()
 Destructor. More...
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 

Private Attributes

const hp2D::Element< Real > & elm2D_
 
const concepts::ElementFormulaContainer< Real > levelFunction_
 
const concepts::ElementFormulaContainer< Real2d > levelFunctionGrad_
 
const concepts::ElementFormulaContainer< Real > observable_
 

Detailed Description

This class creates a linearform corresponding to the local contribution of one cell to the integral:

$ \int\limits_{\psi = y} f(x) \mathrm{d}x for 0<y<1 $ ,

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).

Author
Lukas Drescher, 2015, Felix Baumann 2017

Definition at line 34 of file levelRieszElement.hh.

Constructor & Destructor Documentation

◆ LevelRieszElement()

hp1D::LevelRieszElement::LevelRieszElement ( const hp2D::Element< Real > &  elm,
const concepts::ElementFormulaContainer< Real > &  levelFunction,
const concepts::ElementFormulaContainer< Real2d > &  levelFunctionGrad,
const concepts::ElementFormulaContainer< Real > &  observable 
)

Constructor.

Parameters
elma 2D-element
levelFunctionlevelset function. must take values in [0,1]
levelFunctionGradgradient of levelset function
observableintegrand over level sets of levelFunction

◆ ~LevelRieszElement()

hp1D::LevelRieszElement::~LevelRieszElement ( )

Destructor.

Member Function Documentation

◆ info()

virtual std::ostream& hp1D::LevelRieszElement::info ( std::ostream &  os) const
protectedvirtual

◆ operator()() [1/2]

void hp1D::LevelRieszElement::operator() ( const concepts::Element< Real > &  elm,
concepts::ElementMatrix< Real > &  em 
) const

◆ operator()() [2/2]

virtual void concepts::LinearForm< concepts::Real , typename Realtype<concepts::Real >::type >::operator() ( const Element< G > &  elm,
ElementMatrix< F > &  em 
) const
pure virtualinherited

Computes the element contribution to the function.

Parameters
elmElement on which the computations should be performed
emThe local matrix

Member Data Documentation

◆ elm2D_

const hp2D::Element<Real>& hp1D::LevelRieszElement::elm2D_
private

Definition at line 62 of file levelRieszElement.hh.

◆ levelFunction_

const concepts::ElementFormulaContainer<Real> hp1D::LevelRieszElement::levelFunction_
private

Definition at line 63 of file levelRieszElement.hh.

◆ levelFunctionGrad_

const concepts::ElementFormulaContainer<Real2d> hp1D::LevelRieszElement::levelFunctionGrad_
private

Definition at line 64 of file levelRieszElement.hh.

◆ observable_

const concepts::ElementFormulaContainer<Real> hp1D::LevelRieszElement::observable_
private

Definition at line 65 of file levelRieszElement.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich