www.mooseframework.org
GeometricSearchInterface.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* DO NOT MODIFY THIS HEADER */
3 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
4 /* */
5 /* (c) 2010 Battelle Energy Alliance, LLC */
6 /* ALL RIGHTS RESERVED */
7 /* */
8 /* Prepared by Battelle Energy Alliance, LLC */
9 /* Under Contract No. DE-AC07-05ID14517 */
10 /* With the U. S. Department of Energy */
11 /* */
12 /* See COPYRIGHT for full restrictions */
13 /****************************************************************/
14 
15 #ifndef GEOMETRICSEARCHINTERFACE_H
16 #define GEOMETRICSEARCHINTERFACE_H
17 
18 #include "MooseTypes.h"
19 
20 #include "libmesh/enum_order.h"
21 
22 // Forward Declarations
24 class PenetrationLocator;
25 class NearestNodeLocator;
26 class MooseObject;
27 class BoundaryName;
28 
30 {
31 public:
32  GeometricSearchInterface(const MooseObject * moose_object);
33 
38  getPenetrationLocator(const BoundaryName & master, const BoundaryName & slave, Order order);
39 
46  PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName & master,
47  const BoundaryName & slave,
48  Order order);
49 
56  PenetrationLocator & getMortarPenetrationLocator(const BoundaryName & master,
57  const BoundaryName & slave,
58  Moose::ConstraintType side_type,
59  Order order);
60 
64  NearestNodeLocator & getNearestNodeLocator(const BoundaryName & master,
65  const BoundaryName & slave);
66 
73  NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName & master,
74  const BoundaryName & slave);
75 
82  NearestNodeLocator & getMortarNearestNodeLocator(const BoundaryName & master,
83  const BoundaryName & slave,
84  Moose::ConstraintType side_type);
85 
86 protected:
88 };
89 
90 #endif // GEOMETRICSEARCHINTERFACE_H
GeometricSearchInterface(const MooseObject *moose_object)
ConstraintType
Definition: MooseTypes.h:198
GeometricSearchData & _geometric_search_data
Finds the nearest node to each node in boundary1 to each node in boundary2 and the other way around...
PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Order order)
Retrieve the Quadrature PentrationLocator associated with the two sides.
NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave)
Retrieve a Quadrature NearestNodeLocator associated with the two sides.
PenetrationLocator & getPenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Order order)
Retrieve the PentrationLocator associated with the two sides.
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:36
NearestNodeLocator & getMortarNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave, Moose::ConstraintType side_type)
Retrieve a mortar NearestNodeLocator associated with the two sides.
PenetrationLocator & getMortarPenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Moose::ConstraintType side_type, Order order)
Retrieve the mortar PentrationLocator associated with the two sides.
NearestNodeLocator & getNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave)
Retrieve the PentrationLocator associated with the two sides.