19 #include "libmesh/libmesh_config.h"    21 #ifdef LIBMESH_ENABLE_PERIODIC    23 #include "libmesh/periodic_boundaries.h"    24 #include "libmesh/boundary_info.h"    25 #include "libmesh/elem.h"    26 #include "libmesh/mesh_base.h"    27 #include "libmesh/periodic_boundary.h"    28 #include "libmesh/point_locator_base.h"    29 #include "libmesh/remote_elem.h"    40   iterator i = this->find(
id);
    43   return i->second.get();
    50   const_iterator i = this->find(
id);
    53   return i->second.get();
    63                                           unsigned int * neigh_side)
 const    65   std::unique_ptr<const Elem> neigh_side_proxy;
    74   std::set<const Elem *> candidate_elements;
    75   point_locator.operator()(p, candidate_elements);
    81   for(
const Elem * elem_it : candidate_elements)
    83       std::vector<unsigned int> neigh_sides =
    86       for (
auto ns : neigh_sides)
    90               elem_it->build_side_ptr(neigh_side_proxy, ns);
    91               if (neigh_side_proxy->contains_point(p))
   107   libmesh_error_msg_if(
mesh.is_serial() ||
   109                        "Periodic boundary neighbor not found");
   122 #endif // LIBMESH_ENABLE_PERIODIC const unsigned int invalid_uint
A number which is used quite often to represent an invalid or uninitialized value for an unsigned int...
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int i)=0
This is the base class from which all geometric element types are derived. 
boundary_id_type pairedboundary
PeriodicBoundaryBase * boundary(boundary_id_type id)
The libMesh namespace provides an interface to certain functionality in the library. 
This is the MeshBase class. 
virtual Point get_corresponding_pos(const Point &pt) const =0
This function should be overridden by derived classes to define how one finds corresponding nodes on ...
This is the base class for point locators. 
const Elem * neighbor(boundary_id_type boundary_id, const PointLocatorBase &point_locator, const Elem *e, unsigned int side, unsigned int *neigh_side=nullptr) const
The base class for defining periodic boundaries. 
processor_id_type processor_id() const
A Point defines a location in LIBMESH_DIM dimensional Real space. 
const MeshBase & get_mesh() const
Get a const reference to this PointLocator's mesh. 
const RemoteElem * remote_elem