Go to the documentation of this file.
16 #include "libmesh/enum_order.h"
45 const BoundaryName & slave,
48 const BoundaryName & slave,
52 const BoundaryName & slave);
54 const unsigned int slave_id);
57 const BoundaryName & slave);
59 const unsigned int slave_id);
68 std::shared_ptr<ElementPairLocator> epl);
std::set< unsigned int > _quadrature_boundaries
These are real boundaries that have quadrature nodes on them.
Real maxPatchPercentage()
Maximum percentage through the search patch that any NearestNodeLocator had to look.
void clearNearestNodeLocators()
Clear out the Penetration Locators so they will redo the search.
void update(GeometricSearchType type=ALL)
Update all of the search objects.
NearestNodeLocator & getNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave)
void updateQuadratureNodes(unsigned int slave_id)
Update the positions of the quadrature nodes.
virtual ~GeometricSearchData()
GeometricSearchData(SubProblem &subproblem, MooseMesh &mesh)
GeometricSearchType
Used to select groups of geometric search objects to update.
This is the ElementPairLocator class.
std::map< unsigned int, std::shared_ptr< ElementPairLocator > > _element_pair_locators
std::map< std::pair< unsigned int, unsigned int >, PenetrationLocator * > _penetration_locators
Finds the nearest node to each node in boundary1 to each node in boundary2 and the other way around.
std::map< std::pair< unsigned int, unsigned int >, NearestNodeLocator * > _nearest_node_locators
Generic class for solving transient nonlinear problems.
PenetrationLocator & getPenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Order order=FIRST)
bool _first
Denotes whether this is the first time the geometric search objects have been updated.
void reinit()
Completely redo all geometric search objects.
void reinitQuadratureNodes(unsigned int slave_id)
Completely redo quadrature nodes.
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
std::map< unsigned int, unsigned int > _slave_to_qslave
A mapping of the real boundary id to the slave boundary ids.
const std::map< std::pair< unsigned int, unsigned int >, PenetrationLocator * > & getPenetrationLocators() const
void generateQuadratureNodes(unsigned int slave_id, unsigned int qslave_id, bool reiniting=false)
Add Quadrature Nodes to the Mesh in support of Quadrature based penetration location and nearest node...
NearestNodeLocator & getQuadratureNearestNodeLocator(const BoundaryName &master, const BoundaryName &slave)
PenetrationLocator & getQuadraturePenetrationLocator(const BoundaryName &master, const BoundaryName &slave, Order order=FIRST)
void addElementPairLocator(const unsigned int &interface_id, std::shared_ptr< ElementPairLocator > epl)
void updateGhostedElems()
Updates the list of ghosted elements at the start of each time step for the nonlinear iteration patch...