https://mooseframework.inl.gov
GeometricSearchInterface.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "MooseTypes.h"
13 
14 #include "libmesh/enum_order.h"
15 
16 // Forward Declarations
18 class PenetrationLocator;
19 class NearestNodeLocator;
20 class MooseObject;
21 class BoundaryName;
22 
24 {
25 public:
27 
28  GeometricSearchInterface(const MooseObject * moose_object);
29 
34  getPenetrationLocator(const BoundaryName & primary, const BoundaryName & secondary, Order order);
35 
42  PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName & primary,
43  const BoundaryName & secondary,
44  Order order);
45 
49  NearestNodeLocator & getNearestNodeLocator(const BoundaryName & primary,
50  const BoundaryName & secondary);
51 
58  NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName & primary,
59  const BoundaryName & secondary);
60 
66 
67 protected:
69 
73 };
GeometricSearchInterface(const MooseObject *moose_object)
NearestNodeLocator & getNearestNodeLocator(const BoundaryName &primary, const BoundaryName &secondary)
Retrieve the PentrationLocator associated with the two sides.
Order
NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName &primary, const BoundaryName &secondary)
Retrieve a Quadrature NearestNodeLocator associated with the two sides.
PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName &primary, const BoundaryName &secondary, Order order)
Retrieve the Quadrature PentrationLocator associated with the two sides.
GeometricSearchData & _geometric_search_data
Finds the nearest node to each node in boundary1 to each node in boundary2 and the other way around...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
bool _requires_geometric_search
Whether any of this interface's methods have been called, e.g.
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:28
bool requiresGeometricSearch() const
Whether any of this interface's methods have been called, e.g.
PenetrationLocator & getPenetrationLocator(const BoundaryName &primary, const BoundaryName &secondary, Order order)
Retrieve the PenetrationLocator associated with the two sides.
static InputParameters validParams()