15#ifndef dealii_solution_transfer_h
16#define dealii_solution_transfer_h
301template <
int dim,
typename VectorType = Vector<
double>,
int spacedim = dim>
333 const std::vector<const VectorType *> &all_in);
411 DEAL_II_DEPRECATED_EARLY
void
458 const boost::iterator_range<std::vector<char>::const_iterator> &data_range,
459 std::vector<VectorType *> &all_out,
460 VectorType &valence);
780 template <
int dim,
typename VectorType = Vector<
double>,
int spacedim = dim>
818 const std::vector<VectorType> &all_in);
862 std::vector<VectorType> &all_out)
const;
874 interpolate(
const VectorType &in, VectorType &out)
const;
888 "You are attempting an operation for which this object is "
889 "not prepared. This may be because you either did not call "
890 "one of the prepare_*() functions at all, or because you "
891 "called the wrong one for the operation you are currently "
899 "You are attempting to call one of the prepare_*() functions "
900 "of this object to prepare it for an operation for which it "
901 "is already prepared. Specifically, the object was "
902 "previously prepared for pure refinement.");
909 "You are attempting to call one of the prepare_*() functions "
910 "of this object to prepare it for an operation for which it "
911 "is already prepared. Specifically, the object was "
912 "previously prepared for both coarsening and refinement.");
980 const unsigned int active_fe_index_in = 0)
987 const unsigned int active_fe_index_in = 0)
1013 std::vector<std::vector<Vector<typename VectorType::value_type>>>
void refine_interpolate(const VectorType &in, VectorType &out) const
void interpolate(const std::vector< VectorType > &all_in, std::vector< VectorType > &all_out) const
std::vector< std::vector< Vector< typename VectorType::value_type > > > dof_values_on_cell
std::size_t memory_consumption() const
std::vector< std::vector< types::global_dof_index > > indices_on_cell
@ coarsening_and_refinement
ObserverPointer< const DoFHandler< dim, spacedim >, SolutionTransfer< dim, VectorType, spacedim > > dof_handler
PreparationState prepared_for
void prepare_for_coarsening_and_refinement(const std::vector< VectorType > &all_in)
types::global_dof_index n_dofs_old
void prepare_for_pure_refinement()
std::map< std::pair< unsigned int, unsigned int >, Pointerstruct > cell_map
std::vector< const VectorType * > input_vectors
std::vector< char > pack_callback(const typename Triangulation< dim, spacedim >::cell_iterator &cell, const CellStatus status)
const bool average_values
void unpack_callback(const typename Triangulation< dim, spacedim >::cell_iterator &cell, const CellStatus status, const boost::iterator_range< std::vector< char >::const_iterator > &data_range, std::vector< VectorType * > &all_out, VectorType &valence)
void register_data_attach()
ObserverPointer< const DoFHandler< dim, spacedim >, SolutionTransfer< dim, VectorType, spacedim > > dof_handler
void deserialize(VectorType &in)
void prepare_for_coarsening_and_refinement(const std::vector< const VectorType * > &all_in)
void prepare_for_serialization(const VectorType &in)
void interpolate(std::vector< VectorType * > &all_out)
~SolutionTransfer()=default
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcAlreadyPrepForCoarseAndRef()
#define DeclExceptionMsg(Exception, defaulttext)
static ::ExceptionBase & ExcNotPrepared()
static ::ExceptionBase & ExcAlreadyPrepForRef()
std::vector< types::global_dof_index > * indices_ptr
std::size_t memory_consumption() const
std::vector< Vector< typename VectorType::value_type > > * dof_values_ptr
Pointerstruct(std::vector< types::global_dof_index > *indices_ptr_in, const unsigned int active_fe_index_in=0)
Pointerstruct(std::vector< Vector< typename VectorType::value_type > > *dof_values_ptr_in, const unsigned int active_fe_index_in=0)
unsigned int active_fe_index