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

Public Member Functions | Protected Member Functions | Private Attributes
linearFEM::Laplace2d Class Reference

Discrete equivalent of the Laplacian in 2D for linear FEM. More...

#include <bilinearForm2D.hh>

Inheritance diagram for linearFEM::Laplace2d:
Inheritance graph
[legend]
Collaboration diagram for linearFEM::Laplace2d:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual Laplace2dclone () const
 Virtual constructor.
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.
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 linearFEM::Quad &elmX, const linearFEM::Quad &elmY, concepts::ElementMatrix< Real > &em)
 Computes the element stiffness matrix for a quadrilateral.
void operator() (const linearFEM::Triangle &elmX, const linearFEM::Triangle &elmY, concepts::ElementMatrix< Real > &em)
 Computes the element stiffness matrix for a triangle.
virtual void operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< Real > &em)

Protected Member Functions

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

Private Attributes

concepts::Array< concepts::Real2dshpfct_
 Storage area for values of derivatives of shape functions.

Detailed Description

Discrete equivalent of the Laplacian in 2D for linear FEM.

This bilinear form computes the stiffness matrix resulting from the discretization of the Laplacian (with integration by parts):

\[ \int_K \nabla \phi_i \cdot \nabla \phi_j \, dx \]

for the element shape functions $\phi_i$.

Author:
Philipp Frauenfelder, 2002

Definition at line 27 of file bilinearForm2D.hh.


Member Function Documentation

virtual Laplace2d* linearFEM::Laplace2d::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 45 of file bilinearForm2D.hh.

virtual std::ostream& concepts::BilinearForm< Real , typename Realtype<Real >::type >::info ( std::ostream &  os) const [protected, virtual, inherited]
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:

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 linearFEM::Laplace2d::operator() ( const linearFEM::Quad elmX,
const linearFEM::Quad elmY,
concepts::ElementMatrix< Real > &  em 
)

Computes the element stiffness matrix for a quadrilateral.

The stiffness matrix has to be integrated numericaly since the Jacobian of the element map is not constant.

void linearFEM::Laplace2d::operator() ( const linearFEM::Triangle elmX,
const linearFEM::Triangle elmY,
concepts::ElementMatrix< Real > &  em 
)

Computes the element stiffness matrix for a triangle.

The stiffness matrix is precomputed since the element map is constant.

virtual void linearFEM::Laplace2d::operator() ( const concepts::Element< Real > &  elmX,
const concepts::Element< Real > &  elmY,
concepts::ElementMatrix< Real > &  em 
) [virtual]

Member Data Documentation

Storage area for values of derivatives of shape functions.

Definition at line 48 of file bilinearForm2D.hh.


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

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