v0.10.0
Classes | Functions | Variables
ContactOps Namespace Reference

Classes

struct  CommonData
 [Common data] More...
 
struct  OpConstrainBoundaryRhs
 
struct  OpConstrainBoundaryLhs_dU
 
struct  OpConstrainBoundaryLhs_dTraction
 
struct  OpPostProcVertex
 
struct  OpPostProcContact
 
struct  Monitor
 [Postprocessing] More...
 

Functions

template<typename T1 , typename T2 >
FTensor::Tensor1< double, SPACE_DIMnormal (FTensor::Tensor1< T1, 3 > &t_coords, FTensor::Tensor1< T2, SPACE_DIM > &t_disp)
 
template<typename T >
double gap0 (FTensor::Tensor1< T, 3 > &t_coords, FTensor::Tensor1< double, SPACE_DIM > &t_normal)
 
template<typename T >
double gap (FTensor::Tensor1< T, SPACE_DIM > &t_disp, FTensor::Tensor1< double, SPACE_DIM > &t_normal)
 
template<typename T >
double normal_traction (FTensor::Tensor1< T, SPACE_DIM > &t_traction, FTensor::Tensor1< double, SPACE_DIM > &t_normal)
 
double sign (double x)
 
double w (const double g, const double t)
 
double constrian (double &&g0, double &&g, double &&t)
 
double diff_constrains_dtraction (double &&g0, double &&g, double &&t)
 
double diff_constrains_dgap (double &&g0, double &&g, double &&t)
 

Variables

FTensor::Index< 'i', SPACE_DIMi
 [Common data] More...
 
FTensor::Index< 'j', SPACE_DIMj
 
FTensor::Index< 'k', SPACE_DIMk
 
FTensor::Index< 'l', SPACE_DIMl
 

Function Documentation

◆ constrian()

double ContactOps::constrian ( double &&  g0,
double &&  g,
double &&  t 
)
Examples
ContactOps.hpp.

Definition at line 117 of file ContactOps.hpp.

117  {
118  return (w(g - g0, t) + std::abs(w(g - g0, t))) / 2 + g0;
119 };
double w(const double g, const double t)
Definition: ContactOps.hpp:115

◆ diff_constrains_dgap()

double ContactOps::diff_constrains_dgap ( double &&  g0,
double &&  g,
double &&  t 
)
Examples
ContactOps.hpp.

Definition at line 125 of file ContactOps.hpp.

125  {
126  return (1 + sign(w(g - g0, t))) / 2;
127 }
double sign(double x)
Definition: ContactOps.hpp:106

◆ diff_constrains_dtraction()

double ContactOps::diff_constrains_dtraction ( double &&  g0,
double &&  g,
double &&  t 
)
Examples
ContactOps.hpp.

Definition at line 121 of file ContactOps.hpp.

121  {
122  return -cn * (1 + sign(w(g - g0, t))) / 2;
123 }
double cn
Definition: plastic.cpp:108

◆ gap()

template<typename T >
double ContactOps::gap ( FTensor::Tensor1< T, SPACE_DIM > &  t_disp,
FTensor::Tensor1< double, SPACE_DIM > &  t_normal 
)
Examples
ContactOps.hpp.

Definition at line 95 of file ContactOps.hpp.

96  {
97  return t_disp(i) * t_normal(i);
98 }
FTensor::Index< 'i', 3 > i

◆ gap0()

template<typename T >
double ContactOps::gap0 ( FTensor::Tensor1< T, 3 > &  t_coords,
FTensor::Tensor1< double, SPACE_DIM > &  t_normal 
)
Examples
ContactOps.hpp.

Definition at line 89 of file ContactOps.hpp.

90  {
91  return (-0.5 - t_coords(1)) * t_normal(1);
92 }

◆ normal()

template<typename T1 , typename T2 >
FTensor::Tensor1<double, SPACE_DIM> ContactOps::normal ( FTensor::Tensor1< T1, 3 > &  t_coords,
FTensor::Tensor1< T2, SPACE_DIM > &  t_disp 
)
Examples
ContactOps.hpp, and prism_elements_from_surface.cpp.

Definition at line 80 of file ContactOps.hpp.

81  {
83  t_normal(i) = 0;
84  t_normal(1) = 1.;
85  return t_normal;
86 }

◆ normal_traction()

template<typename T >
double ContactOps::normal_traction ( FTensor::Tensor1< T, SPACE_DIM > &  t_traction,
FTensor::Tensor1< double, SPACE_DIM > &  t_normal 
)
Examples
ContactOps.hpp.

Definition at line 101 of file ContactOps.hpp.

102  {
103  return -t_traction(i) * t_normal(i);
104 }

◆ sign()

double ContactOps::sign ( double  x)
Examples
ContactOps.hpp.

Definition at line 106 of file ContactOps.hpp.

106  {
107  if (x == 0)
108  return 0;
109  else if (x > 0)
110  return 1;
111  else
112  return -1;
113 };

◆ w()

double ContactOps::w ( const double  g,
const double  t 
)
Examples
ContactOps.hpp.

Definition at line 115 of file ContactOps.hpp.

115 { return g - cn * t; }

Variable Documentation

◆ i

FTensor::Index<'i', SPACE_DIM> ContactOps::i

[Common data]

Examples
ContactOps.hpp.

Definition at line 38 of file ContactOps.hpp.

◆ j

FTensor::Index<'j', SPACE_DIM> ContactOps::j
Examples
ContactOps.hpp.

Definition at line 39 of file ContactOps.hpp.

◆ k

FTensor::Index<'k', SPACE_DIM> ContactOps::k
Examples
ContactOps.hpp.

Definition at line 40 of file ContactOps.hpp.

◆ l

FTensor::Index<'l', SPACE_DIM> ContactOps::l
Examples
ContactOps.hpp.

Definition at line 41 of file ContactOps.hpp.