IBAMR  IBAMR version 0.19.
Public Types | Public Member Functions | Protected Attributes | List of all members
IBTK::QuadratureCache Class Reference

Class storing multiple libMesh quadrature objects. We assume that quadrature rules are uniquely determined by the element type, quadrature type, and approximation order. There are several places in IBTK where we make this assumption, e.g., we will use data from two quadrature rules assumed to be equal (by this metric) to initialize FEMap objects. More...

#include <ibtk/QuadratureCache.h>

Public Types

using key_type = quadrature_key_type
 
using value_type = libMesh::QBase
 

Public Member Functions

 QuadratureCache (unsigned int dim)
 
value_typeoperator[] (const key_type &quad_key)
 
void clear ()
 

Protected Attributes

unsigned int d_dim
 
std::map< key_type, std::unique_ptr< libMesh::QBase > > d_quadratures
 

Detailed Description

This class essentially provides a wrapper around std::map to manage libMesh::QBase (and classes inheriting from it) objects.

Member Typedef Documentation

◆ key_type

Key type. Completely describes (excepting p-refinement) a libMesh quadrature rule.

◆ value_type

using IBTK::QuadratureCache::value_type = libMesh::QBase

Type of values stored by this class that are accessible through operator[].

Constructor & Destructor Documentation

◆ QuadratureCache()

IBTK::QuadratureCache::QuadratureCache ( unsigned int  dim)
inline

Constructor. Sets up a cache of Quadrature objects.

Parameters
dimThe topological dimension of the relevant libMesh::Mesh: see libMesh::MeshBase::mesh_dimension() for more information.

Member Function Documentation

◆ operator[]()

QuadratureCache::value_type & IBTK::QuadratureCache::operator[] ( const key_type quad_key)
inline

Return a reference to a Quadrature object that matches the specified quadrature rule type and order.

Parameters
quad_keya tuple of enums that completely describes a libMesh quadrature rule.

◆ clear()

void IBTK::QuadratureCache::clear ( )
inline

Clear the cache.

Member Data Documentation

◆ d_dim

unsigned int IBTK::QuadratureCache::d_dim
protected

Topological dimension of the FE mesh.

◆ d_quadratures

std::map<key_type, std::unique_ptr<libMesh::QBase> > IBTK::QuadratureCache::d_quadratures
protected

Managed libMesh::Quadrature objects.


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