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 "SundanceSpatiallyHomogeneousDOFMapBase.hpp"
00013 namespace Sundance
00014 {
00015 using namespace Teuchos;
00016
00017
00018
00019
00020
00021
00022
00023 class HNDoFMapBase : public SpatiallyHomogeneousDOFMapBase
00024 {
00025 public:
00026
00027
00028 HNDoFMapBase(const Mesh& mesh, int nFuncs, int setupVerb) :
00029 SpatiallyHomogeneousDOFMapBase(mesh, nFuncs, setupVerb){;}
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 };
00086
00087 }
00088
00089
00090 #endif