16 #ifndef dealii_solution_transfer_h 17 # define dealii_solution_transfer_h 23 # include <deal.II/base/config.h> 25 # include <deal.II/base/exceptions.h> 26 # include <deal.II/base/smartpointer.h> 28 # include <deal.II/dofs/dof_handler.h> 30 # include <deal.II/lac/vector.h> 34 DEAL_II_NAMESPACE_OPEN
337 # ifndef DEAL_II_MSVC 338 static_assert(dim == DoFHandlerType::dimension,
339 "The dimension explicitly provided as a template " 340 "argument, and the dimension of the DoFHandlerType " 341 "template argument must match.");
421 std::vector<VectorType> & all_out)
const;
433 interpolate(
const VectorType &in, VectorType &out)
const;
446 "You are attempting an operation for which this object is " 447 "not prepared. This may be because you either did not call " 448 "one of the prepare_*() functions at all, or because you " 449 "called the wrong one for the operation you are currently " 457 "You are attempting to call one of the prepare_*() functions " 458 "of this object to prepare it for an operation for which it " 459 "is already prepared. Specifically, the object was " 460 "previously prepared for pure refinement.");
467 "You are attempting to call one of the prepare_*() functions " 468 "of this object to prepare it for an operation for which it " 469 "is already prepared. Specifically, the object was " 470 "previously prepared for both coarsening and refinement.");
533 : indices_ptr(
nullptr)
534 , dof_values_ptr(
nullptr)
537 Pointerstruct(std::vector<types::global_dof_index> *indices_ptr_in,
538 const unsigned int active_fe_index_in = 0)
539 : indices_ptr(indices_ptr_in)
540 , dof_values_ptr(
nullptr)
541 , active_fe_index(active_fe_index_in)
545 const unsigned int active_fe_index_in = 0)
546 : indices_ptr(
nullptr)
547 , dof_values_ptr(dof_values_ptr_in)
548 , active_fe_index(active_fe_index_in)
551 memory_consumption()
const;
553 std::vector<types::global_dof_index> * indices_ptr;
554 std::vector<Vector<typename VectorType::value_type>> *dof_values_ptr;
555 unsigned int active_fe_index;
570 std::vector<std::vector<Vector<typename VectorType::value_type>>>
575 DEAL_II_NAMESPACE_CLOSE
577 #endif // dealii_solutiontransfer_h
types::global_dof_index n_dofs_old
SmartPointer< const DoFHandlerType, SolutionTransfer< dim, VectorType, DoFHandlerType > > dof_handler
static ::ExceptionBase & ExcAlreadyPrepForRef()
static ::ExceptionBase & ExcNotPrepared()
std::map< std::pair< unsigned int, unsigned int >, Pointerstruct > cell_map
std::vector< std::vector< types::global_dof_index > > indices_on_cell
void prepare_for_pure_refinement()
#define DeclExceptionMsg(Exception, defaulttext)
static ::ExceptionBase & ExcAlreadyPrepForCoarseAndRef()
SolutionTransfer(const DoFHandlerType &dof)
unsigned int global_dof_index
void prepare_for_coarsening_and_refinement(const std::vector< VectorType > &all_in)
void refine_interpolate(const VectorType &in, VectorType &out) const
std::vector< std::vector< Vector< typename VectorType::value_type > > > dof_values_on_cell
std::size_t memory_consumption() const
PreparationState prepared_for
void interpolate(const std::vector< VectorType > &all_in, std::vector< VectorType > &all_out) const