www.mooseframework.org
GeometricSearchInterface.C
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 
16 
17 // MOOSE includes
18 #include "GeometricSearchData.h"
19 #include "MooseObject.h"
20 #include "NearestNodeLocator.h"
21 #include "PenetrationLocator.h"
22 #include "SubProblem.h"
23 #include "SystemBase.h"
24 
26  : _geometric_search_data(
27  moose_object->parameters().get<SubProblem *>("_subproblem")->geomSearchData())
28 {
29 }
30 
33  const BoundaryName & slave,
34  Order order)
35 {
36  return _geometric_search_data.getPenetrationLocator(master, slave, order);
37 }
38 
41  const BoundaryName & slave,
42  Order order)
43 {
44  return _geometric_search_data.getQuadraturePenetrationLocator(master, slave, order);
45 }
46 
49  const BoundaryName & slave,
50  Moose::ConstraintType side_type,
51  Order order)
52 {
53  return _geometric_search_data.getMortarPenetrationLocator(master, slave, side_type, order);
54 }
55 
58  const BoundaryName & slave)
59 {
60  return _geometric_search_data.getNearestNodeLocator(master, slave);
61 }
62 
65  const BoundaryName & slave)
66 {
68 }
69 
72  const BoundaryName & slave,
73  Moose::ConstraintType side_type)
74 {
75  return _geometric_search_data.getMortarNearestNodeLocator(master, slave, side_type);
76 }
GeometricSearchInterface(const MooseObject *moose_object)
ConstraintType
Definition: MooseTypes.h:198
PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Order order=FIRST)
GeometricSearchData & _geometric_search_data
Finds the nearest node to each node in boundary1 to each node in boundary2 and the other way around...
PenetrationLocator & getPenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Order order=FIRST)
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.
NearestNodeLocator & getMortarNearestNodeLocator(const BoundaryName &domain, const BoundaryName &slave, Moose::ConstraintType side_type)
PenetrationLocator & getPenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Order order)
Retrieve the PentrationLocator associated with the two sides.
NearestNodeLocator & getNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave)
NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave)
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:36
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:53
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.
PenetrationLocator & getMortarPenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Moose::ConstraintType side_type, Order order=FIRST)
NearestNodeLocator & getNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave)
Retrieve the PentrationLocator associated with the two sides.