Reference documentation for deal.II version GIT relicensing384g4769914377 20240413 09:00:02+00:00

#include <deal.II/base/quadrature_point_data.h>
Public Member Functions  
TransferableQuadraturePointData ()=default  
virtual  ~TransferableQuadraturePointData ()=default 
virtual unsigned int  number_of_values () const =0 
virtual void  pack_values (std::vector< double > &values) const =0 
virtual void  unpack_values (const std::vector< double > &values)=0 
An abstract class which specifies requirements for data on a single quadrature point to be transferable during refinement or repartitioning.
This class provides a framework by which derived classes representing data at quadrature points can declare how many scalar values they store, and then implement functions that pack and unpack these scalars into arrays. These arrays are used to transfer data from quadrature points of one cell to quadrature points of another cell as well as between processors upon mesh refinement and repartitioning. The transfer of quadrature point data between parent and child cells requires some kind of projection and/or interpolation. One possible implementation is via the L2 projection and prolongation matrices as implemented in parallel::distributed::ContinuousQuadratureDataTransfer class.
To store and access instances of classes derived from this class, see the CellDataStorage class.
Definition at line 277 of file quadrature_point_data.h.

default 
Default constructor.

virtualdefault 
Default virtual destructor.

pure virtual 
Return the total number of values which will be packed/unpacked from the user's DataType class. Consequently it is also the size of the vectors in pack_values() and unpack_values() .

pure virtual 
A virtual function that have to be implemented in derived classes to pack all data stored in the derived class into a vector values
. This vector will contain all scalar and/or Tensorial data local to each quadrature point.
values
of size number_of_values(). The implementation may still have an assert to check that it is indeed the case.

pure virtual 
The opposite of the above, namely unpack a vector values
into the data stored in this class.
values
of size number_of_values(). The implementation may still have an assert to check that it is indeed the case.