https://mooseframework.inl.gov
Loading...
Searching...
No Matches
FindContactPoint.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// Moose
13#include "Moose.h"
14#include "MooseTypes.h"
15
16// Forward declarations
17class PenetrationInfo;
18namespace libMesh
19{
20template <typename>
21class FEGenericBase;
23class FEType;
24class Elem;
25class Node;
26class Point;
27}
28
29namespace Moose
30{
31
33 libMesh::FEBase * fe_elem,
34 libMesh::FEBase * fe_side,
35 libMesh::FEType & fe_side_type,
36 const libMesh::Point & secondary_point,
37 bool start_with_centroid,
38 const Real tangential_tolerance,
39 bool & contact_point_on_side,
40 bool & search_succeeded);
41
43 const libMesh::Elem * side,
44 std::vector<const libMesh::Node *> & off_edge_nodes);
45}
Data structure used to hold penetration information.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
void restrictPointToFace(libMesh::Point &p, const libMesh::Elem *side, std::vector< const libMesh::Node * > &off_edge_nodes)
void findContactPoint(PenetrationInfo &p_info, libMesh::FEBase *fe_elem, libMesh::FEBase *fe_side, libMesh::FEType &fe_side_type, const libMesh::Point &secondary_point, bool start_with_centroid, const Real tangential_tolerance, bool &contact_point_on_side, bool &search_succeeded)
Finds the closest point (called the contact point) on the primary_elem on side "side" to the secondar...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
FEGenericBase< Real > FEBase
template class LIBMESH_EXPORT FEGenericBase< Real >