00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __deal2__fe_nothing_h
00013 #define __deal2__fe_nothing_h
00014
00015 #include <deal.II/base/config.h>
00016 #include <deal.II/fe/fe.h>
00017
00018 DEAL_II_NAMESPACE_OPEN
00019
00020
00023
00075 template <int dim>
00076 class FE_Nothing : public FiniteElement<dim>
00077 {
00078 public:
00079
00085 FE_Nothing (unsigned int n_components = 1);
00086
00098 virtual
00099 FiniteElement<dim> *
00100 clone() const;
00101
00108 virtual
00109 std::string
00110 get_name() const;
00111
00137 virtual
00138 UpdateFlags
00139 update_once (const UpdateFlags flags) const;
00140
00156 virtual
00157 UpdateFlags
00158 update_each (const UpdateFlags flags) const;
00159
00171 virtual
00172 double
00173 shape_value (const unsigned int i, const Point<dim> &p) const;
00174
00187 virtual
00188 void
00189 fill_fe_values (const Mapping<dim> & mapping,
00190 const typename Triangulation<dim>::cell_iterator & cell,
00191 const Quadrature<dim> & quadrature,
00192 typename Mapping<dim>::InternalDataBase & mapping_data,
00193 typename Mapping<dim>::InternalDataBase & fedata,
00194 FEValuesData<dim,dim> & data,
00195 CellSimilarity::Similarity & cell_similarity) const;
00196
00209 virtual
00210 void
00211 fill_fe_face_values (const Mapping<dim> & mapping,
00212 const typename Triangulation<dim> :: cell_iterator & cell,
00213 const unsigned int face,
00214 const Quadrature<dim-1> & quadrature,
00215 typename Mapping<dim> :: InternalDataBase & mapping_data,
00216 typename Mapping<dim> :: InternalDataBase & fedata,
00217 FEValuesData<dim,dim> & data) const;
00218
00231 virtual
00232 void
00233 fill_fe_subface_values (const Mapping<dim> & mapping,
00234 const typename Triangulation<dim>::cell_iterator & cell,
00235 const unsigned int face,
00236 const unsigned int subface,
00237 const Quadrature<dim-1> & quadrature,
00238 typename Mapping<dim>::InternalDataBase & mapping_data,
00239 typename Mapping<dim>::InternalDataBase & fedata,
00240 FEValuesData<dim,dim> & data) const;
00241
00258 virtual
00259 typename Mapping<dim>::InternalDataBase *
00260 get_data (const UpdateFlags update_flags,
00261 const Mapping<dim> & mapping,
00262 const Quadrature<dim> & quadrature) const;
00263
00282 virtual
00283 FiniteElementDomination::Domination
00284 compare_for_face_domination (const FiniteElement<dim> & fe_other) const;
00285
00286
00287
00288 virtual
00289 std::vector<std::pair<unsigned int, unsigned int> >
00290 hp_vertex_dof_identities (const FiniteElement<dim> &fe_other) const;
00291
00292 virtual
00293 std::vector<std::pair<unsigned int, unsigned int> >
00294 hp_line_dof_identities (const FiniteElement<dim> &fe_other) const;
00295
00296 virtual
00297 std::vector<std::pair<unsigned int, unsigned int> >
00298 hp_quad_dof_identities (const FiniteElement<dim> &fe_other) const;
00299
00300 virtual
00301 bool
00302 hp_constraints_are_implemented () const;
00303
00318 virtual
00319 void
00320 get_face_interpolation_matrix (const FiniteElement<dim> &source_fe,
00321 FullMatrix<double> &interpolation_matrix) const;
00322
00323
00338 virtual
00339 void
00340 get_subface_interpolation_matrix (const FiniteElement<dim> & source_fe,
00341 const unsigned int index,
00342 FullMatrix<double> &interpolation_matrix) const;
00343
00344
00345 };
00346
00347
00350 DEAL_II_NAMESPACE_CLOSE
00351
00352 #endif
00353
00354