deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
fe_p1nc.h
Go to the documentation of this file.
1// -----------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception OR LGPL-2.1-or-later
4// Copyright (C) 2016 - 2023 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Detailed license information governing the source code and contributions
9// can be found in LICENSE.md and CONTRIBUTING.md at the top level directory.
10//
11// -----------------------------------------------------------------------------
12
13#ifndef dealii_fe_p1nc_h
14#define dealii_fe_p1nc_h
15
16#include <deal.II/base/config.h>
17
20
21#include <deal.II/fe/fe.h>
22
23
25
26
256class FE_P1NC : public FiniteElement<2, 2>
257{
258public:
263 FE_P1NC();
264
265 virtual std::string
266 get_name() const override;
267
268 virtual UpdateFlags
269 requires_update_flags(const UpdateFlags flags) const override;
270
271 virtual std::unique_ptr<FiniteElement<2, 2>>
272 clone() const override;
273
277 virtual ~FE_P1NC() override = default;
278
279
280
281private:
286 static std::vector<unsigned int>
288
296
305 virtual std::unique_ptr<FiniteElement<2, 2>::InternalDataBase>
306 get_data(
307 const UpdateFlags update_flags,
308 const Mapping<2, 2> &,
309 const Quadrature<2> &quadrature,
311 &output_data) const override;
312
314
315 virtual std::unique_ptr<FiniteElement<2, 2>::InternalDataBase>
317 const UpdateFlags update_flags,
318 const Mapping<2, 2> &,
319 const hp::QCollection<1> &quadrature,
321 &output_data) const override;
322
323 virtual std::unique_ptr<FiniteElement<2, 2>::InternalDataBase>
325 const UpdateFlags update_flags,
326 const Mapping<2, 2> &,
327 const Quadrature<1> &quadrature,
329 &output_data) const override;
330
334 virtual void
337 const CellSimilarity::Similarity cell_similarity,
338 const Quadrature<2> &quadrature,
339 const Mapping<2, 2> &mapping,
340 const Mapping<2, 2>::InternalDataBase &mapping_internal,
342 &mapping_data,
343 const FiniteElement<2, 2>::InternalDataBase &fe_internal,
345 &output_data) const override;
346
348
352 virtual void
355 const unsigned int face_no,
356 const hp::QCollection<1> &quadrature,
357 const Mapping<2, 2> &mapping,
358 const Mapping<2, 2>::InternalDataBase &mapping_internal,
360 &mapping_data,
361 const InternalDataBase &fe_internal,
363 &output_data) const override;
364
368 virtual void
371 const unsigned int face_no,
372 const unsigned int sub_no,
373 const Quadrature<1> &quadrature,
374 const Mapping<2, 2> &mapping,
375 const Mapping<2, 2>::InternalDataBase &mapping_internal,
377 &mapping_data,
378 const InternalDataBase &fe_internal,
380 &output_data) const override;
381
385 void
387};
388
389
390
395
396#endif
FE_P1NC()
Definition fe_p1nc.cc:48
virtual std::unique_ptr< FiniteElement< 2, 2 >::InternalDataBase > get_face_data(const UpdateFlags update_flags, const Mapping< 2, 2 > &, const hp::QCollection< 1 > &quadrature, ::internal::FEValuesImplementation::FiniteElementRelatedData< 2, 2 > &output_data) const override
Definition fe_p1nc.cc:184
static ndarray< double, 4, 3 > get_linear_shape_coefficients(const Triangulation< 2, 2 >::cell_iterator &cell)
Definition fe_p1nc.cc:113
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:319
virtual std::unique_ptr< FiniteElement< 2, 2 > > clone() const override
Definition fe_p1nc.cc:93
virtual void fill_fe_face_values(const Triangulation< 2, 2 >::cell_iterator &cell, const unsigned int face_no, const hp::QCollection< 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:271
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:234
void initialize_constraints()
Definition fe_p1nc.cc:370
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:160
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:210
virtual UpdateFlags requires_update_flags(const UpdateFlags flags) const override
Definition fe_p1nc.cc:74
static std::vector< unsigned int > get_dpo_vector()
Definition fe_p1nc.cc:101
virtual std::string get_name() const override
Definition fe_p1nc.cc:66
virtual ~FE_P1NC() override=default
friend class InternalDataBase
Definition fe.h:3217
Abstract base class for mapping classes.
Definition mapping.h:318
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39
UpdateFlags
typename internal::ndarray::HelperArray< T, Ns... >::type ndarray
Definition ndarray.h:105