Processing math: 0%
 deal.II version GIT relicensing-3089-g5a471bd8cb 2025-04-21 08:20:00+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\}}
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
QProjector< dim >::DataSetDescriptor Class Reference

Class storing the offset index into a Quadrature rule created by project_to_all_faces() or project_to_all_subfaces(). More...

#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 types::geometric_orientation, 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 types::geometric_orientation, 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 types::geometric_orientation combined_orientation, 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 types::geometric_orientation combined_orientation, 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 face (const ReferenceCell &reference_cell, const unsigned int face_no, const types::geometric_orientation combined_orientation, 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)
 
static DataSetDescriptor subface (const ReferenceCell &reference_cell, const unsigned int face_no, const unsigned int subface_no, const types::geometric_orientation combined_orientation, 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

Class storing the offset index into a Quadrature rule created by project_to_all_faces() or project_to_all_subfaces().

The functions QProjector::project_to_all_faces() and QProjector::project_to_all_subfaces() each combine all quadrature rules (i.e., all possible combinations of face, subface, and orientation) into a single Quadrature object. DataSetDescriptor implements the correct indexing for extracting from that Quadrature rule the correct index for those values.

Definition at line 339 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 514 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 507 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 522 of file qprojector.h.

◆ face() [1/4]

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.

Deprecated:
Use the version of this function which takes a combined_orientation argument instead.

Definition at line 1060 of file qprojector.cc.

◆ face() [2/4]

template<int dim>
QProjector< dim >::DataSetDescriptor QProjector< dim >::DataSetDescriptor::face ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const types::geometric_orientation  combined_orientation,
const unsigned int  n_quadrature_points 
)
static

Static function to generate an offset object for a given face of a cell with the given combined face orientation.

n_quadrature_points is the number of quadrature points the lower-dimensional face quadrature formula (the one that has been projected onto the faces) has.

Definition at line 1079 of file qprojector.cc.

◆ face() [3/4]

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

Compute an offset object for the given face number and orientation, taking into account the possibility of different quadrature rules being used on each face.

Deprecated:
Use the version of this function which takes a combined_orientation argument instead.

Definition at line 1100 of file qprojector.cc.

◆ face() [4/4]

template<int dim>
QProjector< dim >::DataSetDescriptor QProjector< dim >::DataSetDescriptor::face ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const types::geometric_orientation  combined_orientation,
const hp::QCollection< dim - 1 > &  quadrature 
)
static

Compute an offset object for the given face number and orientation, taking into account the possibility of different quadrature rules being used on each face.

Definition at line 1120 of file qprojector.cc.

◆ subface() [1/5]

template<int dim>
QProjector< dim >::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.

Deprecated:
Use the version of this function which takes a combined_orientation argument instead.

Definition at line 1147 of file qprojector.cc.

◆ subface() [2/5]

template<int dim>
static DataSetDescriptor QProjector< dim >::DataSetDescriptor::subface ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const unsigned int  subface_no,
const types::geometric_orientation  combined_orientation,
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 combined face orientation. This function of course is only allowed if dim>=2, and the orientation is ignored if the space dimension equals 2.

n_quadrature_points 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 530 of file qprojector.h.

◆ subface() [3/5]

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

Definition at line 1172 of file qprojector.cc.

◆ subface() [4/5]

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

Definition at line 1195 of file qprojector.cc.

◆ subface() [5/5]

QProjector< 3 >::DataSetDescriptor QProjector::DataSetDescriptor< 3 >::subface ( const ReferenceCell reference_cell,
const unsigned int  face_no,
const unsigned int  subface_no,
const types::geometric_orientation  combined_orientation,
const unsigned int  n_quadrature_points,
const internal::SubfaceCase< 3 >  ref_case 
)

Definition at line 1218 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 489 of file qprojector.h.


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