20#ifndef LIBMESH_OVERLAP_COUPLING_H
21#define LIBMESH_OVERLAP_COUPLING_H
24#include "libmesh/ghosting_functor.h"
26#include "libmesh/fe_map.h"
27#include "libmesh/quadrature.h"
36class PeriodicBoundaries;
70 virtual std::unique_ptr<GhostingFunctor>
clone ()
const override
71 {
return std::make_unique<OverlapCoupling>(*
this); }
104 map_type & coupled_elements)
override;
This class defines a coupling matrix.
Class contained in FE that encapsulates mapping (i.e.
This abstract base class defines the interface by which library code and user code can report associa...
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
What elements do we care about and what variables do we care about on each element?
This class implements ghosting of elements that overlap or touch at at least one sampled point,...
virtual void redistribute() override
GhostingFunctor subclasses with relatively long-lasting caches may want to redistribute those caches ...
virtual void mesh_reinit() override
We need an updated point locator to see what other elements might share each quadrature point.
std::array< std::unique_ptr< QBase >, 3 > _q_rules
virtual void delete_remote_elements() override
GhostingFunctor subclasses with relatively long-lasting caches may want to delete the no-longer-relev...
void set_dof_coupling(const CouplingMatrix *dof_coupling)
void set_quadrature_rule(std::unique_ptr< QBase > new_q_rule)
const CouplingMatrix * _dof_coupling
OverlapCoupling()
Constructor.
virtual std::unique_ptr< GhostingFunctor > clone() const override
A clone() is needed because GhostingFunctor can not be shared between different meshes.
virtual void operator()(const MeshBase::const_element_iterator &range_begin, const MeshBase::const_element_iterator &range_end, processor_id_type p, map_type &coupled_elements) override
For the specified range of active elements, find the elements which will be coupled to them in the sp...
The libMesh namespace provides an interface to certain functionality in the library.
uint8_t processor_id_type
The definition of the const_element_iterator struct.