Reference documentation for deal.II version 9.5.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\}}\)
Loading...
Searching...
No Matches
data_out_rotation.h
Go to the documentation of this file.
1// ---------------------------------------------------------------------
2//
3// Copyright (C) 2000 - 2022 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_rotation_h
17#define dealii_data_out_rotation_h
18
19
20#include <deal.II/base/config.h>
21
23
24#include <string>
25#include <vector>
26
28
29
30namespace internal
31{
32 namespace DataOutRotationImplementation
33 {
39 template <int dim, int spacedim>
42 {
43 ParallelData(const unsigned int n_datasets,
44 const unsigned int n_subdivisions,
45 const unsigned int n_patches_per_circle,
46 const std::vector<unsigned int> &n_postprocessor_outputs,
47 const Mapping<dim, spacedim> & mapping,
48 const std::vector<
49 std::shared_ptr<::hp::FECollection<dim, spacedim>>>
52
53 const unsigned int n_patches_per_circle;
54
55 std::vector<Point<spacedim>> patch_evaluation_points;
56 };
57 } // namespace DataOutRotationImplementation
58} // namespace internal
59
60
61
114template <int dim, int spacedim = dim>
116 : public DataOut_DoFData<dim, dim + 1, spacedim, spacedim + 1>
117{
118 static_assert(dim == spacedim, "Not implemented for dim != spacedim.");
119
120public:
124 static constexpr int patch_dim = dim + 1;
125 static constexpr int patch_spacedim = spacedim + 1;
126
134
152 virtual void
153 build_patches(const unsigned int n_patches_per_circle,
154 const unsigned int n_subdivisions = 0);
155
162 virtual cell_iterator
163 first_cell();
164
176 virtual cell_iterator
177 next_cell(const cell_iterator &cell);
178
183 double,
184 << "You are attempting to use this class on a triangulation "
185 "in which some vertices have a negative radial coordinate "
186 "value of "
187 << arg1
188 << ". If you rotate such a triangulation around an "
189 "axis, you will get (dim+1)-dimensional meshes "
190 "that are not likely what you hoped to see.");
191
192private:
198 void
200 const cell_iterator * cell,
202 std::vector<DataOutBase::Patch<patch_dim, patch_spacedim>> &my_patches);
203};
204
205
207
208#endif
virtual void build_patches(const unsigned int n_patches_per_circle, const unsigned int n_subdivisions=0)
static constexpr int patch_dim
void build_one_patch(const cell_iterator *cell, internal::DataOutRotationImplementation::ParallelData< dim, spacedim > &data, std::vector< DataOutBase::Patch< patch_dim, patch_spacedim > > &my_patches)
typename DataOut_DoFData< dim, patch_dim, spacedim, patch_spacedim >::cell_iterator cell_iterator
virtual cell_iterator next_cell(const cell_iterator &cell)
static constexpr int patch_spacedim
virtual cell_iterator first_cell()
Abstract base class for mapping classes.
Definition mapping.h:317
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:472
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:473
static ::ExceptionBase & ExcRadialVariableHasNegativeValues(double arg1)
#define DeclException1(Exception1, type1, outsequence)
Definition exceptions.h:510
UpdateFlags
const std::vector< std::shared_ptr<::hp::FECollection< dim, spacedim > > > finite_elements
std::vector< Point< spacedim > > patch_evaluation_points