00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _QUADRATICBASISFUNCTION_HPP_
00029 #define _QUADRATICBASISFUNCTION_HPP_
00030
00031 #include <boost/numeric/ublas/matrix.hpp>
00032
00033 #include "ChastePoint.hpp"
00034
00035 template <unsigned ELEM_DIM>
00036 class QuadraticBasisFunction
00037 {
00038 public:
00039
00040 static double ComputeBasisFunction(const ChastePoint<ELEM_DIM> &rPoint, unsigned basisIndex);
00041 static c_vector<double, ELEM_DIM> ComputeBasisFunctionDerivative(const ChastePoint<ELEM_DIM> &rPoint, unsigned basisIndex);
00042
00043 static void ComputeBasisFunctions(const ChastePoint<ELEM_DIM> &rPoint, c_vector<double, (ELEM_DIM+1)*(ELEM_DIM+2)/2>& rReturnValue);
00044 static void ComputeBasisFunctionDerivatives(const ChastePoint<ELEM_DIM> &rPoint,
00045 c_matrix<double, ELEM_DIM, (ELEM_DIM+1)*(ELEM_DIM+2)/2>& rReturnValue);
00046
00047 static void ComputeTransformedBasisFunctionDerivatives(const ChastePoint<ELEM_DIM> &rPoint,
00048 const c_matrix<double, ELEM_DIM, ELEM_DIM> &rInverseJacobian,
00049 c_matrix<double, ELEM_DIM, (ELEM_DIM+1)*(ELEM_DIM+2)/2>& rReturnValue);
00050
00051
00052 };
00053
00054 #endif //_QUADRATICBASISFUNCTION_HPP_
00055