v0.15.4
Loading...
Searching...
No Matches
EshelbianContact.hpp
Go to the documentation of this file.
1/**
2 * @file EshelbianContact.hpp
3 * @brief
4 * @date 2023-05-13
5 *
6 * @copyright Copyright (c) 2023
7 *
8 */
9
10namespace EshelbianPlasticity {
11
12struct ContactTree;
13struct ContactSDFPython;
14
15/**
16 * @brief Read SDF file and setup contact SDF
17 *
18 * @return boost::shared_ptr<ContactSDFPython>
19 */
20boost::shared_ptr<ContactSDFPython> setupContactSdf();
21
22/**
23 * @brief Create a Contact Tree finite element
24 *
25 * @param ep
26 * @return boost::shared_ptr<ForcesAndSourcesCore>
27 */
28boost::shared_ptr<ForcesAndSourcesCore>
30
31/**
32 * @brief Push contact operations to the right-hand side
33 *
34 * @param ep
35 * @param contact_tree_ptr
36 * @param pip
37 * @return MoFEMErrorCode
38 */
39MoFEMErrorCode pushContactOpsRhs(
40 EshelbianCore &ep, boost::shared_ptr<ForcesAndSourcesCore> contact_tree_ptr,
41 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pip);
42
43/**
44 * @brief Push contact operations to the left-hand side
45 *
46 * @param ep
47 * @param contact_tree_ptr
48 * @param pip
49 * @return MoFEMErrorCode
50 */
51MoFEMErrorCode pushContactOpsLhs(
52 EshelbianCore &ep, boost::shared_ptr<ForcesAndSourcesCore> contact_tree_ptr,
53 boost::ptr_deque<ForcesAndSourcesCore::UserDataOperator> &pip);
54
55/**
56 * @brief Push operator for contact detection
57 *
58 * @param ep
59 * @param contact_tree_ptr
60 * @param u_h1_ptr
61 * @param contact_traction_ptr
62 * @param r
63 * @param post_proc_mesh_ptr
64 * @param map_gauss_pts_ptr
65 * @return ForcesAndSourcesCore::UserDataOperator*
66 */
67ForcesAndSourcesCore::UserDataOperator *
69 boost::shared_ptr<ForcesAndSourcesCore> contact_tree_ptr,
70 boost::shared_ptr<MatrixDouble> u_h1_ptr,
71 boost::shared_ptr<MatrixDouble> contact_traction_ptr,
72 Range r, moab::Interface *post_proc_mesh_ptr,
73 std::vector<EntityHandle> *map_gauss_pts_ptr);
74
75} // namespace EshelbianPlasticity
boost::shared_ptr< ContactSDFPython > setupContactSdf()
Read SDF file and setup contact SDF.
ForcesAndSourcesCore::UserDataOperator * getOpContactDetection(EshelbianCore &ep, boost::shared_ptr< ForcesAndSourcesCore > contact_tree_ptr, boost::shared_ptr< MatrixDouble > u_h1_ptr, boost::shared_ptr< MatrixDouble > contact_traction_ptr, Range r, moab::Interface *post_proc_mesh_ptr, std::vector< EntityHandle > *map_gauss_pts_ptr)
Push operator for contact detection.
boost::shared_ptr< ForcesAndSourcesCore > createContactDetectionFiniteElement(EshelbianCore &ep)
Create a Contact Tree finite element.
MoFEMErrorCode pushContactOpsRhs(EshelbianCore &ep, boost::shared_ptr< ForcesAndSourcesCore > contact_tree_ptr, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
Push contact operations to the right-hand side.
MoFEMErrorCode pushContactOpsLhs(EshelbianCore &ep, boost::shared_ptr< ForcesAndSourcesCore > contact_tree_ptr, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
Push contact operations to the left-hand side.