Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
fe_p1nc.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2015 - 2019 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.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_fe_p1nc_h
17 #define dealii_fe_p1nc_h
18 
19 #include <deal.II/base/config.h>
20 
23 
24 #include <deal.II/fe/fe.h>
25 
26 
28 
29 
32 
259 class FE_P1NC : public FiniteElement<2, 2>
260 {
261 public:
266  FE_P1NC();
267 
268  virtual std::string
269  get_name() const override;
270 
271  virtual UpdateFlags
272  requires_update_flags(const UpdateFlags flags) const override;
273 
274  virtual std::unique_ptr<FiniteElement<2, 2>>
275  clone() const override;
276 
280  virtual ~FE_P1NC() override = default;
281 
282 
283 
284 private:
289  static std::vector<unsigned int>
290  get_dpo_vector();
291 
297  static std::array<std::array<double, 3>, 4>
299 
308  virtual std::unique_ptr<FiniteElement<2, 2>::InternalDataBase>
309  get_data(
310  const UpdateFlags update_flags,
311  const Mapping<2, 2> &,
312  const Quadrature<2> &quadrature,
314  &output_data) const override;
315 
316  virtual std::unique_ptr<FiniteElement<2, 2>::InternalDataBase>
318  const UpdateFlags update_flags,
319  const Mapping<2, 2> &,
320  const Quadrature<1> &quadrature,
322  &output_data) const override;
323 
324  virtual std::unique_ptr<FiniteElement<2, 2>::InternalDataBase>
326  const UpdateFlags update_flags,
327  const Mapping<2, 2> &,
328  const Quadrature<1> &quadrature,
330  &output_data) const override;
331 
335  virtual void
338  const CellSimilarity::Similarity cell_similarity,
339  const Quadrature<2> & quadrature,
340  const Mapping<2, 2> & mapping,
341  const Mapping<2, 2>::InternalDataBase & mapping_internal,
343  & mapping_data,
344  const FiniteElement<2, 2>::InternalDataBase &fe_internal,
346  &output_data) const override;
347 
351  virtual void
354  const unsigned int face_no,
355  const Quadrature<1> & quadrature,
356  const Mapping<2, 2> & mapping,
357  const Mapping<2, 2>::InternalDataBase & mapping_internal,
358  const ::internal::FEValuesImplementation::MappingRelatedData<2, 2>
359  & mapping_data,
360  const InternalDataBase &fe_internal,
362  &output_data) const override;
363 
367  virtual void
370  const unsigned int face_no,
371  const unsigned int sub_no,
372  const Quadrature<1> & quadrature,
373  const Mapping<2, 2> & mapping,
374  const Mapping<2, 2>::InternalDataBase & mapping_internal,
375  const ::internal::FEValuesImplementation::MappingRelatedData<2, 2>
376  & mapping_data,
377  const InternalDataBase &fe_internal,
379  &output_data) const override;
380 
384  void
386 };
387 
388 
389 
394 
395 #endif
FE_P1NC::get_face_data
virtual std::unique_ptr< FiniteElement< 2, 2 >::InternalDataBase > get_face_data(const UpdateFlags update_flags, const Mapping< 2, 2 > &, const Quadrature< 1 > &quadrature, ::internal::FEValuesImplementation::FiniteElementRelatedData< 2, 2 > &output_data) const override
Definition: fe_p1nc.cc:161
internal::FEValuesImplementation::FiniteElementRelatedData
Definition: fe_update_flags.h:524
internal::FEValuesImplementation::MappingRelatedData
Definition: fe_update_flags.h:418
FiniteElement< 2, 2 >::InternalDataBase
friend class InternalDataBase
Definition: fe.h:3048
FE_P1NC::fill_fe_values
virtual void fill_fe_values(const Triangulation< 2, 2 >::cell_iterator &cell, const CellSimilarity::Similarity cell_similarity, const Quadrature< 2 > &quadrature, const Mapping< 2, 2 > &mapping, const Mapping< 2, 2 >::InternalDataBase &mapping_internal, const internal::FEValuesImplementation::MappingRelatedData< 2, 2 > &mapping_data, const FiniteElement< 2, 2 >::InternalDataBase &fe_internal, internal::FEValuesImplementation::FiniteElementRelatedData< 2, 2 > &output_data) const override
Definition: fe_p1nc.cc:211
CellSimilarity::Similarity
Similarity
Definition: fe_update_flags.h:378
FE_P1NC::clone
virtual std::unique_ptr< FiniteElement< 2, 2 > > clone() const override
Definition: fe_p1nc.cc:69
FE_P1NC::requires_update_flags
virtual UpdateFlags requires_update_flags(const UpdateFlags flags) const override
Definition: fe_p1nc.cc:50
FE_P1NC::~FE_P1NC
virtual ~FE_P1NC() override=default
FE_P1NC::FE_P1NC
FE_P1NC()
Definition: fe_p1nc.cc:24
Mapping
Abstract base class for mapping classes.
Definition: mapping.h:302
FE_P1NC
Definition: fe_p1nc.h:259
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:358
fe.h
FE_P1NC::get_dpo_vector
static std::vector< unsigned int > get_dpo_vector()
Definition: fe_p1nc.cc:77
FE_P1NC::get_name
virtual std::string get_name() const override
Definition: fe_p1nc.cc:42
FiniteElement
Definition: fe.h:648
UpdateFlags
UpdateFlags
Definition: fe_update_flags.h:66
Mapping::InternalDataBase
Definition: mapping.h:597
quadrature.h
config.h
FE_P1NC::initialize_constraints
void initialize_constraints()
Definition: fe_p1nc.cc:340
FE_P1NC::get_linear_shape_coefficients
static std::array< std::array< double, 3 >, 4 > get_linear_shape_coefficients(const Triangulation< 2, 2 >::cell_iterator &cell)
Definition: fe_p1nc.cc:89
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:359
FE_P1NC::fill_fe_face_values
virtual void fill_fe_face_values(const Triangulation< 2, 2 >::cell_iterator &cell, const unsigned int face_no, const Quadrature< 1 > &quadrature, const Mapping< 2, 2 > &mapping, const Mapping< 2, 2 >::InternalDataBase &mapping_internal, const ::internal::FEValuesImplementation::MappingRelatedData< 2, 2 > &mapping_data, const InternalDataBase &fe_internal, ::internal::FEValuesImplementation::FiniteElementRelatedData< 2, 2 > &output_data) const override
Definition: fe_p1nc.cc:249
FE_P1NC::fill_fe_subface_values
virtual void fill_fe_subface_values(const Triangulation< 2, 2 >::cell_iterator &cell, const unsigned int face_no, const unsigned int sub_no, const Quadrature< 1 > &quadrature, const Mapping< 2, 2 > &mapping, const Mapping< 2, 2 >::InternalDataBase &mapping_internal, const ::internal::FEValuesImplementation::MappingRelatedData< 2, 2 > &mapping_data, const InternalDataBase &fe_internal, ::internal::FEValuesImplementation::FiniteElementRelatedData< 2, 2 > &output_data) const override
Definition: fe_p1nc.cc:293
Quadrature
Definition: quadrature.h:85
FE_P1NC::get_data
virtual std::unique_ptr< FiniteElement< 2, 2 >::InternalDataBase > get_data(const UpdateFlags update_flags, const Mapping< 2, 2 > &, const Quadrature< 2 > &quadrature, ::internal::FEValuesImplementation::FiniteElementRelatedData< 2, 2 > &output_data) const override
Definition: fe_p1nc.cc:136
TriaIterator
Definition: tria_iterator.h:578
FE_P1NC::get_subface_data
virtual std::unique_ptr< FiniteElement< 2, 2 >::InternalDataBase > get_subface_data(const UpdateFlags update_flags, const Mapping< 2, 2 > &, const Quadrature< 1 > &quadrature, ::internal::FEValuesImplementation::FiniteElementRelatedData< 2, 2 > &output_data) const override
Definition: fe_p1nc.cc:186
qprojector.h