Reference documentation for deal.II version GIT relicensing-214-g6e74dec06b 2024-03-27 18:10:01+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
QProjector< dim >::DataSetDescriptor Class Reference

#include <deal.II/base/qprojector.h>

Public Member Functions

 DataSetDescriptor ()
 
 operator unsigned int () const
 
QProjector< 1 >::DataSetDescriptor subface (const ReferenceCell &reference_cell, const unsigned int face_no, const unsigned int subface_no, const bool, const bool, const bool, const unsigned int n_quadrature_points, const internal::SubfaceCase< 1 >)
 
QProjector< 2 >::DataSetDescriptor subface (const ReferenceCell &reference_cell, const unsigned int face_no, const unsigned int subface_no, const bool, const bool, const bool, const unsigned int n_quadrature_points, const internal::SubfaceCase< 2 >)
 
QProjector< 3 >::DataSetDescriptor subface (const ReferenceCell &reference_cell, const unsigned int face_no, const unsigned int subface_no, const bool face_orientation, const bool face_flip, const bool face_rotation, const unsigned int n_quadrature_points, const internal::SubfaceCase< 3 > ref_case)
 

Static Public Member Functions

static DataSetDescriptor cell ()
 
static DataSetDescriptor face (const ReferenceCell &reference_cell, const unsigned int face_no, const bool face_orientation, const bool face_flip, const bool face_rotation, const unsigned int n_quadrature_points)
 
static DataSetDescriptor face (const ReferenceCell &reference_cell, const unsigned int face_no, const bool face_orientation, const bool face_flip, const bool face_rotation, const hp::QCollection< dim - 1 > &quadrature)
 
static DataSetDescriptor subface (const ReferenceCell &reference_cell, const unsigned int face_no, const unsigned int subface_no, const bool face_orientation, const bool face_flip, const bool face_rotation, const unsigned int n_quadrature_points, const internal::SubfaceCase< dim > ref_case=internal::SubfaceCase< dim >::case_isotropic)
 

Private Member Functions

 DataSetDescriptor (const unsigned int dataset_offset)
 

Private Attributes

const unsigned int dataset_offset
 

Detailed Description

template<int dim>
class QProjector< dim >::DataSetDescriptor

Since the project_to_all_faces() and project_to_all_subfaces() functions chain together the quadrature points and weights of all projections of a face quadrature formula to the faces or subfaces of a cell, we need a way to identify where the starting index of the points and weights for a particular face or subface is. This class provides this: there are static member functions that generate objects of this type, given face or subface indices, and you can then use the generated object in place of an integer that denotes the offset of a given dataset.

Definition at line 276 of file qprojector.h.

Constructor & Destructor Documentation

◆ DataSetDescriptor() [1/2]

template<int dim>
QProjector< dim >::DataSetDescriptor::DataSetDescriptor ( )
inline

Default constructor. This doesn't do much except generating an invalid index, since you didn't give a valid descriptor of the cell, face, or subface you wanted.

Definition at line 385 of file qprojector.h.

◆ DataSetDescriptor() [2/2]

template<int dim>
QProjector< dim >::DataSetDescriptor::DataSetDescriptor ( const unsigned int  dataset_offset)
inlineprivate

This is the real constructor, but it is private and thus only available to the static member functions above.

Definition at line 378 of file qprojector.h.

Member Function Documentation

◆ cell()

template<int dim>
QProjector< dim >::DataSetDescriptor QProjector< dim >::DataSetDescriptor::cell ( )
static

Static function to generate the offset of a cell. Since we only have one cell per quadrature object, this offset is of course zero, but we carry this function around for consistency with the other static functions.

Definition at line 393 of file qprojector.h.

◆ face() [1/2]

template<int dim>
QProjector< dim >::DataSetDescriptor QProjector< dim >::DataSetDescriptor::face ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const bool  face_orientation,
const bool  face_flip,
const bool  face_rotation,
const unsigned int  n_quadrature_points 
)
static

Static function to generate an offset object for a given face of a cell with the given face orientation, flip and rotation. This function of course is only allowed if dim>=2, and the face orientation, flip and rotation are ignored if the space dimension equals 2.

The last argument denotes the number of quadrature points the lower-dimensional face quadrature formula (the one that has been projected onto the faces) has.

Definition at line 1318 of file qprojector.cc.

◆ face() [2/2]

template<int dim>
QProjector< dim >::DataSetDescriptor QProjector< dim >::DataSetDescriptor::face ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const bool  face_orientation,
const bool  face_flip,
const bool  face_rotation,
const hp::QCollection< dim - 1 > &  quadrature 
)
static

Like the above function but taking a quadrature collection, enabling that each face might have different number of quadrature points.

Definition at line 1419 of file qprojector.cc.

◆ subface() [1/4]

template<int dim>
static DataSetDescriptor QProjector< dim >::DataSetDescriptor::subface ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const unsigned int  subface_no,
const bool  face_orientation,
const bool  face_flip,
const bool  face_rotation,
const unsigned int  n_quadrature_points,
const internal::SubfaceCase< dim >  ref_case = internal::SubfaceCase< dim >::case_isotropic 
)
static

Static function to generate an offset object for a given subface of a cell with the given face orientation, flip and rotation. This function of course is only allowed if dim>=2, and the face orientation, flip and rotation are ignored if the space dimension equals 2.

The last but one argument denotes the number of quadrature points the lower-dimensional face quadrature formula (the one that has been projected onto the faces) has.

Through the last argument anisotropic refinement can be respected.

◆ operator unsigned int()

template<int dim>
QProjector< dim >::DataSetDescriptor::operator unsigned int ( ) const
inline

Conversion operator to an integer denoting the offset of the first element of this dataset in the set of quadrature formulas all projected onto faces and subfaces. This conversion operator allows us to use offset descriptor objects in place of integer offsets.

Definition at line 401 of file qprojector.h.

◆ subface() [2/4]

QProjector< 1 >::DataSetDescriptor QProjector::DataSetDescriptor< 1 >::subface ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const unsigned int  subface_no,
const bool  ,
const bool  ,
const bool  ,
const unsigned int  n_quadrature_points,
const internal::SubfaceCase< 1 >   
)

Definition at line 1560 of file qprojector.cc.

◆ subface() [3/4]

QProjector< 2 >::DataSetDescriptor QProjector::DataSetDescriptor< 2 >::subface ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const unsigned int  subface_no,
const bool  ,
const bool  ,
const bool  ,
const unsigned int  n_quadrature_points,
const internal::SubfaceCase< 2 >   
)

Definition at line 1585 of file qprojector.cc.

◆ subface() [4/4]

QProjector< 3 >::DataSetDescriptor QProjector::DataSetDescriptor< 3 >::subface ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const unsigned int  subface_no,
const bool  face_orientation,
const bool  face_flip,
const bool  face_rotation,
const unsigned int  n_quadrature_points,
const internal::SubfaceCase< 3 >  ref_case 
)

Definition at line 1610 of file qprojector.cc.

Member Data Documentation

◆ dataset_offset

template<int dim>
const unsigned int QProjector< dim >::DataSetDescriptor::dataset_offset
private

Store the integer offset for a given cell, face, or subface.

Definition at line 360 of file qprojector.h.


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