Hermes2D  3.0
shapeset_h1_all.h
1 // This file is part of Hermes2D.
2 //
3 // Hermes2D is free software: you can redistribute it and/or modify
4 // it under the terms of the GNU General Public License as published by
5 // the Free Software Foundation, either version 2 of the License, or
6 // (at your option) any later version.
7 //
8 // Hermes2D is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 // GNU General Public License for more details.
12 //
13 // You should have received a copy of the GNU General Public License
14 // along with Hermes2D. If not, see <http://www.gnu.org/licenses/>.
15 
16 #ifndef __H2D_SHAPESET_H1_ALL
17 #define __H2D_SHAPESET_H1_ALL
18 
20 
21 #include "shapeset.h"
22 namespace Hermes
23 {
24  namespace Hermes2D
25  {
27  class HERMES_API H1ShapesetJacobi : public Shapeset
28  {
29  public:
31  virtual Shapeset* clone() { return new H1ShapesetJacobi(*this); };
32  virtual SpaceType get_space_type() const { return HERMES_H1_SPACE; }
33  virtual unsigned short get_max_index(ElementMode2D mode) const;
34 
35  virtual unsigned char get_id() const { return HERMES_H1_JACOBI; }
36 
37  static const unsigned short max_index[H2D_NUM_MODES];
38  };
39 
41  /*
42  class HERMES_API H1ShapesetEigen : public Shapeset
43  {
44  public:
45  H1ShapesetEigen();
46  virtual Shapeset* clone() { return new H1ShapesetEigen(*this); };
47  virtual unsigned short get_max_index(ElementMode2D mode) {};
48  private:
49  virtual unsigned char get_id() const { return 2; }
50  template<typename Scalar> friend class VectorForm;
51  template<typename Scalar> friend class MatrixForm;
52  virtual SpaceType get_space_type() const { return HERMES_H1_SPACE; }
53  template<typename Scalar> friend class DiscreteProblem; template<typename Scalar> friend class Solution; friend class CurvMap; friend class RefMap; template<typename Scalar> friend class RefinementSelectors::H1ProjBasedSelector; template<typename Scalar> friend class RefinementSelectors::L2ProjBasedSelector; template<typename Scalar> friend class RefinementSelectors::HcurlProjBasedSelector; template<typename Scalar> friend class RefinementSelectors::OptimumSelector; friend class PrecalcShapeset;
54  static const unsigned short max_index[H2D_NUM_MODES];
55  };
56  */
57 
60  }
61 }
62 #endif
H1ShapesetJacobi H1Shapeset
Experimental.
Definition: adapt.h:24
Shape functions based on integrated Jacobi polynomials.
#define H2D_NUM_MODES
Internal.
Definition: global.h:35
Should be exactly the same as is the count of enum ShapesetType.
Definition: shapeset.h:95
virtual SpaceType get_space_type() const
virtual unsigned char get_id() const