Reference documentation for deal.II version 8.5.1
fe_nothing.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2009 - 2016 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE at
12 // the top level of the deal.II distribution.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii__fe_nothing_h
17 #define dealii__fe_nothing_h
18 
19 #include <deal.II/base/config.h>
20 #include <deal.II/fe/fe.h>
21 
22 DEAL_II_NAMESPACE_OPEN
23 
24 
27 
79 template <int dim, int spacedim=dim>
80 class FE_Nothing : public FiniteElement<dim,spacedim>
81 {
82 public:
83 
95  FE_Nothing (const unsigned int n_components = 1,
96  const bool dominate = false);
97 
104  virtual
106  clone() const;
107 
112  virtual
113  std::string
114  get_name() const;
115 
116  // for documentation, see the FiniteElement base class
117  virtual
119  requires_update_flags (const UpdateFlags update_flags) const;
120 
128  virtual
129  double
130  shape_value (const unsigned int i, const Point<dim> &p) const;
131 
132  virtual
133  void
134  fill_fe_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
135  const CellSimilarity::Similarity cell_similarity,
136  const Quadrature<dim> &quadrature,
137  const Mapping<dim,spacedim> &mapping,
138  const typename Mapping<dim,spacedim>::InternalDataBase &mapping_internal,
139  const ::internal::FEValues::MappingRelatedData<dim, spacedim> &mapping_data,
140  const typename FiniteElement<dim,spacedim>::InternalDataBase &fe_internal,
142 
143  virtual
144  void
145  fill_fe_face_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
146  const unsigned int face_no,
147  const Quadrature<dim-1> &quadrature,
148  const Mapping<dim,spacedim> &mapping,
149  const typename Mapping<dim,spacedim>::InternalDataBase &mapping_internal,
150  const ::internal::FEValues::MappingRelatedData<dim, spacedim> &mapping_data,
151  const typename FiniteElement<dim,spacedim>::InternalDataBase &fe_internal,
153 
154  virtual
155  void
156  fill_fe_subface_values (const typename Triangulation<dim,spacedim>::cell_iterator &cell,
157  const unsigned int face_no,
158  const unsigned int sub_no,
159  const Quadrature<dim-1> &quadrature,
160  const Mapping<dim,spacedim> &mapping,
161  const typename Mapping<dim,spacedim>::InternalDataBase &mapping_internal,
162  const ::internal::FEValues::MappingRelatedData<dim, spacedim> &mapping_data,
163  const typename FiniteElement<dim,spacedim>::InternalDataBase &fe_internal,
165 
175  virtual
177  get_data (const UpdateFlags update_flags,
178  const Mapping<dim,spacedim> &mapping,
179  const Quadrature<dim> &quadrature,
181 
196  virtual
199 
200 
201 
202  virtual
203  std::vector<std::pair<unsigned int, unsigned int> >
205 
206  virtual
207  std::vector<std::pair<unsigned int, unsigned int> >
208  hp_line_dof_identities (const FiniteElement<dim,spacedim> &fe_other) const;
209 
210  virtual
211  std::vector<std::pair<unsigned int, unsigned int> >
212  hp_quad_dof_identities (const FiniteElement<dim,spacedim> &fe_other) const;
213 
214  virtual
215  bool
217 
227  virtual
228  void
230  FullMatrix<double> &interpolation_matrix) const;
231 
232 
242  virtual
243  void
245  const unsigned int index,
246  FullMatrix<double> &interpolation_matrix) const;
247 
251  bool is_dominating() const;
252 
253 private:
254 
259  const bool dominate;
260 };
261 
262 
265 DEAL_II_NAMESPACE_CLOSE
266 
267 #endif
268 
bool is_dominating() const
Definition: fe_nothing.cc:165
virtual UpdateFlags requires_update_flags(const UpdateFlags update_flags) const
Definition: fe_nothing.cc:75
virtual double shape_value(const unsigned int i, const Point< dim > &p) const
Definition: fe_nothing.cc:84
UpdateFlags
virtual void get_face_interpolation_matrix(const FiniteElement< dim, spacedim > &source_fe, FullMatrix< double > &interpolation_matrix) const
Definition: fe_nothing.cc:245
Abstract base class for mapping classes.
Definition: dof_tools.h:46
virtual FiniteElement< dim, spacedim > * clone() const
Definition: fe_nothing.cc:52
virtual bool hp_constraints_are_implemented() const
Definition: fe_nothing.cc:236
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_line_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const
Definition: fe_nothing.cc:210
unsigned int n_components() const
const bool dominate
Definition: fe_nothing.h:259
virtual std::string get_name() const
Definition: fe_nothing.cc:61
virtual void get_subface_interpolation_matrix(const FiniteElement< dim, spacedim > &source_fe, const unsigned int index, FullMatrix< double > &interpolation_matrix) const
Definition: fe_nothing.cc:264
FE_Nothing(const unsigned int n_components=1, const bool dominate=false)
Definition: fe_nothing.cc:31
virtual FiniteElementDomination::Domination compare_for_face_domination(const FiniteElement< dim, spacedim > &fe_other) const
Definition: fe_nothing.cc:174
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_quad_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const
Definition: fe_nothing.cc:223
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_vertex_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const
Definition: fe_nothing.cc:197
virtual FiniteElement< dim, spacedim >::InternalDataBase * get_data(const UpdateFlags update_flags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim > &quadrature, ::internal::FEValues::FiniteElementRelatedData< dim, spacedim > &output_data) const
Definition: fe_nothing.cc:96