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"
38class PeriodicBoundaryBase;
39class PointLocatorBase;
49class PeriodicBoundaries :
public std::map<boundary_id_type, std::unique_ptr<PeriodicBoundaryBase>>
71 unsigned int * neigh_side =
nullptr)
const;
This is the base class from which all geometric element types are derived.
We're using a class instead of a typedef to allow forward declarations and future flexibility.
PeriodicBoundaries()=default
PeriodicBoundaryBase * boundary(boundary_id_type id)
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.
This is the base class for point locators.
The libMesh namespace provides an interface to certain functionality in the library.