deal.II version GIT relicensing-7058-gb35ee29762 2026-11-11 09:30: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 | Private Attributes | List of all members
NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType > Class Template Reference

Detailed Description

template<int dim, typename VectorType>
class NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType >

The concrete LevelSetDescription used when the level set function is described as a (DoFHandler, Vector)-pair.

Definition at line 152 of file mesh_classifier.cc.

Inheritance diagram for NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType >:
[legend]

Public Member Functions

 DiscreteLevelSetDescription (const DoFHandler< dim > &dof_handler, const VectorType &level_set)
 
const hp::FECollection< dim > & get_fe_collection () const override
 
unsigned int active_fe_index (const typename Triangulation< dim >::active_cell_iterator &cell) const override
 
void get_local_level_set_values (const typename Triangulation< dim >::active_cell_iterator &cell, const unsigned int face_index, Vector< double > &local_levelset_values) override
 
void check_consistency () const override
 

Private Attributes

const ObserverPointer< const DoFHandler< dim > > dof_handler
 
const ObserverPointer< const VectorType > level_set
 

Constructor & Destructor Documentation

◆ DiscreteLevelSetDescription()

template<int dim, typename VectorType >
NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType >::DiscreteLevelSetDescription ( const DoFHandler< dim > &  dof_handler,
const VectorType &  level_set 
)

Constructor.

Definition at line 224 of file mesh_classifier.cc.

Member Function Documentation

◆ get_fe_collection()

template<int dim, typename VectorType >
const hp::FECollection< dim > & NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType >::get_fe_collection ( ) const
overridevirtual

Return the FECollection of the DoFHandler passed to the constructor.

Implements NonMatching::internal::MeshClassifierImplementation::LevelSetDescription< dim >.

Definition at line 235 of file mesh_classifier.cc.

◆ active_fe_index()

template<int dim, typename VectorType >
unsigned int NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType >::active_fe_index ( const typename Triangulation< dim >::active_cell_iterator &  cell) const
overridevirtual

Return the active FE index of the DoFCellAccessor associated with the DoFHandler and the incoming cell in the triangulation.

Implements NonMatching::internal::MeshClassifierImplementation::LevelSetDescription< dim >.

Definition at line 277 of file mesh_classifier.cc.

◆ get_local_level_set_values()

template<int dim, typename VectorType >
void NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType >::get_local_level_set_values ( const typename Triangulation< dim >::active_cell_iterator &  cell,
const unsigned int  face_index,
Vector< double > &  local_levelset_values 
)
overridevirtual

Writes the local face dofs of the global level set vector to local_levelset_values.

Implements NonMatching::internal::MeshClassifierImplementation::LevelSetDescription< dim >.

Definition at line 244 of file mesh_classifier.cc.

◆ check_consistency()

template<int dim, typename VectorType >
void NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType >::check_consistency ( ) const
overridevirtual

Check that the level set vector gives access to the values of all locally relevant DoFs, that is, all DoFs on locally owned and ghost cells. MeshClassifier::reclassify() reads the level set values on all of these cells, so the ghost entries of the vector need to cover all locally relevant DoFs. This is, for example, not the case for a LinearAlgebra::distributed::Vector initialized by MatrixFree::initialize_dof_vector(), whose ghost entries typically only include the DoFs of locally owned cells. Such a vector should instead be set up with the result of DoFTools::extract_locally_relevant_dofs() as ghost entries.

In debug mode, an assertion fails if not all locally relevant DoFs are accessible. In release mode, this function does nothing.

This function is called at the beginning of MeshClassifier::reclassify() rather than in the constructor, because at construction time the triangulation, the DoFs, and the vector may not set up yet.

Reimplemented from NonMatching::internal::MeshClassifierImplementation::LevelSetDescription< dim >.

Definition at line 268 of file mesh_classifier.cc.

Member Data Documentation

◆ dof_handler

template<int dim, typename VectorType >
const ObserverPointer<const DoFHandler<dim> > NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType >::dof_handler
private

Pointer to the DoFHandler associated with the level set function.

Definition at line 212 of file mesh_classifier.cc.

◆ level_set

template<int dim, typename VectorType >
const ObserverPointer<const VectorType> NonMatching::internal::MeshClassifierImplementation::DiscreteLevelSetDescription< dim, VectorType >::level_set
private

Pointer to the vector containing the level set function's global dof values.

Definition at line 218 of file mesh_classifier.cc.


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