Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
GeometricSearchInterface.C
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 
11 
12 // MOOSE includes
13 #include "GeometricSearchData.h"
14 #include "MooseObject.h"
15 #include "NearestNodeLocator.h"
16 #include "PenetrationLocator.h"
17 #include "SubProblem.h"
18 #include "SystemBase.h"
19 
22 {
23  return emptyInputParameters();
24 }
25 
27  : _geometric_search_data(moose_object->parameters()
28  .getCheckedPointerParam<SubProblem *>("_subproblem")
29  ->geomSearchData()),
30  _requires_geometric_search(false)
31 {
32 }
33 
36  const BoundaryName & secondary,
37  Order order)
38 {
40  return _geometric_search_data.getPenetrationLocator(primary, secondary, order);
41 }
42 
45  const BoundaryName & secondary,
46  Order order)
47 {
49  return _geometric_search_data.getQuadraturePenetrationLocator(primary, secondary, order);
50 }
51 
54  const BoundaryName & secondary)
55 {
57  return _geometric_search_data.getNearestNodeLocator(primary, secondary);
58 }
59 
62  const BoundaryName & secondary)
63 {
66 }
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
NearestNodeLocator & getNearestNodeLocator(const BoundaryName &primary, const BoundaryName &secondary)
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...
InputParameters emptyInputParameters()
bool _requires_geometric_search
Whether any of this interface&#39;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
NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName &primary, const BoundaryName &secondary)
PenetrationLocator & getPenetrationLocator(const BoundaryName &primary, const BoundaryName &secondary, Order order)
Retrieve the PenetrationLocator associated with the two sides.
PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName &primary, const BoundaryName &secondary, libMesh::Order order=libMesh::FIRST)
Generic class for solving transient nonlinear problems.
Definition: SubProblem.h:78
static InputParameters validParams()
PenetrationLocator & getPenetrationLocator(const BoundaryName &primary, const BoundaryName &secondary, libMesh::Order order=libMesh::FIRST)