periodic_boundaries.h
Go to the documentation of this file.
1 
2 // The libMesh Finite Element Library.
3 // Copyright (C) 2002-2014 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
4 
5 // This library is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation; either
8 // version 2.1 of the License, or (at your option) any later version.
9 
10 // This library is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 // Lesser General Public License for more details.
14 
15 // You should have received a copy of the GNU Lesser General Public
16 // License along with this library; if not, write to the Free Software
17 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 
19 #ifndef LIBMESH_PERIODIC_BOUNDARIES_H
20 #define LIBMESH_PERIODIC_BOUNDARIES_H
21 
22 // ------------------------------------------------------------
23 // Periodic boundary conditions information
24 
25 // Local Includes -----------------------------------
26 #include "libmesh/libmesh_config.h"
27 
28 #ifdef LIBMESH_ENABLE_PERIODIC
29 
30 // Local Includes -----------------------------------
31 #include "libmesh/vector_value.h" // RealVectorValue
32 
33 // C++ Includes -----------------------------------
34 #include <map>
35 
36 namespace libMesh {
37 
38  // Forward Declarations
39  class Elem;
40  class PeriodicBoundaryBase;
41  class PointLocatorBase;
42 
48  class PeriodicBoundaries : public std::map<boundary_id_type, PeriodicBoundaryBase*>
49  {
50  public:
52 
54 
56 
58 
59  // The periodic neighbor of \p e in direction \p side, if it
60  // exists. NULL otherwise
61  const Elem* neighbor(boundary_id_type boundary_id,
62  const PointLocatorBase& point_locator,
63  const Elem* e,
64  unsigned int side) const;
65  };
66 
67 } // namespace libMesh
68 
69 #endif // LIBMESH_ENABLE_PERIODIC
70 
71 #endif // LIBMESH_PERIODIC_BOUNDARIES_H

Site Created By: libMesh Developers
Last modified: February 07 2014 16:57:06 UTC

Hosted By:
SourceForge.net Logo