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" 36 class PeriodicBoundaries;
70 virtual std::unique_ptr<GhostingFunctor>
clone ()
const override 71 {
return std::make_unique<OverlapCoupling>(*this); }
104 map_type & coupled_elements)
override;
119 #endif // LIBMESH_OVERLAP_COUPLING_H This abstract base class defines the interface by which library code and user code can report associa...
void set_dof_coupling(const CouplingMatrix *dof_coupling)
virtual std::unique_ptr< GhostingFunctor > clone() const override
A clone() is needed because GhostingFunctor can not be shared between different meshes.
The definition of the const_element_iterator struct.
virtual void mesh_reinit() override
We need an updated point locator to see what other elements might share each quadrature point...
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?
The libMesh namespace provides an interface to certain functionality in the library.
OverlapCoupling()
Constructor.
uint8_t processor_id_type
std::array< std::unique_ptr< QBase >, 3 > _q_rules
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...
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 ...
const CouplingMatrix * _dof_coupling
void set_quadrature_rule(std::unique_ptr< QBase > new_q_rule)
virtual void delete_remote_elements() override
GhostingFunctor subclasses with relatively long-lasting caches may want to delete the no-longer-relev...
Class contained in FE that encapsulates mapping (i.e.
This class defines a coupling matrix.