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\}}\)
data_out_faces.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2000 - 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_data_out_faces_h
17 #define dealii_data_out_faces_h
18 
19 
20 #include <deal.II/base/config.h>
21 
23 
24 #include <string>
25 #include <vector>
26 
28 
29 
30 namespace internal
31 {
32  namespace DataOutFacesImplementation
33  {
39  template <int dim, int spacedim>
40  struct ParallelData
42  {
43  ParallelData(const unsigned int n_datasets,
44  const unsigned int n_subdivisions,
45  const std::vector<unsigned int> &n_postprocessor_outputs,
46  const Mapping<dim, spacedim> & mapping,
47  const std::vector<
48  std::shared_ptr<::hp::FECollection<dim, spacedim>>>
51 
52  std::vector<Point<spacedim>> patch_evaluation_points;
53  };
54  } // namespace DataOutFacesImplementation
55 } // namespace internal
56 
57 
116 template <int dim, typename DoFHandlerType = DoFHandler<dim>>
117 class DataOutFaces : public DataOut_DoFData<DoFHandlerType,
118  DoFHandlerType::dimension - 1,
119  DoFHandlerType::dimension>
120 {
121 public:
126  static const unsigned int dimension = DoFHandlerType::dimension;
127 
132  static const unsigned int space_dimension = DoFHandlerType::space_dimension;
133 
138  using cell_iterator = typename DataOut_DoFData<DoFHandlerType,
139  dimension - 1,
141 
146  DataOutFaces(const bool surface_only = true);
147 
162  virtual void
163  build_patches(const unsigned int n_subdivisions = 0);
164 
185  virtual void
186  build_patches(const Mapping<dimension> &mapping,
187  const unsigned int n_subdivisions = 0);
188 
197  using FaceDescriptor = typename std::pair<cell_iterator, unsigned int>;
198 
199 
210  virtual FaceDescriptor
211  first_face();
212 
234  virtual FaceDescriptor
235  next_face(const FaceDescriptor &face);
236 
237 private:
241  const bool surface_only;
242 
246  void
248  const FaceDescriptor *cell_and_face,
250  & data,
252 };
253 
254 
256 
257 #endif
DataOutFaces::build_one_patch
void build_one_patch(const FaceDescriptor *cell_and_face, internal::DataOutFacesImplementation::ParallelData< dimension, dimension > &data, DataOutBase::Patch< dimension - 1, space_dimension > &patch)
Definition: data_out_faces.cc:94
DataOutFaces::build_patches
virtual void build_patches(const unsigned int n_subdivisions=0)
Definition: data_out_faces.cc:321
DataOutFaces::first_face
virtual FaceDescriptor first_face()
Definition: data_out_faces.cc:420
internal::DataOutFacesImplementation::ParallelData::patch_evaluation_points
std::vector< Point< spacedim > > patch_evaluation_points
Definition: data_out_faces.h:52
internal::DataOutImplementation::ParallelDataBase
Definition: data_out_dof_data.h:405
internal::DataOutFacesImplementation::ParallelData
Definition: data_out_faces.h:40
DataOutFaces
Definition: data_out_faces.h:117
DataOutFaces::space_dimension
static const unsigned int space_dimension
Definition: data_out_faces.h:132
Mapping
Abstract base class for mapping classes.
Definition: mapping.h:302
DataOutFaces::surface_only
const bool surface_only
Definition: data_out_faces.h:241
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:358
DataOutFaces::dimension
static const unsigned int dimension
Definition: data_out_faces.h:126
DataOut_DoFData
Definition: data_out_dof_data.h:602
UpdateFlags
UpdateFlags
Definition: fe_update_flags.h:66
internal::DataOutImplementation::ParallelDataBase::n_datasets
const unsigned int n_datasets
Definition: data_out_dof_data.h:434
DataOutFaces::cell_iterator
typename DataOut_DoFData< DoFHandlerType, dimension - 1, dimension >::cell_iterator cell_iterator
Definition: data_out_faces.h:140
DataOutFaces::next_face
virtual FaceDescriptor next_face(const FaceDescriptor &face)
Definition: data_out_faces.cc:441
DataOutFaces::DataOutFaces
DataOutFaces(const bool surface_only=true)
Definition: data_out_faces.cc:84
internal::DataOutImplementation::ParallelDataBase::finite_elements
const std::vector< std::shared_ptr<::hp::FECollection< dim, spacedim > > > finite_elements
Definition: data_out_dof_data.h:444
config.h
internal::DataOutImplementation::ParallelDataBase::n_subdivisions
const unsigned int n_subdivisions
Definition: data_out_dof_data.h:435
internal::DataOutImplementation::ParallelDataBase::update_flags
const UpdateFlags update_flags
Definition: data_out_dof_data.h:445
internal
Definition: aligned_vector.h:369
DataOutBase::Patch
Definition: data_out_base.h:248
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:359
data_out.h
internal::DataOutFacesImplementation::ParallelData::ParallelData
ParallelData(const unsigned int n_datasets, const unsigned int n_subdivisions, const std::vector< unsigned int > &n_postprocessor_outputs, const Mapping< dim, spacedim > &mapping, const std::vector< std::shared_ptr<::hp::FECollection< dim, spacedim >>> &finite_elements, const UpdateFlags update_flags)
Definition: data_out_faces.cc:44
DataOutFaces::FaceDescriptor
typename std::pair< cell_iterator, unsigned int > FaceDescriptor
Definition: data_out_faces.h:197
hp::FECollection
Definition: fe_collection.h:54