Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef SUNDANCEHNMAPBASE_HPP_
00009 #define SUNDANCEHNMAPBASE_HPP_
00010
00011 #include "SundanceDefs.hpp"
00012 #include "SundanceMesh.hpp"
00013
00014 namespace Sundance
00015 {
00016 using namespace Teuchos;
00017
00018
00019
00020
00021
00022
00023
00024 class HNDoFMapBase
00025 {
00026 public:
00027
00028
00029 HNDoFMapBase(const Mesh& mesh, int nFuncs, int setupVerb) : mesh_(mesh){;}
00030
00031 virtual ~HNDoFMapBase() {;}
00032
00033
00034
00035
00036
00037
00038
00039 virtual void getTrafoMatrixForCell(
00040 int cellLID,
00041 int funcID,
00042 int& trafoMatrixSize,
00043 bool& doTransform,
00044 Array<double>& transfMatrix ) const=0;
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 virtual void getTrafoMatrixForFacet(
00055 int cellDim,
00056 int cellLID,
00057 int facetIndex,
00058 int funcID,
00059 int& trafoMatrixSize,
00060 bool& doTransform,
00061 Array<double>& transfMatrix ) const = 0;
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072 virtual void getDOFsForHNCell(
00073 int cellDim,
00074 int cellLID,
00075 int funcID,
00076 Array<int>& dofs ,
00077 Array<double>& coefs ) const=0;
00078
00079
00080
00081 int getSpacialMeshDim() const { return mesh_.spatialDim();}
00082
00083 protected:
00084
00085 private:
00086
00087 const Mesh mesh_;
00088
00089 };
00090
00091 }
00092
00093
00094 #endif