concepts::FormulaNormalOuterSP2D< F > Class Template Referenceabstract

Computes the scalar product <n, vf> of the normal n with a vector valued formula vf, the result is a scalar formula in F. More...

#include <pml_formula.h>

Inheritance diagram for concepts::FormulaNormalOuterSP2D< F >:
concepts::ElementFormula< F > concepts::Cloneable concepts::OutputOperator

Public Types

typedef F value_type
 

Public Member Functions

virtual FormulaNormalOuterSP2Dclone () const
 Virtual constructor. More...
 
virtual FormulaNormalOuterSP2Dclone () const
 Virtual constructor. More...
 
virtual ElementFormula< F, typename Realtype< F >::type > * clone () const=0
 Virtual copy constructor. More...
 
 FormulaNormalOuterSP2D (const ElementFormulaContainer< concepts::Point< F, 2 > > vf, Real2d center=Real2d(0, 0), bool direction=OUTER)
 
 FormulaNormalOuterSP2D (const ElementFormulaContainer< Point< F, 2 > > vf, Real2d center=Real2d(0, 0), bool direction=OUTER)
 
virtual F operator() (const concepts::ElementWithCell< Real > &elm, const concepts::Real2d &p, const Real t=0.0) const
 
virtual F operator() (const concepts::ElementWithCell< Real > &elm, const concepts::Real3d &p, const Real t=0.0) const
 
