v0.16.3
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
ContactOps::HertzPlaneStrainPressureNormCheck Struct Reference

#include "tutorials/adv-1_contact/src/TestingContact.hpp"

Inheritance diagram for ContactOps::HertzPlaneStrainPressureNormCheck:
[legend]
Collaboration diagram for ContactOps::HertzPlaneStrainPressureNormCheck:
[legend]

Public Member Functions

 ContactPressureNormCheck (MoFEM::Interface &m_field, double tol_norm, std::string check_name)
 
- Public Member Functions inherited from ContactOps::ContactPressureNormCheck
 ContactPressureNormCheck (MoFEM::Interface &m_field, double tol_norm, std::string check_name)
 
virtual ~ContactPressureNormCheck ()=default
 
MoFEMErrorCode operator() (DM dm)
 

Protected Member Functions

double analyticalPressure (double x, double y, double) const override
 

Additional Inherited Members

- Protected Attributes inherited from ContactOps::ContactPressureNormCheck
MoFEM::Interface & mField
 
double tolNorm
 
std::string checkName
 

Detailed Description

Test 2: Hertz cylinder-on-plane contact, plane strain.

Definition at line 141 of file TestingContact.hpp.

Member Function Documentation

◆ analyticalPressure()

double ContactOps::HertzPlaneStrainPressureNormCheck::analyticalPressure ( double  x,
double  y,
double  z 
) const
inlineoverrideprotectedvirtual

Analytical pressure at a boundary gauss point's physical coordinates.

Implements ContactOps::ContactPressureNormCheck.

Definition at line 145 of file TestingContact.hpp.

145 {
146 double E_star = young_modulus / (1 - poisson_ratio * poisson_ratio);
147 double R = 100.;
148 double a = 1;
149 double r = std::sqrt((x * x) + (y * y));
150 if (r > a)
151 return 0.;
152 return E_star / (2. * R) * std::sqrt(a * a - r * r);
153 }
constexpr double a
@ R
int r
Definition sdf.py:205
double young_modulus
Young modulus.
Definition plastic.cpp:126
double poisson_ratio
Poisson ratio.
Definition plastic.cpp:127

◆ ContactPressureNormCheck()

ContactOps::ContactPressureNormCheck::ContactPressureNormCheck ( MoFEM::Interface &  m_field,
double  tol_norm,
std::string  check_name 
)
inline

Definition at line 12 of file TestingContact.hpp.

14 : mField(m_field), tolNorm(tol_norm), checkName(std::move(check_name)) {
15 }

The documentation for this struct was generated from the following file: