Reference documentation for deal.II version 8.1.0
data_postprocessor.h
1 // ---------------------------------------------------------------------
2 // @f$Id: data_postprocessor.h 30162 2013-07-26 16:31:42Z bangerth @f$
3 //
4 // Copyright (C) 2007 - 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_postprocessor_h
18 #define __deal2__data_postprocessor_h
19 
20 
21 
22 #include <deal.II/base/subscriptor.h>
23 #include <deal.II/base/tensor.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 
32 
33 
102 template <int dim>
104 {
105 public:
110  virtual ~DataPostprocessor ();
111 
126  virtual
127  void
128  compute_derived_quantities_scalar (const std::vector<double> &uh,
129  const std::vector<Tensor<1,dim> > &duh,
130  const std::vector<Tensor<2,dim> > &dduh,
131  const std::vector<Point<dim> > &normals,
132  std::vector<Vector<double> > &computed_quantities) const DEAL_II_DEPRECATED;
133 
161  virtual
162  void
163  compute_derived_quantities_scalar (const std::vector<double> &uh,
164  const std::vector<Tensor<1,dim> > &duh,
165  const std::vector<Tensor<2,dim> > &dduh,
166  const std::vector<Point<dim> > &normals,
167  const std::vector<Point<dim> > &evaluation_points,
168  std::vector<Vector<double> > &computed_quantities) const;
169 
184  virtual
185  void
186  compute_derived_quantities_vector (const std::vector<Vector<double> > &uh,
187  const std::vector<std::vector<Tensor<1,dim> > > &duh,
188  const std::vector<std::vector<Tensor<2,dim> > > &dduh,
189  const std::vector<Point<dim> > &normals,
190  std::vector<Vector<double> > &computed_quantities) const DEAL_II_DEPRECATED;
191 
201  virtual
202  void
203  compute_derived_quantities_vector (const std::vector<Vector<double> > &uh,
204  const std::vector<std::vector<Tensor<1,dim> > > &duh,
205  const std::vector<std::vector<Tensor<2,dim> > > &dduh,
206  const std::vector<Point<dim> > &normals,
207  const std::vector<Point<dim> > &evaluation_points,
208  std::vector<Vector<double> > &computed_quantities) const;
209 
214  virtual std::vector<std::string> get_names () const = 0;
215 
254  virtual
255  std::vector<DataComponentInterpretation::DataComponentInterpretation>
257 
269  virtual UpdateFlags get_needed_update_flags () const = 0;
270 };
271 
272 
273 
293 template <int dim>
295 {
296 public:
314  DataPostprocessorScalar (const std::string &name,
315  const UpdateFlags update_flags);
316 
324  virtual std::vector<std::string> get_names () const;
325 
338  virtual
339  std::vector<DataComponentInterpretation::DataComponentInterpretation>
341 
349  virtual UpdateFlags get_needed_update_flags () const;
350 
351 private:
356  const std::string name;
357  const UpdateFlags update_flags;
358 };
359 
360 
361 
383 template <int dim>
385 {
386 public:
404  DataPostprocessorVector (const std::string &name,
405  const UpdateFlags update_flags);
406 
414  virtual std::vector<std::string> get_names () const;
415 
429  virtual
430  std::vector<DataComponentInterpretation::DataComponentInterpretation>
432 
440  virtual UpdateFlags get_needed_update_flags () const;
441 
442 private:
447  const std::string name;
448  const UpdateFlags update_flags;
449 };
450 
451 
452 DEAL_II_NAMESPACE_CLOSE
453 
454 #endif
virtual std::vector< DataComponentInterpretation::DataComponentInterpretation > get_data_component_interpretation() const
virtual UpdateFlags get_needed_update_flags() const
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, std::vector< Vector< double > > &computed_quantities) const DEAL_II_DEPRECATED
virtual std::vector< DataComponentInterpretation::DataComponentInterpretation > get_data_component_interpretation() const
virtual std::vector< DataComponentInterpretation::DataComponentInterpretation > get_data_component_interpretation() const
DataPostprocessorScalar(const std::string &name, const UpdateFlags update_flags)
virtual std::vector< std::string > get_names() const
virtual UpdateFlags get_needed_update_flags() const
virtual ~DataPostprocessor()
virtual std::vector< std::string > get_names() const
UpdateFlags
BlockCompressedSparsityPattern CompressedBlockSparsityPattern DEAL_II_DEPRECATED
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, std::vector< Vector< double > > &computed_quantities) const DEAL_II_DEPRECATED
DataPostprocessorVector(const std::string &name, const UpdateFlags update_flags)
virtual std::vector< std::string > get_names() const =0
virtual UpdateFlags get_needed_update_flags() const =0