hp3D::Laplace< F > Class Template Referenceabstract

A function class to calculate element matrices for the Laplacian. More...

#include <bilinearForm.hh>

Inheritance diagram for hp3D::Laplace< F >:
concepts::BilinearForm< Real > concepts::Cloneable concepts::OutputOperator

Public Member Functions

virtual Laplace< F > * clone () const
 Virtual constructor. More...
 
virtual BilinearForm * clone () const=0
 Virtual constructor. More...
 
 Laplace ()
 Constructor. More...
 
virtual void operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< F > &em) const
 
virtual void operator() (const Element< typename Realtype< Real >::type > &elmX, const Element< typename Realtype< Real >::type > &elmY, ElementMatrix< Real > &em) const=0
 Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em. More...
 
virtual void operator() (const Element< typename Realtype< Real >::type > &elmX, const Element< typename Realtype< Real >::type > &elmY, ElementMatrix< Real > &em, const ElementPair< typename Realtype< Real >::type > &ep) const
 Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em. More...
 
void operator() (const Hexahedron &elmX, const Hexahedron &elmY, concepts::ElementMatrix< F > &em) const
 
virtual ~Laplace ()
 

Protected Member Functions

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

Private Attributes

concepts::Array< F > jacobian_
 Intermediate data for element matrix computation. More...
 
concepts::Array< concepts::MapReal3djacobianInv_
 
const HexahedronoldElm_
 

Detailed Description

template<class F = Real>
class hp3D::Laplace< F >

A function class to calculate element matrices for the Laplacian.

Author
Philipp Frauenfelder, 2001

Definition at line 51 of file bilinearForm.hh.

Constructor & Destructor Documentation

◆ Laplace()

template<class F = Real>
hp3D::Laplace< F >::Laplace ( )

Constructor.

◆ ~Laplace()

template<class F = Real>
virtual hp3D::Laplace< F >::~Laplace ( )
virtual

Member Function Documentation

◆ clone() [1/2]

template<class F = Real>
virtual Laplace<F>* hp3D::Laplace< 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 62 of file bilinearForm.hh.

◆ clone() [2/2]

virtual BilinearForm* concepts::BilinearForm< Real , typename Realtype<Real >::type >::clone ( ) const
pure virtualinherited

Virtual constructor.

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

◆ info()

template<class F = Real>
virtual std::ostream& hp3D::Laplace< F >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::BilinearForm< Real >.

◆ operator()() [1/4]

template<class F = Real>
virtual void hp3D::Laplace< F >::operator() ( const concepts::Element< Real > &  elmX,
const concepts::Element< Real > &  elmY,
concepts::ElementMatrix< F > &  em 
) const
virtual

◆ operator()() [2/4]

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

Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.

Postcondition
The returned matrix em has the correct size.
Parameters
elmXLeft element (test functions)
elmYRight element (trial functions)
emReturn element matrix

◆ operator()() [3/4]

virtual void concepts::BilinearForm< Real , typename Realtype<Real >::type >::operator() ( const Element< G > &  elmX,
const Element< G > &  elmY,
ElementMatrix< F > &  em,
const ElementPair< G > &  ep 
) const
inlinevirtualinherited

Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.

If this method is not reimplemented in a derived class, the default behaviour is to call the application operator without ep.

Postcondition
The returned matrix em has the correct size.
Parameters
elmXLeft element
elmYRight element
emReturn element matrix
epElement pair holding more information on the pair elmX and elmY

Definition at line 57 of file bilinearForm.hh.

◆ operator()() [4/4]

template<class F = Real>
void hp3D::Laplace< F >::operator() ( const Hexahedron elmX,
const Hexahedron elmY,
concepts::ElementMatrix< F > &  em 
) const

Member Data Documentation

◆ jacobian_

template<class F = Real>
concepts::Array<F> hp3D::Laplace< F >::jacobian_
mutableprivate

Intermediate data for element matrix computation.

Definition at line 67 of file bilinearForm.hh.

◆ jacobianInv_

template<class F = Real>
concepts::Array<concepts::MapReal3d> hp3D::Laplace< F >::jacobianInv_
mutableprivate

Definition at line 68 of file bilinearForm.hh.

◆ oldElm_

template<class F = Real>
const Hexahedron* hp3D::Laplace< F >::oldElm_
mutableprivate

Definition at line 70 of file bilinearForm.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