Reference documentation for deal.II version 8.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
fe_poly_face.h
1 // ---------------------------------------------------------------------
2 // @f$Id: fe_poly_face.h 30036 2013-07-18 16:55:32Z maier @f$
3 //
4 // Copyright (C) 2009 - 2013 by the deal.II authors
5 //
6 // This file is part of the deal.II library.
7 //
8 // The deal.II library is free software; you can use it, redistribute
9 // it, and/or modify it under the terms of the GNU Lesser General
10 // Public License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 // The full text of the license can be found in the file LICENSE at
13 // the top level of the deal.II distribution.
14 //
15 // ---------------------------------------------------------------------
16 
17 #ifndef __deal2__fe_poly_face_h
18 #define __deal2__fe_poly_face_h
19 
20 
21 #include <deal.II/fe/fe.h>
22 
24 
27 
60 template <class POLY, int dim=POLY::dimension+1, int spacedim=dim>
61 class FE_PolyFace : public FiniteElement<dim,spacedim>
62 {
63 public:
67  FE_PolyFace (const POLY &poly_space,
68  const FiniteElementData<dim> &fe_data,
69  const std::vector<bool> &restriction_is_additive_flags);
70 
77  unsigned int get_degree () const;
78 
87 // virtual double shape_value (const unsigned int i,
88 // const Point<dim> &p) const;
89 
107 // virtual double shape_value_component (const unsigned int i,
108 // const Point<dim> &p,
109 // const unsigned int component) const;
110 
119 // virtual Tensor<1,dim> shape_grad (const unsigned int i,
120 // const Point<dim> &p) const;
121 
139 // virtual Tensor<1,dim> shape_grad_component (const unsigned int i,
140 // const Point<dim> &p,
141 // const unsigned int component) const;
142 
153 // virtual Tensor<2,dim> shape_grad_grad (const unsigned int i,
154 // const Point<dim> &p) const;
155 
173 // virtual Tensor<2,dim> shape_grad_grad_component (const unsigned int i,
174 // const Point<dim> &p,
175 // const unsigned int component) const;
176 
177 protected:
178 
179  virtual
181  get_data (const UpdateFlags,
182  const Mapping<dim,spacedim> &mapping,
183  const Quadrature<dim> &quadrature) const ;
184 
186  get_face_data (const UpdateFlags,
187  const Mapping<dim,spacedim> &mapping,
188  const Quadrature<dim-1>& quadrature) const ;
189 
192  const Mapping<dim,spacedim> &mapping,
193  const Quadrature<dim-1>& quadrature) const ;
194 
195  virtual void
196  fill_fe_values (const Mapping<dim,spacedim> &mapping,
197  const typename Triangulation<dim,spacedim>::cell_iterator &cell,
198  const Quadrature<dim> &quadrature,
199  typename Mapping<dim,spacedim>::InternalDataBase &mapping_internal,
200  typename Mapping<dim,spacedim>::InternalDataBase &fe_internal,
202  CellSimilarity::Similarity &cell_similarity) const;
203 
204  virtual void
206  const typename Triangulation<dim,spacedim>::cell_iterator &cell,
207  const unsigned int face_no,
208  const Quadrature<dim-1> &quadrature,
209  typename Mapping<dim,spacedim>::InternalDataBase &mapping_internal,
210  typename Mapping<dim,spacedim>::InternalDataBase &fe_internal,
211  FEValuesData<dim,spacedim> &data) const ;
212 
213  virtual void
215  const typename Triangulation<dim,spacedim>::cell_iterator &cell,
216  const unsigned int face_no,
217  const unsigned int sub_no,
218  const Quadrature<dim-1> &quadrature,
219  typename Mapping<dim,spacedim>::InternalDataBase &mapping_internal,
220  typename Mapping<dim,spacedim>::InternalDataBase &fe_internal,
221  FEValuesData<dim,spacedim> &data) const ;
222 
223 
250  virtual UpdateFlags update_once (const UpdateFlags flags) const;
251 
306  virtual UpdateFlags update_each (const UpdateFlags flags) const;
307 
308 
317  class InternalData : public FiniteElement<dim,spacedim>::InternalDataBase
318  {
319  public:
345  std::vector<std::vector<double> > shape_values;
346  };
347 
354 };
355 
358 DEAL_II_NAMESPACE_CLOSE
359 
360 #endif
std::vector< std::vector< double > > shape_values
Definition: fe_poly_face.h:345
virtual void fill_fe_values(const Mapping< dim, spacedim > &mapping, const typename Triangulation< dim, spacedim >::cell_iterator &cell, const Quadrature< dim > &quadrature, typename Mapping< dim, spacedim >::InternalDataBase &mapping_internal, typename Mapping< dim, spacedim >::InternalDataBase &fe_internal, FEValuesData< dim, spacedim > &data, CellSimilarity::Similarity &cell_similarity) const
const std::vector< bool > restriction_is_additive_flags
Definition: fe.h:1909
unsigned int get_degree() const
UpdateFlags
virtual UpdateFlags update_each(const UpdateFlags flags) const
Mapping< dim, spacedim >::InternalDataBase * get_face_data(const UpdateFlags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim-1 > &quadrature) const
virtual void fill_fe_subface_values(const Mapping< dim, spacedim > &mapping, const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const unsigned int sub_no, const Quadrature< dim-1 > &quadrature, typename Mapping< dim, spacedim >::InternalDataBase &mapping_internal, typename Mapping< dim, spacedim >::InternalDataBase &fe_internal, FEValuesData< dim, spacedim > &data) const
FE_PolyFace(const POLY &poly_space, const FiniteElementData< dim > &fe_data, const std::vector< bool > &restriction_is_additive_flags)
virtual Mapping< dim, spacedim >::InternalDataBase * get_data(const UpdateFlags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim > &quadrature) const
virtual void fill_fe_face_values(const Mapping< dim, spacedim > &mapping, const typename Triangulation< dim, spacedim >::cell_iterator &cell, const unsigned int face_no, const Quadrature< dim-1 > &quadrature, typename Mapping< dim, spacedim >::InternalDataBase &mapping_internal, typename Mapping< dim, spacedim >::InternalDataBase &fe_internal, FEValuesData< dim, spacedim > &data) const
virtual UpdateFlags update_once(const UpdateFlags flags) const
Mapping< dim, spacedim >::InternalDataBase * get_subface_data(const UpdateFlags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim-1 > &quadrature) const