deal.II version GIT relicensing-1936-ge55124254b 2024-10-04 21:10: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\}}\)
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 unsigned char, 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 unsigned char, 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 unsigned char 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 unsigned char 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 unsigned char 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 unsigned char 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

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 453 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 446 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 461 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 1349 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 unsigned char  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. This function of course is only allowed if dim>=2, and combined_orientation is ignored if the space dimension equals 2.

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 1368 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 1421 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 unsigned char  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 1441 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 1541 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 unsigned char  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 469 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 unsigned char  ,
const unsigned int  n_quadrature_points,
const internal::SubfaceCase< 1 >   
)

Definition at line 1566 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 unsigned char  ,
const unsigned int  n_quadrature_points,
const internal::SubfaceCase< 2 >   
)

Definition at line 1589 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 unsigned char  combined_orientation,
const unsigned int  n_quadrature_points,
const internal::SubfaceCase< 3 >  ref_case 
)

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


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