16 #ifndef dealii_data_postprocessor_h 17 #define dealii_data_postprocessor_h 21 #include <deal.II/base/point.h> 22 #include <deal.II/base/subscriptor.h> 23 #include <deal.II/base/tensor.h> 25 #include <deal.II/fe/fe_update_flags.h> 27 #include <deal.II/lac/vector.h> 29 #include <deal.II/numerics/data_component_interpretation.h> 31 #include <boost/any.hpp> 36 DEAL_II_NAMESPACE_OPEN
150 template <
int spacedim>
193 template <
typename DoFHandlerType>
195 set_cell(
const typename DoFHandlerType::cell_iterator &
cell);
202 template <
typename DoFHandlerType>
203 typename DoFHandlerType::cell_iterator
230 template <
int spacedim>
286 template <
int spacedim>
475 virtual std::vector<std::string>
476 get_names()
const = 0;
500 virtual std::vector<DataComponentInterpretation::DataComponentInterpretation>
501 get_data_component_interpretation()
const;
511 get_needed_update_flags()
const = 0;
562 virtual std::vector<std::string>
563 get_names()
const override;
572 virtual std::vector<DataComponentInterpretation::DataComponentInterpretation>
573 get_data_component_interpretation()
const override;
581 get_needed_update_flags()
const override;
801 virtual std::vector<std::string>
802 get_names()
const override;
811 virtual std::vector<DataComponentInterpretation::DataComponentInterpretation>
812 get_data_component_interpretation()
const override;
820 get_needed_update_flags()
const override;
1046 virtual std::vector<std::string>
1047 get_names()
const override;
1056 virtual std::vector<DataComponentInterpretation::DataComponentInterpretation>
1057 get_data_component_interpretation()
const override;
1065 get_needed_update_flags()
const override;
1082 template <
int spacedim>
1083 template <
typename DoFHandlerType>
1086 const typename DoFHandlerType::cell_iterator &new_cell)
1091 if (
typename DoFHandlerType::cell_iterator *storage_location =
1092 boost::any_cast<typename DoFHandlerType::cell_iterator>(&
cell))
1093 *storage_location = new_cell;
1102 template <
int spacedim>
1103 template <
typename DoFHandlerType>
1104 typename DoFHandlerType::cell_iterator
1109 "You are trying to access the cell associated with a " 1110 "DataPostprocessorInputs::Scalar object for which no cell has " 1112 Assert(boost::any_cast<typename DoFHandlerType::cell_iterator>(&
cell) !=
1115 "You are trying to access the cell associated with a " 1116 "DataPostprocessorInputs::Scalar with a DoFHandler type that " 1117 "is different from the type with which it has been set. For " 1118 "example, if the cell for which output is currently being " 1119 "generated belongs to a hp::DoFHandler<2,3> object, then you can " 1120 "only call the current function with a template argument " 1121 "equal to hp::DoFHandler<2,3>, but not with any other class " 1122 "type or dimension template argument."));
1123 return boost::any_cast<
typename DoFHandlerType::cell_iterator>(
cell);
1129 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