virtual F operator() (const concepts::ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const
 
virtual F operator() (const ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const
 
virtual F operator() (const ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const
 
virtual F operator() (const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
 
virtual F operator() (const ElementWithCell< typename Realtype< F >::type > &elm, const Real p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual F operator() (const ElementWithCell< typename Realtype< F >::type > &elm, const Real2d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 
virtual F operator() (const ElementWithCell< typename Realtype< F >::type > &elm, const Real3d &p, const Real t=0.0) const=0
 Evaluates the formula. More...
 

Public Attributes

Real2d center
 
bool direction
 
const ElementFormulaContainer< concepts::Point< F, 2 > > vf
 
const ElementFormulaContainer< Point< F, 2 > > vf
 

Static Public Attributes

static const bool INNER = false
 
static const bool OUTER = true
 

Protected Member Functions

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

Detailed Description

template<class F>
class concepts::FormulaNormalOuterSP2D< F >

Computes the scalar product <n, vf> of the normal n with a vector valued formula vf, the result is a scalar formula in F.

The normal is interpreted as the undirected normal of an Edge in the direction away from the specified center point.

important: this function should only be called with Cells of type Edge2d

Due to a current limitation of concepts, normals are not well-defined. This class solves this reliably for edges on the boundary of the computational domain, for edges in the interior this function produces non-reliable normal orientations.

The normal is interpreted as the undirected normal of an Edge in the direction away from the specified center point.

important: this function should only be called with Cells of type Edge2d

Due to a current limitation of concepts, normals are not well-defined. This class solves this reliably for edges on the boundary of the computational domain, for edges in the interior this function produces non-reliable normal orientations.

This class is kept for gfem

Definition at line 194 of file pml_formula.h.

Member Typedef Documentation

◆ value_type

typedef F concepts::ElementFormula< F, typename Realtype<F>::type >::value_type
inherited

Definition at line 37 of file elementFormula.hh.

Constructor & Destructor Documentation

◆ FormulaNormalOuterSP2D() [1/2]

template<class F >
concepts::FormulaNormalOuterSP2D< F >::FormulaNormalOuterSP2D ( const ElementFormulaContainer< concepts::Point< F, 2 > >  vf,
Real2d  center = Real2d(0,0),
bool  direction = OUTER 
)
inline

Definition at line 200 of file pml_formula.h.

◆ FormulaNormalOuterSP2D() [2/2]

template<class F >
concepts::FormulaNormalOuterSP2D< F >::FormulaNormalOuterSP2D ( const ElementFormulaContainer< Point< F, 2 > >  vf,
Real2d  center = Real2d(0,0),
bool  direction = OUTER 
)
inline

Definition at line 229 of file sources.hh.

Member Function Documentation

◆ clone() [1/3]

template<class F >
virtual FormulaNormalOuterSP2D* concepts::FormulaNormalOuterSP2D< F >::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 208 of file pml_formula.h.

◆ clone() [2/3]

template<class F >
virtual FormulaNormalOuterSP2D* concepts::FormulaNormalOuterSP2D< F >::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 237 of file sources.hh.

◆ clone() [3/3]

virtual ElementFormula<F,typename Realtype<F>::type >* concepts::ElementFormula< F, typename Realtype<F>::type >::clone
pure virtualinherited

Virtual copy constructor.

◆ info() [1/2]

template<class F >
virtual std::ostream& concepts::FormulaNormalOuterSP2D< F >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 254 of file pml_formula.h.

◆ info() [2/2]

template<class F >
virtual std::ostream& concepts::FormulaNormalOuterSP2D< F >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 283 of file sources.hh.

◆ operator()() [1/9]

template<class F >
virtual F concepts::FormulaNormalOuterSP2D< F >::operator() ( const concepts::ElementWithCell< Real > &  elm,
const concepts::Real2d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 242 of file pml_formula.h.

◆ operator()() [2/9]

template<class F >
virtual F concepts::FormulaNormalOuterSP2D< F >::operator() ( const concepts::ElementWithCell< Real > &  elm,
const concepts::Real3d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 248 of file pml_formula.h.

◆ operator()() [3/9]

template<class F >
virtual F concepts::FormulaNormalOuterSP2D< F >::operator() ( const concepts::ElementWithCell< Real > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 212 of file pml_formula.h.

◆ operator()() [4/9]

template<class F >
virtual F concepts::FormulaNormalOuterSP2D< F >::operator() ( const ElementWithCell< Real > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 241 of file sources.hh.

◆ operator()() [5/9]

template<class F >
virtual F concepts::FormulaNormalOuterSP2D< F >::operator() ( const ElementWithCell< Real > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 271 of file sources.hh.

◆ operator()() [6/9]

template<class F >
virtual F concepts::FormulaNormalOuterSP2D< F >::operator() ( const ElementWithCell< Real > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 277 of file sources.hh.

◆ operator()() [7/9]

virtual F concepts::ElementFormula< F, typename Realtype<F>::type >::operator() ( const ElementWithCell< typename Realtype<F>::type > &  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

◆ operator()() [8/9]

virtual F concepts::ElementFormula< F, typename Realtype<F>::type >::operator() ( const ElementWithCell< typename Realtype<F>::type > &  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

◆ operator()() [9/9]

virtual F concepts::ElementFormula< F, typename Realtype<F>::type >::operator() ( const ElementWithCell< typename Realtype<F>::type > &  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

Member Data Documentation

◆ center

template<class F >
Real2d concepts::FormulaNormalOuterSP2D< F >::center

Definition at line 259 of file pml_formula.h.

◆ direction

template<class F >
bool concepts::FormulaNormalOuterSP2D< F >::direction

Definition at line 260 of file pml_formula.h.

◆ INNER

template<class F >
static const bool concepts::FormulaNormalOuterSP2D< F >::INNER = false
static

Definition at line 198 of file pml_formula.h.

◆ OUTER

template<class F >
static const bool concepts::FormulaNormalOuterSP2D< F >::OUTER = true
static

Definition at line 197 of file pml_formula.h.

◆ vf [1/2]

template<class F >
const ElementFormulaContainer< concepts::Point<F, 2> > concepts::FormulaNormalOuterSP2D< F >::vf

Definition at line 258 of file pml_formula.h.

◆ vf [2/2]

template<class F >
const ElementFormulaContainer< Point<F, 2> > concepts::FormulaNormalOuterSP2D< F >::vf

Definition at line 287 of file sources.hh.


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