QuadraturePointsGroup.hpp
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
00029 #ifndef QUADRATUREPOINTSGROUP_HPP_
00030 #define QUADRATUREPOINTSGROUP_HPP_
00031
00032 #include "UblasCustomFunctions.hpp"
00033 #include "TetrahedralMesh.hpp"
00034 #include "GaussianQuadratureRule.hpp"
00035 #include "LinearBasisFunction.hpp"
00036 #include <vector>
00037
00038
00044 template<unsigned DIM>
00045 class QuadraturePointsGroup
00046 {
00047 private :
00048
00050 std::vector<c_vector<double,DIM> > data;
00051
00053 unsigned mNumElements;
00054
00056 unsigned mNumQuadPointsPerElement;
00057
00058 public :
00059
00067 QuadraturePointsGroup(TetrahedralMesh<DIM,DIM>& rMesh,
00068 GaussianQuadratureRule<DIM>& rQuadRule);
00069
00078 c_vector<double,DIM>& Get(unsigned elementIndex, unsigned quadIndex);
00079
00087 c_vector<double,DIM>& Get(unsigned i);
00088
00090 unsigned GetNumElements() const;
00091
00093 unsigned GetNumQuadPointsPerElement() const;
00094
00096 unsigned Size() const;
00097 };
00098
00099 #endif