![]() |
00001 // Copyright (C) 2003 Johan Hoffman and Anders Logg. 00002 // Licensed under the GNU GPL Version 2. 00003 00004 // Map from the reference cell defined by the nodes 00005 // (0,0,0) - (1,0,0) - (0,1,0) - (0,0,1) to a given tetrahedron in 3D. 00006 00007 #ifndef __P1_TET_MAP_H 00008 #define __P1_TET_MAP_H 00009 00010 #include <dolfin/Map.h> 00011 00012 namespace dolfin { 00013 00014 class P1TetMap : public Map 00015 { 00016 public: 00017 00018 P1TetMap(); 00019 00020 Point operator() (const Point& p) const; 00021 Point operator() (const Point& p, unsigned int boundary) const; 00022 00023 void update(const Cell& cell); 00024 void update(const Face& face); 00025 00026 const FunctionSpace::ElementFunction ddx(const FunctionSpace::ShapeFunction &v) const; 00027 const FunctionSpace::ElementFunction ddy(const FunctionSpace::ShapeFunction &v) const; 00028 const FunctionSpace::ElementFunction ddz(const FunctionSpace::ShapeFunction &v) const; 00029 const FunctionSpace::ElementFunction ddt(const FunctionSpace::ShapeFunction &v) const; 00030 00031 private: 00032 00033 // FIXME: Temporary hack until we sort things out with the 00034 // FIXME: local numbering of nodes, cells, edges, and faces. 00035 unsigned int faceNumber(const Face& face, const Cell& cell) const; 00036 00037 }; 00038 00039 } 00040 00041 #endif
![]()
Documentation automatically generated with Doxygen on 10 Sep 2004.