v0.14.0
Classes | Namespaces | Typedefs | Functions
ContactOps.hpp File Reference

Go to the source code of this file.

Classes

struct  ContactOps::CommonData
 [Common data] More...
 
struct  ContactOps::OpAssembleTotalContactTractionImpl< DIM, I, BoundaryEleOp >
 
struct  ContactOps::OpAssembleTotalContactAreaImpl< DIM, I, BoundaryEleOp >
 
struct  ContactOps::OpEvaluateSDFImpl< DIM, I, BoundaryEleOp >
 
struct  ContactOps::OpConstrainBoundaryRhsImpl< DIM, I, AssemblyBoundaryEleOp >
 
struct  ContactOps::OpConstrainBoundaryLhs_dUImpl< DIM, I, AssemblyBoundaryEleOp >
 
struct  ContactOps::OpConstrainBoundaryLhs_dTractionImpl< DIM, I, AssemblyBoundaryEleOp >
 
struct  ContactOps::OpAssembleTotalContactTractionImpl< DIM, GAUSS, BoundaryEleOp >
 
struct  ContactOps::OpAssembleTotalContactAreaImpl< DIM, GAUSS, BoundaryEleOp >
 
struct  ContactOps::OpEvaluateSDFImpl< DIM, GAUSS, BoundaryEleOp >
 
struct  ContactOps::OpConstrainBoundaryRhsImpl< DIM, GAUSS, AssemblyBoundaryEleOp >
 
struct  ContactOps::OpConstrainBoundaryLhs_dUImpl< DIM, GAUSS, AssemblyBoundaryEleOp >
 
struct  ContactOps::OpConstrainBoundaryLhs_dTractionImpl< DIM, GAUSS, AssemblyBoundaryEleOp >
 
struct  ContactOps::ContactIntegrators< BoundaryEleOp >
 
struct  ContactOps::ContactIntegrators< BoundaryEleOp >::Assembly< A >
 
struct  ContactOps::OpMixLhsSide< OpMixLhs >
 

Namespaces

 ContactOps
 

Typedefs

using ContactOps::SurfaceDistanceFunction = boost::function< VectorDouble(double delta_t, double t, int nb_gauss_pts, MatrixDouble &spatial_coords, MatrixDouble &normals_at_pts, int block_id)>
 [Common data] More...
 
using ContactOps::GradSurfaceDistanceFunction = boost::function< MatrixDouble(double delta_t, double t, int nb_gauss_pts, MatrixDouble &spatial_coords, MatrixDouble &normals_at_pts, int block_id)>
 
using ContactOps::HessSurfaceDistanceFunction = boost::function< MatrixDouble(double delta_t, double t, int nb_gauss_pts, MatrixDouble &spatial_coords, MatrixDouble &normals_at_pts, int block_id)>
 

Functions

VectorDouble ContactOps::surface_distance_function (double delta_t, double t, int nb_gauss_pts, MatrixDouble &m_spatial_coords, MatrixDouble &m_normals_at_pts, int block_id)
 
MatrixDouble ContactOps::grad_surface_distance_function (double delta_t, double t, int nb_gauss_pts, MatrixDouble &m_spatial_coords, MatrixDouble &m_normals_at_pts, int block_id)
 
MatrixDouble ContactOps::hess_surface_distance_function (double delta_t, double t, int nb_gauss_pts, MatrixDouble &m_spatial_coords, MatrixDouble &m_normals_at_pts, int block_id)
 
template<typename T1 , typename T2 , int DIM1, int DIM2>
auto ContactOps::get_spatial_coords (FTensor::Tensor1< T1, DIM1 > &&t_coords, FTensor::Tensor1< T2, DIM2 > &&t_disp, size_t nb_gauss_pts)
 
template<typename T1 , int DIM1>
auto ContactOps::get_normalize_normals (FTensor::Tensor1< T1, DIM1 > &&t_normal_at_pts, size_t nb_gauss_pts)
 
double ContactOps::sign (double x)
 
double ContactOps::w (const double sdf, const double tn)
 
double ContactOps::constrain (double sdf, double tn)
 constrain function More...
 
template<int DIM, AssemblyType A, IntegrationType I, typename DomainEleOp >
MoFEMErrorCode ContactOps::opFactoryDomainRhs (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string sigma, std::string u, bool is_axisymmetric=false)
 
template<int DIM, AssemblyType A, IntegrationType I, typename DomainEle >
MoFEMErrorCode ContactOps::opFactoryBoundaryToDomainLhs (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string fe_domain_name, std::string sigma, std::string u, std::string geom, ForcesAndSourcesCore::RuleHookFun rule, bool is_axisymmetric=false)
 
template<int DIM, AssemblyType A, IntegrationType I, typename BoundaryEleOp >
MoFEMErrorCode ContactOps::opFactoryBoundaryLhs (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string sigma, std::string u, bool is_axisymmetric=false)
 
template<int DIM, AssemblyType A, IntegrationType I, typename BoundaryEleOp >
MoFEMErrorCode ContactOps::opFactoryBoundaryRhs (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string sigma, std::string u, bool is_axisymmetric=false)
 
template<int DIM, IntegrationType I, typename BoundaryEleOp >
MoFEMErrorCode ContactOps::opFactoryCalculateTraction (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string sigma, bool is_axisymmetric=false)
 
template<int DIM, IntegrationType I, typename BoundaryEleOp >
MoFEMErrorCode ContactOps::opFactoryCalculateArea (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, OpLoopSide< SideEle > *op_loop_side, std::string sigma, std::string u, bool is_axisymmetric=false, boost::shared_ptr< Range > contact_range_ptr=nullptr)