00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef __deal2__polynomials_adini_h
00014 #define __deal2__polynomials_adini_h
00015
00016 #include <deal.II/base/point.h>
00017 #include <deal.II/base/tensor.h>
00018 #include <deal.II/base/table.h>
00019
00020 DEAL_II_NAMESPACE_OPEN
00021
00037 class PolynomialsAdini
00038 {
00039 public:
00045 PolynomialsAdini ();
00072 void compute (const Point<2> &unit_point,
00073 std::vector<double> &values,
00074 std::vector<Tensor<1,2> > &grads,
00075 std::vector< Tensor<2,2> > &grad_grads) const;
00076
00085 double compute_value (const unsigned int i,
00086 const Point<2> &p) const;
00087
00096 Tensor<1,2> compute_grad (const unsigned int i,
00097 const Point<2> &p) const;
00107 Tensor<2,2> compute_grad_grad (const unsigned int i, const Point<2> &p) const;
00108 Tensor<2,2> compute_grad_grad_2 (const unsigned int i, const Point<2> &p) const;
00109
00110 private:
00116 Table<2, double> coef;
00117
00124 Table<2, double> dx;
00131 Table<2, double> dy;
00137 Table<2, double> dxx;
00143 Table<2, double> dyy;
00149 Table<2, double> dxy;
00150
00151 };
00152
00153
00154
00155 DEAL_II_NAMESPACE_CLOSE
00156
00157 #endif
00158