16 #ifndef dealii__data_postprocessor_h 17 #define dealii__data_postprocessor_h 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> 28 #include <boost/any.hpp> 33 DEAL_II_NAMESPACE_OPEN
144 template <
int spacedim>
187 template <
typename DoFHandlerType>
189 set_cell (
const typename DoFHandlerType::cell_iterator &
cell);
196 template <
typename DoFHandlerType>
197 typename DoFHandlerType::cell_iterator
224 template <
int spacedim>
280 template <
int spacedim>
471 compute_derived_quantities_scalar (
const std::vector<double> &solution_values,
476 std::vector<
Vector<double> > &computed_quantities)
const DEAL_II_DEPRECATED;
510 compute_derived_quantities_vector (
const std::vector<
Vector<double> > &solution_values,
511 const std::vector<std::vector<
Tensor<1,dim> > > &solution_gradients,
512 const std::vector<std::vector<
Tensor<2,dim> > > &solution_hessians,
515 std::vector<
Vector<double> > &computed_quantities)
const DEAL_II_DEPRECATED;
521 virtual std::vector<std::string> get_names ()
const = 0;
546 std::vector<DataComponentInterpretation::DataComponentInterpretation>
547 get_data_component_interpretation ()
const;
556 virtual UpdateFlags get_needed_update_flags ()
const = 0;
604 virtual std::vector<std::string> get_names ()
const;
614 std::vector<DataComponentInterpretation::DataComponentInterpretation>
615 get_data_component_interpretation ()
const;
622 virtual UpdateFlags get_needed_update_flags ()
const;
679 virtual std::vector<std::string> get_names ()
const;
689 std::vector<DataComponentInterpretation::DataComponentInterpretation>
690 get_data_component_interpretation ()
const;
697 virtual UpdateFlags get_needed_update_flags ()
const;
715 template <
int spacedim>
716 template <
typename DoFHandlerType>
723 if (
typename DoFHandlerType::cell_iterator * storage_location
724 = boost::any_cast<typename DoFHandlerType::cell_iterator>(&
cell))
725 *storage_location = new_cell;
734 template <
int spacedim>
735 template <
typename DoFHandlerType>
736 typename DoFHandlerType::cell_iterator
740 ExcMessage (
"You are trying to access the cell associated with a " 741 "DataPostprocessorInputs::Scalar object for which no cell has " 743 Assert(boost::any_cast<typename DoFHandlerType::cell_iterator>(&
cell) != 0,
744 ExcMessage (
"You are trying to access the cell associated with a " 745 "DataPostprocessorInputs::Scalar with a DoFHandler type that " 746 "is different from the type with which it has been set. For " 747 "example, if the cell for which output is currently being " 748 "generated belongs to a hp::DoFHandler<2,3> object, then you can " 749 "only call the current function with a template argument " 750 "equal to hp::DoFHandler<2,3>, but not with any other class " 751 "type or dimension template argument."));
752 return boost::any_cast<
typename DoFHandlerType::cell_iterator>(
cell);
758 DEAL_II_NAMESPACE_CLOSE
std::vector< std::vector< Tensor< 2, spacedim > > > solution_hessians
std::vector< double > solution_values
static::ExceptionBase & ExcMessage(std::string arg1)
#define Assert(cond, exc)
std::vector< std::vector< Tensor< 1, spacedim > > > solution_gradients
DoFHandlerType::cell_iterator get_cell() const
void set_cell(const typename DoFHandlerType::cell_iterator &cell)
std::vector< Tensor< 2, spacedim > > solution_hessians
std::vector< Tensor< 1, spacedim > > solution_gradients
std::vector< Point< spacedim > > evaluation_points
std::vector< Tensor< 1, spacedim > > normals
std::vector<::Vector< double > > solution_values