Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
hp2Dedge::Graduv Class Reference

A function class to calculate element matrices for the bilinear form. More...

#include <bilinearForm.hh>

Inheritance diagram for hp2Dedge::Graduv:
Inheritance graph
[legend]
Collaboration diagram for hp2Dedge::Graduv:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual Graduvclone () const
 Virtual constructor.
void data (const concepts::RCP< concepts::SharedJacobianAdj< 2 > > d)
 Set the pointer to the shared data.
concepts::RCP
< concepts::SharedJacobianAdj< 2 > > 
data () const
 Gets the pointer to the shared data.
 Graduv (const concepts::ElementFormulaContainer< Real > frm=concepts::ElementFormulaContainer< Real >())
virtual void operator() (const Element< typename Realtype< Real >::type > &elmX, const Element< typename Realtype< Real >::type > &elmY, ElementMatrix< Real > &em)=0
 Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.
void operator() (const hp2D::Quad< Real > &elmX, const Quad< Real > &elmY, concepts::ElementMatrix< Real > &em)
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)
 Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.
void operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< Real > &em)
virtual ~Graduv ()

Protected Member Functions

void computeIntermediate_ (const BaseQuad< Real > &elm, const int i=-1, const int j=-1)
 Compute the intermediate data for element matrix computation.
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Protected Attributes

concepts::ElementFormulaContainer
< Real > 
frm_
 Element formula.
concepts::ElementFormulaContainer
< concepts::Mapping< typename
concepts::Realtype< Real >
::type, 2 > > 
frmM_
 Matrix element formula.
concepts::Array
< concepts::Mapping< typename
concepts::Realtype< Real >
::type, 2 > > 
intermediateMatrix_
 Intermediate matrix.
concepts::Array< Real > intermediateValue_
 Intermediate value.

Private Attributes

concepts::Array< Real > factor_
 Intermediate data for element matrix computation.
concepts::Array
< concepts::MapReal2d
jacobianInv_

Detailed Description

A function class to calculate element matrices for the bilinear form.

\[\int\limits_{K}\underline{u}^\top\;\nabla{v}\;d\underline{\xi} = \int\limits_{\hat{K}}\underline{\hat{u}}^\top J^{-1}J^{-\top}\;\nabla{\hat{v}}|\det J|\;d\underline{\hat{\xi}}\]

Author:
Kersten Schmidt, 2005

Definition at line 97 of file bilinearForm.hh.


Constructor & Destructor Documentation

hp2Dedge::Graduv::Graduv ( const concepts::ElementFormulaContainer< Real >  frm = concepts::ElementFormulaContainer< Real >())
virtual hp2Dedge::Graduv::~Graduv ( ) [inline, virtual]

Definition at line 102 of file bilinearForm.hh.


Member Function Documentation

virtual Graduv* hp2Dedge::Graduv::clone ( ) const [inline, virtual]

Virtual constructor.

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

Implements concepts::Cloneable.

Definition at line 108 of file bilinearForm.hh.

Here is the call graph for this function:

void hp2D::BilinearFormHelper_1_1< Real , typename concepts::Realtype<Real >::type >::computeIntermediate_ ( const BaseQuad< Real > &  elm,
const int  i = -1,
const int  j = -1 
) [protected, inherited]

Compute the intermediate data for element matrix computation.

Parameters:
iif i=0 or 1, then take only i-th column of Jacobian matrix (for test function)
jif j=0 or 1, then take only j-th column of Jacobian matrix (for trial function)

The Jacobian matrices have to been taken both full (i,j = -1) or both partial (i,j = 0 or 1).

Matrix formulas and complex valued scalar formulas are only implemented for full Jacobians.

concepts::RCP<concepts::SharedJacobianAdj<2> > hp2D::BilinearFormHelper_1_1< Real , typename concepts::Realtype<Real >::type >::data ( ) const [inherited]

Gets the pointer to the shared data.

void hp2D::BilinearFormHelper_1_1< Real , typename concepts::Realtype<Real >::type >::data ( const concepts::RCP< concepts::SharedJacobianAdj< 2 > >  d) [inherited]

Set the pointer to the shared data.

virtual std::ostream& hp2Dedge::Graduv::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::BilinearForm< Real >.

virtual void concepts::BilinearForm< Real , typename Realtype<Real >::type >::operator() ( const Element< typename Realtype<Real >::type > &  elmX,
const Element< typename Realtype<Real >::type > &  elmY,
ElementMatrix< Real > &  em 
) [pure virtual, inherited]

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
void hp2Dedge::Graduv::operator() ( const hp2D::Quad< Real > &  elmX,
const Quad< Real > &  elmY,
concepts::ElementMatrix< Real > &  em 
)
void hp2Dedge::Graduv::operator() ( const concepts::Element< Real > &  elmX,
const concepts::Element< Real > &  elmY,
concepts::ElementMatrix< Real > &  em 
)
virtual void concepts::BilinearForm< Real , typename Realtype<Real >::type >::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 
) [inline, virtual, inherited]

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 53 of file bilinearForm.hh.

Here is the call graph for this function:


Member Data Documentation

Intermediate data for element matrix computation.

Definition at line 113 of file bilinearForm.hh.

concepts::ElementFormulaContainer<Real > hp2D::BilinearFormHelper_1_1< Real , typename concepts::Realtype<Real >::type >::frm_ [protected, inherited]

Element formula.

Definition at line 216 of file bilinearFormHelper.hh.

concepts::ElementFormulaContainer<concepts::Mapping<typename concepts::Realtype<Real >::type ,2> > hp2D::BilinearFormHelper_1_1< Real , typename concepts::Realtype<Real >::type >::frmM_ [protected, inherited]

Matrix element formula.

Definition at line 218 of file bilinearFormHelper.hh.

concepts::Array<concepts::Mapping<typename concepts::Realtype<Real >::type ,2> > hp2D::BilinearFormHelper_1_1< Real , typename concepts::Realtype<Real >::type >::intermediateMatrix_ [protected, inherited]

Intermediate matrix.

In case of a scalar formula:

\[\mbox{adj}(J) \mbox{adj}(J)^\top\]

In case of a matrix formula $M$:

\[\mbox{adj}(J) M \mbox{adj}(J)^\top\]

In case of partial Jacobian:

\[\mbox{adj}(J)_{\cdot,j} (\mbox{adj}(J)_{\cdot,i})^\top\]

Definition at line 214 of file bilinearFormHelper.hh.

concepts::Array<Real > hp2D::BilinearFormHelper_1_1< Real , typename concepts::Realtype<Real >::type >::intermediateValue_ [protected, inherited]

Intermediate value.

In case of a scalar formula:

\[\frac{f(F_K(\xi))}{\det J}\]

In case of a matrix formula:

\[\frac{1}{\det J}\]

Definition at line 202 of file bilinearFormHelper.hh.

Definition at line 114 of file bilinearForm.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)