18 #ifndef LIBMESH_PERIODIC_BOUNDARIES_H 19 #define LIBMESH_PERIODIC_BOUNDARIES_H 22 #include "libmesh/libmesh_config.h" 24 #ifdef LIBMESH_ENABLE_PERIODIC 27 #include "libmesh/vector_value.h" 38 class PeriodicBoundaryBase;
39 class PointLocatorBase;
49 class PeriodicBoundaries :
public std::map<boundary_id_type, std::unique_ptr<PeriodicBoundaryBase>>
71 unsigned int * neigh_side =
nullptr)
const;
76 #endif // LIBMESH_ENABLE_PERIODIC 78 #endif // LIBMESH_PERIODIC_BOUNDARIES_H We're using a class instead of a typedef to allow forward declarations and future flexibility...
This is the base class from which all geometric element types are derived.
PeriodicBoundaryBase * boundary(boundary_id_type id)
The libMesh namespace provides an interface to certain functionality in the library.
This is the base class for point locators.
PeriodicBoundaries()=default
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.