BasisFunctions Class Reference

BasisFunctions.h DG++. More...

#include <BasisFunctions.h>

Inheritance diagram for BasisFunctions:
BasisFunctionsProvidedExternalQuad EmptyBasisFunctions ShapesEvaluated BasisFunctionsProvided ShapesEvaluated__< ShapeObj, QuadObj >

List of all members.

Public Member Functions

 BasisFunctions ()
virtual ~BasisFunctions ()
 BasisFunctions (const BasisFunctions &)
virtual BasisFunctionsclone () const =0
virtual const std::vector
< double > & 
getShapes () const =0
 Shape functions at quadrature points getShapes()[q*getBasisDimension()+a] gives the value of shape function a at quadrature point q.
virtual const std::vector
< double > & 
getDShapes () const =0
 Derivatives of shape functions at quadrature points getDShapes()[q*getBasisDimension()*getNumberOfDerivativesPerFunction()+ +a*getNumberOfDerivativesPerFunction()+i] gives the derivative in the i-th direction of degree of freedom a at quadrature point q.
virtual const std::vector
< double > & 
getIntegrationWeights () const =0
virtual const std::vector
< double > & 
getQuadraturePointCoordinates () const =0
 Coordinates of quadrature points in the real configuration getQuadraturePointCoordinates() q*ElementGeometrygetEmbeddingDimension()+i] returns the i-th coordinate in real space of quadrature point q.
virtual size_t getBasisDimension () const =0
 returns the number of shape functions provided
virtual size_t getNumberOfDerivativesPerFunction () const =0
 returns the number of directional derivative for each shape function
virtual size_t getSpatialDimensions () const =0
 returns the number of number of coordinates for each Gauss point

Detailed Description

BasisFunctions.h DG++.

Created by Adrian Lew on 10/21/06.

Copyright (c) 2006 Adrian Lew

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

BasisFunctions: Evaluation of basis functions and derivatives at the quadrature points. Abstract class.

A BasisFunctions object consists of:
1) A set of quadrature points with quadrature weights
2) A set of basis functions and their derivatives evaluated at these points

Todo:
So far the number of spatial dimensions, needed to transverse the getDShapes and getQuadraturePointArrays is not provided, but should be obtained from the ElementGeometry where these basis functions are in. One way in which this may be computed is using the fact that getQuadraturePointCoordinates().size()/getIntegrationWeights().size() = getDShapes().size()/getShapes().size() = spatial dimensions

Constructor & Destructor Documentation

BasisFunctions::BasisFunctions (  )  [inline]
virtual BasisFunctions::~BasisFunctions (  )  [inline, virtual]
BasisFunctions::BasisFunctions ( const BasisFunctions  )  [inline]

Member Function Documentation

virtual BasisFunctions* BasisFunctions::clone (  )  const [pure virtual]
virtual size_t BasisFunctions::getBasisDimension (  )  const [pure virtual]

returns the number of shape functions provided

Implemented in EmptyBasisFunctions, BasisFunctionsProvidedExternalQuad, and ShapesEvaluated.

virtual const std::vector<double>& BasisFunctions::getDShapes (  )  const [pure virtual]

Derivatives of shape functions at quadrature points getDShapes()[q*getBasisDimension()*getNumberOfDerivativesPerFunction()+ +a*getNumberOfDerivativesPerFunction()+i] gives the derivative in the i-th direction of degree of freedom a at quadrature point q.

getDShapes returns an empty vector if no derivatives are available

Implemented in EmptyBasisFunctions, BasisFunctionsProvidedExternalQuad, and ShapesEvaluated.

virtual const std::vector<double>& BasisFunctions::getIntegrationWeights (  )  const [pure virtual]
Returns:
vector of integration weights Integration weights

Implemented in EmptyBasisFunctions, BasisFunctionsProvidedExternalQuad, and ShapesEvaluated.

virtual size_t BasisFunctions::getNumberOfDerivativesPerFunction (  )  const [pure virtual]

returns the number of directional derivative for each shape function

Implemented in EmptyBasisFunctions, BasisFunctionsProvidedExternalQuad, and ShapesEvaluated.

virtual const std::vector<double>& BasisFunctions::getQuadraturePointCoordinates (  )  const [pure virtual]

Coordinates of quadrature points in the real configuration getQuadraturePointCoordinates() q*ElementGeometrygetEmbeddingDimension()+i] returns the i-th coordinate in real space of quadrature point q.

Implemented in EmptyBasisFunctions, BasisFunctionsProvidedExternalQuad, and ShapesEvaluated.

virtual const std::vector<double>& BasisFunctions::getShapes (  )  const [pure virtual]

Shape functions at quadrature points getShapes()[q*getBasisDimension()+a] gives the value of shape function a at quadrature point q.

getShapes returns an empty vector if no shape functions are available

Implemented in EmptyBasisFunctions, BasisFunctionsProvidedExternalQuad, and ShapesEvaluated.

virtual size_t BasisFunctions::getSpatialDimensions (  )  const [pure virtual]

returns the number of number of coordinates for each Gauss point

Implemented in EmptyBasisFunctions, BasisFunctionsProvidedExternalQuad, and ShapesEvaluated.


The documentation for this class was generated from the following file:
Generated on Tue Aug 2 11:51:26 2011 for Galois by  doxygen 1.6.3