16#ifndef dealii_point_value_history_h
17#define dealii_point_value_history_h
49 namespace PointValueHistoryImplementation
65 const std::vector<types::global_dof_index> &new_sol_indices);
237 const unsigned int n_independent_variables = 0);
307 const unsigned int n_components);
315 const std::vector<std::string> &component_names);
334 template <
typename VectorType>
336 evaluate_field(
const std::string &name,
const VectorType &solution);
356 template <
typename VectorType>
359 const VectorType &solution,
368 template <
typename VectorType>
371 const VectorType &solution,
388 template <
typename VectorType>
391 const VectorType &solution);
435 const std::vector<
Point<dim>> &postprocessor_locations =
521 status(std::ostream &out);
539 "A call has been made to push_back_independent() when "
540 "no independent values were requested.");
547 "This error is thrown to indicate that the data sets appear to be out of "
548 "sync. The class requires that the number of dataset keys is the same as "
549 "the number of independent values sets and mesh linked value sets. The "
550 "number of each of these is allowed to differ by one to allow new values "
551 "to be added with out restricting the order the user choses to do so. "
552 "Special cases of no FHandler and no independent values should not "
553 "trigger this error.");
561 "A method which requires access to a @p DoFHandler to be meaningful has "
562 "been called when have_dof_handler is false (most likely due to default "
563 "constructor being called). Only independent variables may be logged with "
571 "The triangulation has been refined or coarsened in some way. This "
572 "suggests that the internal DoF indices stored by the current "
573 "object are no longer meaningful.");
601 std::map<std::string, std::vector<std::vector<double>>>
data_store;
618 std::vector<internal::PointValueHistoryImplementation::PointGeometryData<dim>>
void evaluate_field_at_requested_location(const std::string &name, const VectorType &solution)
void add_field_name(const std::string &vector_name, const ComponentMask &component_mask={})
boost::signals2::connection tria_listener
void add_point(const Point< dim > &location)
std::map< std::string, ComponentMask > component_mask
std::vector< internal::PointValueHistoryImplementation::PointGeometryData< dim > > point_geometry_data
std::map< std::string, std::vector< std::string > > component_names_map
PointValueHistory & operator=(const PointValueHistory &point_value_history)
void evaluate_field(const std::string &name, const VectorType &solution)
SmartPointer< const DoFHandler< dim >, PointValueHistory< dim > > dof_handler
Vector< double > mark_support_locations()
std::vector< std::string > indep_names
bool triangulation_changed
std::vector< double > dataset_key
void write_gnuplot(const std::string &base_name, const std::vector< Point< dim > > &postprocessor_locations=std::vector< Point< dim > >())
void status(std::ostream &out)
void add_independent_names(const std::vector< std::string > &independent_names)
PointValueHistory(const unsigned int n_independent_variables=0)
void get_support_locations(std::vector< std::vector< Point< dim > > > &locations)
std::map< std::string, std::vector< std::vector< double > > > data_store
void add_component_names(const std::string &vector_name, const std::vector< std::string > &component_names)
void start_new_dataset(const double key)
void add_points(const std::vector< Point< dim > > &locations)
std::vector< std::vector< double > > independent_values
void push_back_independent(const std::vector< double > &independent_values)
void get_postprocessor_locations(const Quadrature< dim > &quadrature, std::vector< Point< dim > > &locations)
void tria_change_listener()
bool deep_check(const bool strict)
Point< dim > requested_location
std::vector< types::global_dof_index > solution_indices
std::vector< Point< dim > > support_point_locations
PointGeometryData(const Point< dim > &new_requested_location, const std::vector< Point< dim > > &new_locations, const std::vector< types::global_dof_index > &new_sol_indices)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcNoIndependent()
static ::ExceptionBase & ExcDataLostSync()
static ::ExceptionBase & ExcDoFHandlerRequired()
#define DeclExceptionMsg(Exception, defaulttext)
static ::ExceptionBase & ExcDoFHandlerChanged()