include/deal.II/fe/fe_nothing.h

00001 //---------------------------------------------------------------------------
00002 //    @f$Id: fe_nothing.h 25509 2012-05-16 10:37:36Z bangerth @f$
00003 //
00004 //    Copyright (C) 2009, 2010, 2011, 2012 by the deal.II authors
00005 //
00006 //    This file is subject to QPL and may not be  distributed
00007 //    without copyright and license information. Please refer
00008 //    to the file deal.II/doc/license.html for the  text  and
00009 //    further information on this license.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Tue May 22 2012 12:06:08 by doxygen 1.7.3