v0.15.4
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
EshelbianContact.cpp File Reference
#include <MoFEM.hpp>
#include <CGGTonsorialBubbleBase.hpp>
#include <EshelbianPlasticity.hpp>
#include <ContactOps.hpp>
#include <EshelbianContact.hpp>

Go to the source code of this file.

Classes

struct  EshelbianPlasticity::ContactSDFPython
 
struct  EshelbianPlasticity::ContactTree
 
struct  EshelbianPlasticity::ContactTree::FaceData
 
struct  EshelbianPlasticity::OpConstrainBoundaryL2Rhs
 
struct  EshelbianPlasticity::OpConstrainBoundaryHDivRhs< A, IntegrationType::GAUSS >
 
struct  EshelbianPlasticity::OpConstrainBoundaryL2Lhs_dU
 
struct  EshelbianPlasticity::OpConstrainBoundaryL2Lhs_dP< A, IntegrationType::GAUSS >
 
struct  EshelbianPlasticity::OpConstrainBoundaryHDivLhs_dU< A, IntegrationType::GAUSS >
 
struct  EshelbianPlasticity::OpMoveNode
 
struct  EshelbianPlasticity::OpTreeSearch
 

Namespaces

namespace  ContactOps
 
namespace  EshelbianPlasticity
 

Macros

#define SINGULARITY
 

Typedefs

using ContactOps::EntData = EntitiesFieldData::EntData
 
using ContactOps::BoundaryEle = FaceElementForcesAndSourcesCore
 
using ContactOps::BoundaryEleOp = BoundaryEle::UserDataOperator
 
using ContactOps::AssemblyBoundaryEleOp = FormsIntegrators< BoundaryEleOp >::Assembly< A >::OpBase
 

Enumerations

enum  EshelbianPlasticity::MultiPointRhsType { EshelbianPlasticity::U , EshelbianPlasticity::P }
 

Functions

void tricircumcenter3d_tp (double a[3], double b[3], double c[3], double circumcenter[3], double *xi, double *eta)
 
boost::shared_ptr< ContactSDFPythonEshelbianPlasticity::setupContactSdf ()
 Read SDF file and setup contact SDF.
 
auto EshelbianPlasticity::checkSdf (EntityHandle fe_ent, std::map< int, Range > &sdf_map_range)
 
template<typename OP_PTR >
auto EshelbianPlasticity::getSdf (OP_PTR op_ptr, MatrixDouble &contact_disp, int block_id, bool eval_hessian)
 
template<typename T1 >
auto EshelbianPlasticity::multiPoint (std::array< double, 3 > &unit_ray, std::array< double, 3 > &point, std::array< double, 9 > &elem_point_nodes, std::array< double, 9 > &elem_traction_nodes, FTensor::Tensor1< T1, 3 > &t_spatial_coords)
 Calculate points data on contact surfaces.
 
template<typename T1 >
auto EshelbianPlasticity::multiMasterPoint (ContactTree::FaceData *face_data_ptr, FTensor::Tensor1< T1, 3 > &t_spatial_coords)
 
template<typename T1 >
auto EshelbianPlasticity::multiSlavePoint (ContactTree::FaceData *face_data_ptr, FTensor::Tensor1< T1, 3 > &t_spatial_coords)
 
template<typename T1 >
auto EshelbianPlasticity::multiGetGap (ContactTree::FaceData *face_data_ptr, FTensor::Tensor1< T1, 3 > &t_spatial_coords)
 
template<typename T1 , typename T2 , typename T3 >
auto EshelbianPlasticity::multiPointRhs (ContactTree::FaceData *face_data_ptr, FTensor::Tensor1< T1, 3 > &t_coords, FTensor::Tensor1< T2, 3 > &t_spatial_coords, FTensor::Tensor1< T3, 3 > &t_master_traction, MultiPointRhsType type, bool debug=false)
 
static auto EshelbianPlasticity::get_range_from_block (MoFEM::Interface &m_field, const std::string block_name, int dim)
 
boost::shared_ptr< ForcesAndSourcesCoreEshelbianPlasticity::createContactDetectionFiniteElement (EshelbianCore &ep)
 Create a Contact Tree finite element.
 
static auto EshelbianPlasticity::get_body_range (MoFEM::Interface &m_field, const std::string name, int dim)
 
MoFEMErrorCode EshelbianPlasticity::pushContactOpsRhs (EshelbianCore &ep, boost::shared_ptr< ForcesAndSourcesCore > fe_ptr, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
 
MoFEMErrorCode EshelbianPlasticity::pushContactOpsLhs (EshelbianCore &ep, boost::shared_ptr< ForcesAndSourcesCore > fe_ptr, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip)
 
ForcesAndSourcesCore::UserDataOperator * EshelbianPlasticity::getOpContactDetection (EshelbianCore &ep, boost::shared_ptr< ForcesAndSourcesCore > fe_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)
 

Variables

double ContactOps::alpha_contact_const = 1
 
double ContactOps::alpha_contact_quadratic = 1
 
double ContactOps::scale = 1
 
double ContactOps::airplane_ray_distance = 1
 

Detailed Description

Date
2023-05-13

Definition in file EshelbianContact.cpp.

Macro Definition Documentation

◆ SINGULARITY

#define SINGULARITY

Definition at line 10 of file EshelbianContact.cpp.

Function Documentation

◆ tricircumcenter3d_tp()

void tricircumcenter3d_tp ( double  a[3],
double  b[3],
double  c[3],
double  circumcenter[3],
double xi,
double eta 
)