Reference documentation for deal.II version 8.4.2
data_postprocessor.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2007 - 2015 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 at
12 // the top level of the deal.II distribution.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii__data_postprocessor_h
17 #define dealii__data_postprocessor_h
18 
19 
20 
21 #include <deal.II/base/subscriptor.h>
22 #include <deal.II/base/tensor.h>
23 #include <deal.II/base/point.h>
24 #include <deal.II/lac/vector.h>
25 #include <deal.II/fe/fe_update_flags.h>
26 #include <deal.II/numerics/data_component_interpretation.h>
27 
28 #include <vector>
29 #include <string>
30 
31 DEAL_II_NAMESPACE_OPEN
32 
33 
113 template <int dim>
115 {
116 public:
122  virtual ~DataPostprocessor ();
123 
138  virtual
139  void
140  compute_derived_quantities_scalar (const std::vector<double> &uh,
141  const std::vector<Tensor<1,dim> > &duh,
142  const std::vector<Tensor<2,dim> > &dduh,
143  const std::vector<Point<dim> > &normals,
144  const std::vector<Point<dim> > &evaluation_points,
145  std::vector<Vector<double> > &computed_quantities) const;
146 
152  virtual
153  void
154  compute_derived_quantities_vector (const std::vector<Vector<double> > &uh,
155  const std::vector<std::vector<Tensor<1,dim> > > &duh,
156  const std::vector<std::vector<Tensor<2,dim> > > &dduh,
157  const std::vector<Point<dim> > &normals,
158  const std::vector<Point<dim> > &evaluation_points,
159  std::vector<Vector<double> > &computed_quantities) const;
160 
165  virtual std::vector<std::string> get_names () const = 0;
166 
189  virtual
190  std::vector<DataComponentInterpretation::DataComponentInterpretation>
192 
200  virtual UpdateFlags get_needed_update_flags () const = 0;
201 };
202 
203 
204 
224 template <int dim>
226 {
227 public:
240  DataPostprocessorScalar (const std::string &name,
241  const UpdateFlags update_flags);
242 
248  virtual std::vector<std::string> get_names () const;
249 
257  virtual
258  std::vector<DataComponentInterpretation::DataComponentInterpretation>
260 
266  virtual UpdateFlags get_needed_update_flags () const;
267 
268 private:
272  const std::string name;
273  const UpdateFlags update_flags;
274 };
275 
276 
277 
299 template <int dim>
301 {
302 public:
315  DataPostprocessorVector (const std::string &name,
316  const UpdateFlags update_flags);
317 
323  virtual std::vector<std::string> get_names () const;
324 
332  virtual
333  std::vector<DataComponentInterpretation::DataComponentInterpretation>
335 
341  virtual UpdateFlags get_needed_update_flags () const;
342 
343 private:
347  const std::string name;
348  const UpdateFlags update_flags;
349 };
350 
351 
352 DEAL_II_NAMESPACE_CLOSE
353 
354 #endif
UpdateFlags
virtual void compute_derived_quantities_vector(const std::vector< Vector< double > > &uh, const std::vector< std::vector< Tensor< 1, dim > > > &duh, const std::vector< std::vector< Tensor< 2, dim > > > &dduh, const std::vector< Point< dim > > &normals, const std::vector< Point< dim > > &evaluation_points, std::vector< Vector< double > > &computed_quantities) const
virtual void compute_derived_quantities_scalar(const std::vector< double > &uh, const std::vector< Tensor< 1, dim > > &duh, const std::vector< Tensor< 2, dim > > &dduh, const std::vector< Point< dim > > &normals, const std::vector< Point< dim > > &evaluation_points, std::vector< Vector< double > > &computed_quantities) const
virtual std::vector< DataComponentInterpretation::DataComponentInterpretation > get_data_component_interpretation() const
virtual std::vector< std::string > get_names() const =0
virtual UpdateFlags get_needed_update_flags() const =0