17 #include <deal.II/fe/fe_nothing.h> 18 #include <deal.II/base/std_cxx14/memory.h> 20 DEAL_II_NAMESPACE_OPEN
29 zero_dof_message =
"This element has no shape functions.";
37 template <
int dim,
int spacedim>
57 template <
int dim,
int spacedim>
58 std::unique_ptr<FiniteElement<dim,spacedim> >
61 return std_cxx14::make_unique<FE_Nothing<dim,spacedim>>(*this);
66 template <
int dim,
int spacedim>
70 std::ostringstream namebuf;
71 namebuf <<
"FE_Nothing<" << dim <<
">(";
76 namebuf <<
", dominating";
79 namebuf <<
"dominating";
86 template <
int dim,
int spacedim>
95 template <
int dim,
int spacedim>
100 (void)internal::FE_Nothing::zero_dof_message;
107 template <
int dim,
int spacedim>
108 std::unique_ptr<typename FiniteElement<dim,spacedim>::InternalDataBase>
117 return std_cxx14::make_unique<typename FiniteElement<dim,spacedim>::InternalDataBase>();
122 template <
int dim,
int spacedim>
130 const ::internal::FEValuesImplementation::MappingRelatedData<dim, spacedim> &,
139 template <
int dim,
int spacedim>
147 const ::internal::FEValuesImplementation::MappingRelatedData<dim, spacedim> &,
156 template <
int dim,
int spacedim>
165 const ::internal::FEValuesImplementation::MappingRelatedData<dim, spacedim> &,
174 template <
int dim,
int spacedim>
183 template <
int dim,
int spacedim>
196 return ((dominate == f_nothing->dominate)
198 (this->components == f_nothing->components));
205 template <
int dim,
int spacedim>
228 template <
int dim,
int spacedim>
229 std::vector<std::pair<unsigned int, unsigned int> >
237 return std::vector<std::pair<unsigned int, unsigned int> > ();
241 template <
int dim,
int spacedim>
242 std::vector<std::pair<unsigned int, unsigned int> >
250 return std::vector<std::pair<unsigned int, unsigned int> > ();
254 template <
int dim,
int spacedim>
255 std::vector<std::pair<unsigned int, unsigned int> >
263 return std::vector<std::pair<unsigned int, unsigned int> > ();
267 template <
int dim,
int spacedim>
277 template <
int dim,
int spacedim>
285 (void)interpolation_matrix;
287 Assert (interpolation_matrix.
m() == 0,
290 Assert (interpolation_matrix.
n() == 0,
297 template <
int dim,
int spacedim>
305 (void)interpolation_matrix;
307 Assert (interpolation_matrix.
m() == 0,
310 Assert (interpolation_matrix.
n() == 0,
316 template <
int dim,
int spacedim>
326 (void)interpolation_matrix;
327 Assert (interpolation_matrix.
m() == 0,
330 Assert (interpolation_matrix.
n() == 0,
338 #include "fe_nothing.inst" 341 DEAL_II_NAMESPACE_CLOSE
bool is_dominating() const
virtual double shape_value(const unsigned int i, const Point< dim > &p) const override
virtual FiniteElementDomination::Domination compare_for_face_domination(const FiniteElement< dim, spacedim > &fe_other) const override
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_line_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const override
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_vertex_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const override
virtual std::vector< std::pair< unsigned int, unsigned int > > hp_quad_dof_identities(const FiniteElement< dim, spacedim > &fe_other) const override
virtual void get_face_interpolation_matrix(const FiniteElement< dim, spacedim > &source_fe, FullMatrix< double > &interpolation_matrix) const override
virtual void get_interpolation_matrix(const FiniteElement< dim, spacedim > &source_fe, FullMatrix< double > &interpolation_matrix) const override
virtual UpdateFlags requires_update_flags(const UpdateFlags update_flags) const override
virtual void get_subface_interpolation_matrix(const FiniteElement< dim, spacedim > &source_fe, const unsigned int index, FullMatrix< double > &interpolation_matrix) const override
virtual std::unique_ptr< typename FiniteElement< dim, spacedim >::InternalDataBase > get_data(const UpdateFlags update_flags, const Mapping< dim, spacedim > &mapping, const Quadrature< dim > &quadrature, ::internal::FEValuesImplementation::FiniteElementRelatedData< dim, spacedim > &output_data) const override
static ::ExceptionBase & ExcMessage(std::string arg1)
#define Assert(cond, exc)
static ::ExceptionBase & ExcDimensionMismatch(std::size_t arg1, std::size_t arg2)
virtual bool hp_constraints_are_implemented() const override
Abstract base class for mapping classes.
virtual std::unique_ptr< FiniteElement< dim, spacedim > > clone() const override
virtual std::string get_name() const override
virtual bool operator==(const FiniteElement< dim, spacedim > &fe) const override
FE_Nothing(const unsigned int n_components=1, const bool dominate=false)
unsigned int n_components(const DoFHandler< dim, spacedim > &dh)