IBAMR  IBAMR version 0.19.
Public Member Functions | Private Attributes | List of all members
IBTK::FEData::SystemDofMapCache Class Reference

#include <ibtk/FEDataManager.h>

Public Member Functions

 SystemDofMapCache (libMesh::System &system)
 
void dof_indices (const libMesh::Elem *const elem, std::vector< unsigned int > &dof_indices, const unsigned int var=0)
 
const boost::multi_array< libMesh::dof_id_type, 2 > & dof_indices (const libMesh::Elem *const elem)
 

Private Attributes

libMesh::DofMap & d_dof_map
 
std::unordered_map< libMesh::dof_id_type, boost::multi_array< libMesh::dof_id_type, 2 > > d_dof_cache
 
std::vector< std::vector< libMesh::dof_id_type > > d_scratch_dofs
 

Detailed Description

Class which enables fast lookup of dofs on a given libMesh elem.

Note
The contents of this cache are invalidated when we regrid and the caches should be reset at that point. Copies of this class should always be retrieved via FEData::getDofCache() to avoid this problem.

Constructor & Destructor Documentation

◆ SystemDofMapCache()

IBTK::FEData::SystemDofMapCache::SystemDofMapCache ( libMesh::System &  system)
inline

Constructor.

Member Function Documentation

◆ dof_indices() [1/2]

void IBTK::FEData::SystemDofMapCache::dof_indices ( const libMesh::Elem *const  elem,
std::vector< unsigned int > &  dof_indices,
const unsigned int  var = 0 
)
inline

◆ dof_indices() [2/2]

const boost::multi_array<libMesh::dof_id_type, 2>& IBTK::FEData::SystemDofMapCache::dof_indices ( const libMesh::Elem *const  elem)
inline

Alternative indexing operation: retrieve all dof indices of all variables in the given system at once by reference.

Member Data Documentation

◆ d_dof_map

libMesh::DofMap& IBTK::FEData::SystemDofMapCache::d_dof_map
private

◆ d_dof_cache

std::unordered_map<libMesh::dof_id_type, boost::multi_array<libMesh::dof_id_type, 2> > IBTK::FEData::SystemDofMapCache::d_dof_cache
private

◆ d_scratch_dofs

std::vector<std::vector<libMesh::dof_id_type> > IBTK::FEData::SystemDofMapCache::d_scratch_dofs
private

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