![]() |
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) - (1,0) - (0,1) to a given triangle in 2D. 00006 00007 #ifndef __P1_TRI_MAP_H 00008 #define __P1_TRI_MAP_H 00009 00010 #include <dolfin/Map.h> 00011 00012 namespace dolfin { 00013 00014 class P1TriMap : public Map 00015 { 00016 public: 00017 00018 P1TriMap(); 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 Edge& edge); 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 edgeNumber(const Edge& edge, const Cell& cell) const; 00036 00037 }; 00038 00039 } 00040 00041 #endif
Documentation automatically generated with Doxygen on 10 Sep 2004.