Reference documentation for deal.II version 8.1.0
data_out_rotation.h
1 // ---------------------------------------------------------------------
2 // @f$Id: data_out_rotation.h 31076 2013-10-02 17:52:30Z heister @f$
3 //
4 // Copyright (C) 2000 - 2013 by the deal.II authors
5 //
6 // This file is part of the deal.II library.
7 //
8 // The deal.II library is free software; you can use it, redistribute
9 // it, and/or modify it under the terms of the GNU Lesser General
10 // Public License as published by the Free Software Foundation; either
11 // version 2.1 of the License, or (at your option) any later version.
12 // The full text of the license can be found in the file LICENSE at
13 // the top level of the deal.II distribution.
14 //
15 // ---------------------------------------------------------------------
16 
17 #ifndef __deal2__data_out_rotation_h
18 #define __deal2__data_out_rotation_h
19 
20 
21 #include <deal.II/base/config.h>
22 #include <deal.II/numerics/data_out_dof_data.h>
23 
24 #include <string>
25 #include <vector>
26 
28 
29 
30 namespace internal
31 {
32  namespace DataOutRotation
33  {
43  template <int dim, int spacedim>
44  struct ParallelData : public internal::DataOut::ParallelDataBase<dim,spacedim>
45  {
46  ParallelData (const unsigned int n_datasets,
47  const unsigned int n_subdivisions,
48  const unsigned int n_patches_per_circle,
49  const std::vector<unsigned int> &n_postprocessor_outputs,
50  const Mapping<dim,spacedim> &mapping,
51  const std::vector<std_cxx1x::shared_ptr<::hp::FECollection<dim,spacedim> > > &finite_elements,
52  const UpdateFlags update_flags);
53 
54  const unsigned int n_patches_per_circle;
55 
56  std::vector<Point<spacedim> > patch_evaluation_points;
57  };
58  }
59 }
60 
61 
62 
120 template <int dim, class DH=DoFHandler<dim> >
121 class DataOutRotation : public DataOut_DoFData<DH,DH::dimension+1>
122 {
123 public:
130 
155  virtual void build_patches (const unsigned int n_patches_per_circle,
156  const unsigned int n_subdivisions = 0);
157 
167  virtual cell_iterator first_cell ();
168 
188  virtual cell_iterator next_cell (const cell_iterator &cell);
189 
193  DeclException1 (ExcInvalidNumberOfSubdivisions,
194  int,
195  << "The number of subdivisions per patch, " << arg1
196  << ", is not valid.");
200  DeclException1 (ExcRadialVariableHasNegativeValues,
201  double,
202  << "The radial variable attains a negative value of " << arg1);
203 
204 private:
213  void
214  build_one_patch (const cell_iterator *cell,
217 };
218 
219 
220 DEAL_II_NAMESPACE_CLOSE
221 
222 #endif
#define DeclException1(Exception1, type1, outsequence)
Definition: exceptions.h:515
UpdateFlags
DataOut_DoFData< DH, DH::dimension+1 >::cell_iterator cell_iterator