Application of this class is to solve local Problems on one Quad. More...

#include <fluxes.hh>

Inheritance diagram for hp2D::Fluxes:
concepts::ElementFormula< Real, Real > concepts::Cloneable concepts::OutputOperator

Public Types

typedef concepts::ElementAndFacette< hp2D::Element< Real > > UnderlyingElement
 
typedef Real value_type
 

Public Member Functions

virtual Fluxesclone () const
 Virtual constructor. More...
 
virtual ElementFormula< Real, Real > * clone () const=0
 Virtual copy constructor. More...
 
void compress (Real eps=EPS)
 
 Fluxes (hp2D::TraceSpace &spc, const EquilibratedMomentsAO< Real > &moments)
 Constructor for the Fluxes, request for a hp2D::TraceSpace The Moments should be Moments not approximated Moments just computes outward ones,. More...
 
const concepts::Vector< Real > & getCoeffs (uint E) const
 
const concepts::LapackCholgetInverseMass (uint m)
 
Real getWeight (uint E, uint K) const
 
Real operator() (const concepts::ElementWithCell< Real > &elm, const concepts::Real p, const Real t=0.0) const
 The elm should be a hp1D::Element of an identical TraceSpace like was given in the constructor. More...
 
Real operator() (const concepts::ElementWithCell< Real > &elm, const concepts::Real2d &p, const Real t=0.0) const
 
Real operator() (const concepts::ElementWithCell< Real > &elm, const concepts::Real3d &p, const Real t=0.0) const
 
virtual Real operator() (const ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual Real operator() (const ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual Real operator() (const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual ~Fluxes ()
 

Protected Member Functions

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

Private Attributes

concepts::HashMap< concepts::Vector< Real > > coeffs_
 The coefficients computed by M_{e}*alpha_K,e = Moments_K,e per each edge. More...
 
uint currElmKey_
 
concepts::HashMap< concepts::LapackChol * > Minv_
 Locally stored Cholesky Decomposition of the Edge-MassMatrices on reference domain. More...
 
const hp2D::TraceSpacetspc_
 local reference to the TraceSpace given in the Constructor. More...
 
concepts::HashMap< concepts::Sequence< UnderlyingElement > > uelm_
 

Detailed Description

Application of this class is to solve local Problems on one Quad.

So a information about a actual Quadkey is used for faster operator() access TODO: Fluxes does not need to be a ElementFormula anymore, this is done by LocalFluxes, reset this

Definition at line 59 of file fluxes.hh.

Member Typedef Documentation

◆ UnderlyingElement

◆ value_type

typedef Real concepts::ElementFormula< Real , Real >::value_type
inherited

Definition at line 37 of file elementFormula.hh.

Constructor & Destructor Documentation

◆ Fluxes()

hp2D::Fluxes::Fluxes ( hp2D::TraceSpace spc,
const EquilibratedMomentsAO< Real > &  moments 
)

Constructor for the Fluxes, request for a hp2D::TraceSpace The Moments should be Moments not approximated Moments just computes outward ones,.

Precondition
the TraceSpace itself is a space of all inner edges for what the moments were computed the TraceSpace is same build on the Mesh as in computing for approximated moments so that the underlying elements of a element are same ordered

non const tracespacee since we iterate over it

◆ ~Fluxes()

virtual hp2D::Fluxes::~Fluxes ( )
inlinevirtual

Definition at line 114 of file fluxes.hh.

Member Function Documentation

◆ clone() [1/2]

virtual Fluxes* hp2D::Fluxes::clone ( ) const
inlinevirtual

Virtual constructor.

Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.

Implements concepts::Cloneable.

Definition at line 122 of file fluxes.hh.

◆ clone() [2/2]

virtual ElementFormula<Real ,Real >* concepts::ElementFormula< Real , Real >::clone
pure virtualinherited

Virtual copy constructor.

Implemented in concepts::ElementFormulaContainer< Real, Real >.

◆ compress()

void hp2D::Fluxes::compress ( Real  eps = EPS)

◆ getCoeffs()

const concepts::Vector<Real>& hp2D::Fluxes::getCoeffs ( uint  E) const
inline

Definition at line 106 of file fluxes.hh.

◆ getInverseMass()

const concepts::LapackChol* hp2D::Fluxes::getInverseMass ( uint  m)
inline

Definition at line 126 of file fluxes.hh.

◆ getWeight()

Real hp2D::Fluxes::getWeight ( uint  E,
uint  K 
) const
inline

Definition at line 97 of file fluxes.hh.

◆ info()

std::ostream& hp2D::Fluxes::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 135 of file fluxes.hh.

◆ operator()() [1/6]

Real hp2D::Fluxes::operator() ( const concepts::ElementWithCell< Real > &  elm,
const concepts::Real  p,
const Real  t = 0.0 
) const

The elm should be a hp1D::Element of an identical TraceSpace like was given in the constructor.

◆ operator()() [2/6]

Real hp2D::Fluxes::operator() ( const concepts::ElementWithCell< Real > &  elm,
const concepts::Real2d p,
const Real  t = 0.0 
) const
inline

Definition at line 86 of file fluxes.hh.

◆ operator()() [3/6]

Real hp2D::Fluxes::operator() ( const concepts::ElementWithCell< Real > &  elm,
const concepts::Real3d p,
const Real  t = 0.0 
) const
inline

Definition at line 91 of file fluxes.hh.

◆ operator()() [4/6]

virtual Real concepts::ElementFormula< Real , Real >::operator() ( const ElementWithCell< Real > &  elm,
const Real  p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

Implemented in concepts::ElementFormulaContainer< Real, Real >.

◆ operator()() [5/6]

virtual Real concepts::ElementFormula< Real , Real >::operator() ( const ElementWithCell< Real > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

Implemented in concepts::ElementFormulaContainer< Real, Real >.

◆ operator()() [6/6]

virtual Real concepts::ElementFormula< Real , Real >::operator() ( const ElementWithCell< Real > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

Implemented in concepts::ElementFormulaContainer< Real, Real >.

Member Data Documentation

◆ coeffs_

concepts::HashMap<concepts::Vector<Real> > hp2D::Fluxes::coeffs_
private

The coefficients computed by M_{e}*alpha_K,e = Moments_K,e per each edge.

Let K, K' be two Elements with common edge e, then it holds for the coefficients on a edge e : alpha_K,e = -alpha_K,e . Therefore the coefficients on a edge are only saved once, and have the right sign corresponding to the orientation of the edge (normal Vector rule).

Definition at line 163 of file fluxes.hh.

◆ currElmKey_

uint hp2D::Fluxes::currElmKey_
private

Definition at line 151 of file fluxes.hh.

◆ Minv_

concepts::HashMap<concepts::LapackChol*> hp2D::Fluxes::Minv_
private

Locally stored Cholesky Decomposition of the Edge-MassMatrices on reference domain.

Definition at line 168 of file fluxes.hh.

◆ tspc_

const hp2D::TraceSpace& hp2D::Fluxes::tspc_
private

local reference to the TraceSpace given in the Constructor.

Definition at line 176 of file fluxes.hh.

◆ uelm_

concepts::HashMap<concepts::Sequence<UnderlyingElement> > hp2D::Fluxes::uelm_
private

Definition at line 171 of file fluxes.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