16 #ifndef dealii__solution_transfer_h 17 #define dealii__solution_transfer_h 23 #include <deal.II/base/config.h> 24 #include <deal.II/base/smartpointer.h> 25 #include <deal.II/lac/vector.h> 26 #include <deal.II/base/exceptions.h> 27 #include <deal.II/dofs/dof_handler.h> 31 DEAL_II_NAMESPACE_OPEN
291 template<
int dim,
typename VectorType=Vector<
double>,
292 typename DoFHandlerType=DoFHandler<dim> >
347 VectorType &out)
const;
368 void interpolate (
const std::vector<VectorType> &all_in,
369 std::vector<VectorType> &all_out)
const;
381 VectorType &out)
const;
393 "You are attempting an operation for which this object is " 394 "not prepared. This may be because you either did not call " 395 "one of the prepare_*() functions at all, or because you " 396 "called the wrong one for the operation you are currently " 403 "You are attempting to call one of the prepare_*() functions " 404 "of this object to prepare it for an operation for which it " 405 "is already prepared. Specifically, the object was " 406 "previously prepared for pure refinement.");
412 "You are attempting to call one of the prepare_*() functions " 413 "of this object to prepare it for an operation for which it " 414 "is already prepared. Specifically, the object was " 415 "previously prepared for both coarsening and refinement.");
476 Pointerstruct() : indices_ptr(0), dof_values_ptr(0), active_fe_index(0) {};
477 Pointerstruct(std::vector<types::global_dof_index> *indices_ptr_in,
478 const unsigned int active_fe_index_in = 0)
480 indices_ptr(indices_ptr_in),
482 active_fe_index(active_fe_index_in) {};
484 const unsigned int active_fe_index_in = 0) :
486 dof_values_ptr(dof_values_ptr_in),
487 active_fe_index(active_fe_index_in) {};
488 std::size_t memory_consumption ()
const;
490 std::vector<types::global_dof_index> *indices_ptr;
491 std::vector<Vector<typename VectorType::value_type> > *dof_values_ptr;
492 unsigned int active_fe_index;
511 DEAL_II_NAMESPACE_CLOSE
types::global_dof_index n_dofs_old
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
unsigned int global_dof_index
void prepare_for_pure_refinement()
#define DeclExceptionMsg(Exception, defaulttext)
static ::ExceptionBase & ExcAlreadyPrepForCoarseAndRef()
SolutionTransfer(const DoFHandlerType &dof)
SmartPointer< const DoFHandlerType, SolutionTransfer< dim, VectorType, DoFHandlerType > > dof_handler
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