https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
20class MooseObject;
21class BoundaryName;
22
24{
25public:
27
28 GeometricSearchInterface(const MooseObject * moose_object);
29
30#ifdef MOOSE_KOKKOS_ENABLED
35 const Moose::Kokkos::FunctorCopy & key);
36#endif
37
42 getPenetrationLocator(const BoundaryName & primary, const BoundaryName & secondary, Order order);
43
50 PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName & primary,
51 const BoundaryName & secondary,
52 Order order);
53
57 NearestNodeLocator & getNearestNodeLocator(const BoundaryName & primary,
58 const BoundaryName & secondary);
59
66 NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName & primary,
67 const BoundaryName & secondary);
68
74
75protected:
77
81};
bool _requires_geometric_search
Whether any of this interface's methods have been called, e.g.
GeometricSearchData & _geometric_search_data
NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName &primary, const BoundaryName &secondary)
Retrieve a Quadrature NearestNodeLocator associated with the two sides.
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, Order order)
Retrieve the Quadrature PenetrationLocator associated with the two sides.
static InputParameters validParams()
NearestNodeLocator & getNearestNodeLocator(const BoundaryName &primary, const BoundaryName &secondary)
Retrieve the PenetrationLocator associated with the two sides.
bool requiresGeometricSearch() const
Whether any of this interface's methods have been called, e.g.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Every object that can be built by the factory should be derived from this class.
Definition MooseObject.h:31
Finds the nearest node to each node in boundary1 to each node in boundary2 and the other way around.