deal.II version GIT relicensing-6809-ge913b9bb34 2026-09-25 17: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
data_out.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) 1999 - 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_data_out_h
14#define dealii_data_out_h
15
16
17
18#include <deal.II/base/config.h>
19
21
23
24#include <memory>
25
27
28namespace internal
29{
30 namespace DataOutImplementation
31 {
37 template <int dim, int spacedim>
38 struct ParallelData : public ParallelDataBase<dim, spacedim>
39 {
41 const unsigned int n_datasets,
42 const unsigned int n_subdivisions,
43 const std::vector<unsigned int> &n_postprocessor_outputs,
44 const ::hp::MappingCollection<dim, spacedim> &mapping,
45 const std::vector<
46 std::shared_ptr<::hp::FECollection<dim, spacedim>>>
49 const std::vector<std::vector<unsigned int>> &cell_to_patch_index_map);
50
51 std::vector<Point<spacedim>> patch_evaluation_points;
52
53 const std::vector<std::vector<unsigned int>> *cell_to_patch_index_map;
54 };
55 } // namespace DataOutImplementation
56} // namespace internal
57
58
59
143template <int dim, int spacedim = dim>
144class DataOut : public DataOut_DoFData<dim, dim, spacedim, spacedim>
145{
146public:
153
159 typename std::function<cell_iterator(const Triangulation<dim, spacedim> &)>;
160
166 typename std::function<cell_iterator(const Triangulation<dim, spacedim> &,
167 const cell_iterator &)>;
168
211
215 DataOut();
216
275 virtual void
276 build_patches(const unsigned int n_subdivisions = 0);
277
306 virtual void
308 const unsigned int n_subdivisions = 0,
309 const CurvedCellRegion curved_region = curved_boundary);
310
314 virtual void
316 const unsigned int n_subdivisions = 0,
317 const CurvedCellRegion curved_region = curved_boundary);
318
363 void
365 const std::function<cell_iterator(const Triangulation<dim, spacedim> &)>
366 &first_cell,
367 const std::function<cell_iterator(const Triangulation<dim, spacedim> &,
368 const cell_iterator &)> &next_cell);
369
406 void
407 set_cell_selection(const FilteredIterator<cell_iterator> &filtered_iterator);
408
413 std::pair<FirstCellFunctionType, NextCellFunctionType>
414 get_cell_selection() const;
415
416private:
422 std::function<cell_iterator(const Triangulation<dim, spacedim> &)>
424
430 std::function<cell_iterator(const Triangulation<dim, spacedim> &,
431 const cell_iterator &)>
433
443 void
445 const std::pair<cell_iterator, unsigned int> *cell_and_index,
447 const unsigned int n_subdivisions,
448 const CurvedCellRegion curved_cell_region);
449};
450
451
453
454#endif
typename Triangulation< dim, spacedim >::cell_iterator cell_iterator
DataOut()
Definition data_out.cc:65
virtual void build_patches(const unsigned int n_subdivisions=0)
Definition data_out.cc:1060
CurvedCellRegion
Definition data_out.h:183
@ curved_boundary
Definition data_out.h:201
@ no_curved_cells
Definition data_out.h:192
@ curved_inner_cells
Definition data_out.h:209
typename std::function< cell_iterator(const Triangulation< dim, spacedim > &)> FirstCellFunctionType
Definition data_out.h:159
typename std::function< cell_iterator(const Triangulation< dim, spacedim > &, const cell_iterator &)> NextCellFunctionType
Definition data_out.h:167
void build_one_patch(const std::pair< cell_iterator, unsigned int > *cell_and_index, internal::DataOutImplementation::ParallelData< dim, spacedim > &scratch_data, const unsigned int n_subdivisions, const CurvedCellRegion curved_cell_region)
Definition data_out.cc:93
typename DataOut_DoFData< dim, dim, spacedim, spacedim >::cell_iterator cell_iterator
Definition data_out.h:152
void set_cell_selection(const std::function< cell_iterator(const Triangulation< dim, spacedim > &)> &first_cell, const std::function< cell_iterator(const Triangulation< dim, spacedim > &, const cell_iterator &)> &next_cell)
Definition data_out.cc:1268
std::function< cell_iterator(const Triangulation< dim, spacedim > &)> first_cell_function
Definition data_out.h:423
std::function< cell_iterator(const Triangulation< dim, spacedim > &, const cell_iterator &)> next_cell_function
Definition data_out.h:432
std::pair< FirstCellFunctionType, NextCellFunctionType > get_cell_selection() const
Definition data_out.cc:1324
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
const std::vector< std::shared_ptr<::hp::FECollection< dim, spacedim > > > finite_elements
const std::vector< std::vector< unsigned int > > * cell_to_patch_index_map
Definition data_out.h:53
std::vector< Point< spacedim > > patch_evaluation_points
Definition data_out.h:51