Reference documentation for deal.II version 9.0.0
Public Member Functions | List of all members
TransferableQuadraturePointData Class Referenceabstract

#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
 

Detailed Description

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 ContinuousQuadratureDataTransfer class.

Author
Denis Davydov, Jean-Paul Pelteret, 2016

Definition at line 171 of file quadrature_point_data.h.

Constructor & Destructor Documentation

◆ TransferableQuadraturePointData()

TransferableQuadraturePointData::TransferableQuadraturePointData ( )
default

Default constructor.

◆ ~TransferableQuadraturePointData()

virtual TransferableQuadraturePointData::~TransferableQuadraturePointData ( )
virtualdefault

Default virtual destructor.

Member Function Documentation

◆ number_of_values()

virtual unsigned int TransferableQuadraturePointData::number_of_values ( ) const
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() .

◆ pack_values()

virtual void TransferableQuadraturePointData::pack_values ( std::vector< double > &  values) const
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.

Note
The function will be called with values of size number_of_values(). The implementation may still have an assert to check that it is indeed the case.

◆ unpack_values()

virtual void TransferableQuadraturePointData::unpack_values ( const std::vector< double > &  values)
pure virtual

The opposite of the above, namely unpack a vector values into the data stored in this class.

Note
The function will be called with values of size number_of_values(). The implementation may still have an assert to check that it is indeed the case.

The documentation for this class was generated from the following file: