v0.14.0 |
Constitutive (physical) equation for interface. More...
#include <users_modules/basic_finite_elements/cohesive_interface/src/CohesiveInterfaceElement.hpp>
Public Member Functions | |
PhysicalEquation (MoFEM::Interface &m_field) | |
virtual | ~PhysicalEquation () |
MoFEMErrorCode | iNitailise (const FEMethod *fe_method) |
Initialize history variable data. More... | |
double | calcG (int gg, MatrixDouble gap_loc) |
Calculate gap opening. More... | |
MoFEMErrorCode | getKappa (int nb_gauss_pts, const FEMethod *fe_method) |
Get pointer from the mesh to histoy variables \(\kappa\). More... | |
MoFEMErrorCode | calcDglob (const double omega, MatrixDouble &R) |
Calculate stiffness material matrix. More... | |
MoFEMErrorCode | calcOmega (const double kappa, double &omega) |
Calculate damage. More... | |
MoFEMErrorCode | calcTangetDglob (const double omega, double g, const VectorDouble &gap_loc, MatrixDouble &R) |
Calculate tangent material stiffness. More... | |
virtual MoFEMErrorCode | calculateTraction (VectorDouble &traction, int gg, CommonData &common_data, const FEMethod *fe_method) |
Calculate tractions. More... | |
virtual MoFEMErrorCode | calculateTangentStiffeness (MatrixDouble &tangent_matrix, int gg, CommonData &common_data, const FEMethod *fe_method) |
Calculate tangent stiffness. More... | |
virtual MoFEMErrorCode | updateHistory (CommonData &common_data, const FEMethod *fe_method) |
Update history variables when converged. More... | |
Public Attributes | |
MoFEM::Interface & | mField |
bool | isInitialised |
double | h |
double | youngModulus |
double | beta |
double | ft |
double | Gf |
Range | pRisms |
Tag | thKappa |
Tag | thDamagedPrism |
double | E0 |
double | g0 |
double | kappa1 |
double * | kappaPtr |
int | kappaSize |
MatrixDouble | Dglob |
MatrixDouble | Dloc |
Constitutive (physical) equation for interface.
This is linear degradation model. Material parameters are: strength \(f_t\), interface fracture energy \(G_f\), elastic material stiffness \(E\). Parameter \(\beta\) controls how interface opening is calculated.
Model parameter is interface penalty thickness \(h\).
Definition at line 51 of file CohesiveInterfaceElement.hpp.
|
inline |
Definition at line 55 of file CohesiveInterfaceElement.hpp.
|
inlinevirtual |
Definition at line 58 of file CohesiveInterfaceElement.hpp.
|
inline |
Calculate stiffness material matrix.
\[ \mathbf{D}_\textrm{loc} = (1-\Omega) \mathbf{I} E_0 \]
where \(E_0\) is initial interface penalty stiffness
\[ \mathbf{D}_\textrm{glob} = \mathbf{R}^\textrm{T} \mathbf{D}_\textrm{loc}\mathbf{R} \]
Definition at line 136 of file CohesiveInterfaceElement.hpp.
|
inline |
Calculate gap opening.
\[ g = \sqrt{ g_n^2 + \beta(g_{s1}^2 + g_{s2}^2)} \]
Definition at line 95 of file CohesiveInterfaceElement.hpp.
|
inline |
Calculate damage.
\[ \Omega = \frac{1}{2} \frac{(2 G_f E_0+f_t^2)\kappa}{(ft+E_0 \kappa)G_f} \]
Definition at line 157 of file CohesiveInterfaceElement.hpp.
|
inline |
|
inlinevirtual |
|
inlinevirtual |
Calculate tractions.
\[ \mathbf{t} = \mathbf{D}_\textrm{glob}\mathbf{g} \]
Definition at line 203 of file CohesiveInterfaceElement.hpp.
|
inline |
|
inline |
Initialize history variable data.
Create tag on the prism/interface to store damage history variable
Definition at line 72 of file CohesiveInterfaceElement.hpp.
|
inlinevirtual |
Update history variables when converged.
Definition at line 272 of file CohesiveInterfaceElement.hpp.
double CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::beta |
Definition at line 61 of file CohesiveInterfaceElement.hpp.
MatrixDouble CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::Dglob |
Definition at line 122 of file CohesiveInterfaceElement.hpp.
MatrixDouble CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::Dloc |
Definition at line 122 of file CohesiveInterfaceElement.hpp.
double CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::E0 |
Definition at line 65 of file CohesiveInterfaceElement.hpp.
double CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::ft |
Definition at line 61 of file CohesiveInterfaceElement.hpp.
double CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::g0 |
Definition at line 65 of file CohesiveInterfaceElement.hpp.
double CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::Gf |
Definition at line 61 of file CohesiveInterfaceElement.hpp.
double CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::h |
Definition at line 61 of file CohesiveInterfaceElement.hpp.
bool CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::isInitialised |
Definition at line 54 of file CohesiveInterfaceElement.hpp.
double CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::kappa1 |
Definition at line 65 of file CohesiveInterfaceElement.hpp.
double* CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::kappaPtr |
Definition at line 99 of file CohesiveInterfaceElement.hpp.
int CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::kappaSize |
Definition at line 100 of file CohesiveInterfaceElement.hpp.
MoFEM::Interface& CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::mField |
Definition at line 53 of file CohesiveInterfaceElement.hpp.
Range CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::pRisms |
Definition at line 62 of file CohesiveInterfaceElement.hpp.
Tag CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::thDamagedPrism |
Definition at line 63 of file CohesiveInterfaceElement.hpp.
Tag CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::thKappa |
Definition at line 63 of file CohesiveInterfaceElement.hpp.
double CohesiveElement::CohesiveInterfaceElement::PhysicalEquation::youngModulus |
Definition at line 61 of file CohesiveInterfaceElement.hpp.