17 #ifndef dealii__point_value_history_h 18 #define dealii__point_value_history_h 20 #include <deal.II/base/point.h> 21 #include <deal.II/base/smartpointer.h> 22 #include <deal.II/base/utilities.h> 23 #include <deal.II/base/exceptions.h> 24 #include <deal.II/base/quadrature_lib.h> 25 #include <deal.II/lac/vector.h> 26 #include <deal.II/grid/grid_tools.h> 27 #include <deal.II/dofs/dof_accessor.h> 28 #include <deal.II/dofs/dof_handler.h> 29 #include <deal.II/fe/fe_q.h> 30 #include <deal.II/fe/mapping.h> 31 #include <deal.II/fe/mapping_q1.h> 32 #include <deal.II/fe/fe_values.h> 33 #include <deal.II/fe/component_mask.h> 34 #include <deal.II/numerics/data_postprocessor.h> 43 DEAL_II_NAMESPACE_OPEN
68 const std::vector <types::global_dof_index> &new_sol_indices);
70 std::vector <Point <dim> > support_point_locations;
71 std::vector <types::global_dof_index> solution_indices;
238 const unsigned int n_independent_variables = 0);
280 void add_points (
const std::vector <
Point <dim> > &locations);
291 void add_field_name(
const std::string &vector_name,
302 void add_field_name(
const std::string &vector_name,
303 const unsigned int n_components);
309 void add_component_names(
const std::string &vector_name,
310 const std::vector <std::string> &component_names);
316 void add_independent_names(
const std::vector <std::string> &independent_names);
328 template <
class VectorType>
329 void evaluate_field(
const std::string &name,
330 const VectorType &solution);
350 template <
class VectorType>
351 void evaluate_field(
const std::vector <std::string> &names,
352 const VectorType &solution,
361 template <
class VectorType>
362 void evaluate_field(
const std::string &name,
363 const VectorType &solution,
380 template <
class VectorType>
381 void evaluate_field_at_requested_location(
const std::string &name,
382 const VectorType &solution);
393 void start_new_dataset (
const double key);
401 void push_back_independent (
const std::vector <double> &independent_values);
421 void write_gnuplot (
const std::string &base_name,
456 void get_support_locations (std::vector <std::vector<
Point <dim> > > &locations);
466 void get_points (std::vector <std::vector<
Point <dim> > > &locations);
510 void status(std::ostream &out);
521 bool deep_check (
const bool strict);
527 "A call has been made to push_back_independent() when " 528 "no independent values were requested.");
534 "This error is thrown to indicate that the data sets appear to be out of " 535 "sync. The class requires that the number of dataset keys is the same as " 536 "the number of independent values sets and mesh linked value sets. The " 537 "number of each of these is allowed to differ by one to allow new values " 538 "to be added with out restricting the order the user choses to do so. " 539 "Special cases of no FHandler and no independent values should not " 540 "trigger this error.");
547 "A method which requires access to a @p DoFHandler to be meaningful has " 548 "been called when have_dof_handler is false (most likely due to default " 549 "constructor being called). Only independent variables may be logged with " 556 "The triangulation has been refined or coarsened in some way. This " 557 "suggests that the internal DoF indices stored by the current " 558 "object are no longer meaningful.");
586 std::map <std::string, std::vector <std::vector <double> > >
data_store;
603 std::vector <internal::PointValueHistory::PointGeometryData <dim> >
656 void tria_change_listener ();
660 DEAL_II_NAMESPACE_CLOSE
std::map< std::string, std::vector< std::vector< double > > > data_store
std::vector< double > dataset_key
std::vector< std::string > indep_names
std::vector< internal::PointValueHistory::PointGeometryData< dim > > point_geometry_data
boost::signals2::connection tria_listener
std::vector< std::vector< double > > independent_values
#define DeclExceptionMsg(Exception, defaulttext)
SmartPointer< const DoFHandler< dim >, PointValueHistory< dim > > dof_handler
bool triangulation_changed
std::map< std::string, ComponentMask > component_mask
std::map< std::string, std::vector< std::string > > component_names_map