#include <moments.hh>

Inheritance diagram for hp2D::ApproxMoments< F >:
concepts::OutputOperator

Public Types

typedef concepts::ElementAndFacette< hp2D::Element< F > > UnderlyingElement
 

Public Member Functions

void addComplete ()
 Heart of this class. More...
 
void addDirichlet (concepts::Set< uint > &set)
 Add homogeneous dirichlet data since integration rountines later need that information. More...
 
void addDirichlet (uint attrb)
 Add homogeneous dirichlet data since integration rountines later need that information. More...
 
void addNeumann (concepts::ParsedFormula< F > &frm, concepts::Set< uint > &set)
 Add Neumann data since integration rountines later need that information. More...
 
void addNeumann (concepts::ParsedFormula< F > &frm, uint attrib)
 Add Neumann data since integration rountines later need that information. More...
 
 ApproxMoments (const concepts::SpaceOnCells< F > &spc, const concepts::Vector< F > &sol)
 
Real getWeight (uint quadKey, uint edgeKey) const
 
const concepts::ElementMatrix< F > & operator() (uint edgeKey) const
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Private Member Functions

void computeID_ ()
 
void computeN_ ()
 

Private Attributes

concepts::Set< uint > dAttrbs_
 
concepts::Sequence< concepts::ParsedFormula< F > > frms_
 
concepts::HashMap< concepts::ElementMatrix< F > > hashM_
 
concepts::Sequence< concepts::Set< uint > > nAttrbs_
 
const concepts::Vector< F > & sol_
 
const concepts::SpaceOnCells< Real > & spc_
 
concepts::HashMap< concepts::Sequence< UnderlyingElement > > uelm_
 

Friends

template<class >
class EquilibratedMomentsAO
 

Detailed Description

template<typename F = concepts::Real>
class hp2D::ApproxMoments< F >

Definition at line 48 of file moments.hh.

Member Typedef Documentation

◆ UnderlyingElement

template<typename F = concepts::Real>
typedef concepts::ElementAndFacette<hp2D::Element<F> > hp2D::ApproxMoments< F >::UnderlyingElement

Definition at line 54 of file moments.hh.

Constructor & Destructor Documentation

◆ ApproxMoments()

template<typename F = concepts::Real>
hp2D::ApproxMoments< F >::ApproxMoments ( const concepts::SpaceOnCells< F > &  spc,
const concepts::Vector< F > &  sol 
)

Member Function Documentation

◆ addComplete()

template<typename F = concepts::Real>
void hp2D::ApproxMoments< F >::addComplete ( )

Heart of this class.

This does the computations for the approximated moments. Used after adding all Formulas with add routines.

◆ addDirichlet() [1/2]

template<typename F = concepts::Real>
void hp2D::ApproxMoments< F >::addDirichlet ( concepts::Set< uint > &  set)
inline

Add homogeneous dirichlet data since integration rountines later need that information.

Parameters
setA set holding all keys of edges on which the homogeneous dirichlet data is defined.

Definition at line 84 of file moments.hh.

◆ addDirichlet() [2/2]

template<typename F = concepts::Real>
void hp2D::ApproxMoments< F >::addDirichlet ( uint  attrb)
inline

Add homogeneous dirichlet data since integration rountines later need that information.

Parameters
attrbAttribute holding the key of edges on which the homogeneous dirichlet data is defined.

Definition at line 92 of file moments.hh.

◆ addNeumann() [1/2]

template<typename F = concepts::Real>
void hp2D::ApproxMoments< F >::addNeumann ( concepts::ParsedFormula< F > &  frm,
concepts::Set< uint > &  set 
)
inline

Add Neumann data since integration rountines later need that information.

Parameters
frmNeumann data.
setA set holding all keys of edges on which the neumann data is defined.

Definition at line 64 of file moments.hh.

◆ addNeumann() [2/2]

template<typename F = concepts::Real>
void hp2D::ApproxMoments< F >::addNeumann ( concepts::ParsedFormula< F > &  frm,
uint  attrib 
)
inline

Add Neumann data since integration rountines later need that information.

Parameters
frmNeumann data.
attribAttrib holding the key of edges on which the neumann data is defined.

Definition at line 75 of file moments.hh.

◆ computeID_()

template<typename F = concepts::Real>
void hp2D::ApproxMoments< F >::computeID_ ( )
private

◆ computeN_()

template<typename F = concepts::Real>
void hp2D::ApproxMoments< F >::computeN_ ( )
private

◆ getWeight()

template<typename F = concepts::Real>
Real hp2D::ApproxMoments< F >::getWeight ( uint  quadKey,
uint  edgeKey 
) const
inline

Definition at line 114 of file moments.hh.

◆ info()

template<typename F = concepts::Real>
virtual std::ostream& hp2D::ApproxMoments< F >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ operator()()

template<typename F = concepts::Real>
const concepts::ElementMatrix<F>& hp2D::ApproxMoments< F >::operator() ( uint  edgeKey) const
inline

Definition at line 105 of file moments.hh.

Friends And Related Function Documentation

◆ EquilibratedMomentsAO

template<typename F = concepts::Real>
template<class >
friend class EquilibratedMomentsAO
friend

Definition at line 51 of file moments.hh.

Member Data Documentation

◆ dAttrbs_

template<typename F = concepts::Real>
concepts::Set<uint> hp2D::ApproxMoments< F >::dAttrbs_
private

Definition at line 164 of file moments.hh.

◆ frms_

template<typename F = concepts::Real>
concepts::Sequence<concepts::ParsedFormula<F> > hp2D::ApproxMoments< F >::frms_
private

Definition at line 160 of file moments.hh.

◆ hashM_

template<typename F = concepts::Real>
concepts::HashMap<concepts::ElementMatrix<F> > hp2D::ApproxMoments< F >::hashM_
private

Definition at line 143 of file moments.hh.

◆ nAttrbs_

template<typename F = concepts::Real>
concepts::Sequence<concepts::Set<uint> > hp2D::ApproxMoments< F >::nAttrbs_
private

Definition at line 162 of file moments.hh.

◆ sol_

template<typename F = concepts::Real>
const concepts::Vector<F>& hp2D::ApproxMoments< F >::sol_
private

Definition at line 146 of file moments.hh.

◆ spc_

template<typename F = concepts::Real>
const concepts::SpaceOnCells<Real>& hp2D::ApproxMoments< F >::spc_
private

Definition at line 140 of file moments.hh.

◆ uelm_

template<typename F = concepts::Real>
concepts::HashMap<concepts::Sequence<UnderlyingElement> > hp2D::ApproxMoments< F >::uelm_
private

Definition at line 151 of file moments.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