v0.16.0
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | List of all members
CohesiveElement::CohesiveInterfaceElement Struct Reference

Cohesive element implementation. More...

#include "tutorials/cor-12_cohesive_interface/src/CohesiveInterfaceElement.hpp"

Collaboration diagram for CohesiveElement::CohesiveInterfaceElement:
[legend]

Classes

struct  CommonData
 
struct  MyPrism
 
struct  OpCalculateGapGlobal
 Operator calculate gap, normal vector and rotation matrix. More...
 
struct  OpCalculateGapLocal
 Operator calculate gap in local coordinate system. More...
 
struct  OpHistory
 Operator update history variables. More...
 
struct  OpLhs
 Operator calculate element stiffens matrix. More...
 
struct  OpRhs
 Operator calculate right hand side vector. More...
 
struct  OpSetSignToShapeFunctions
 Set negative sign to shape functions on face 4. More...
 
struct  PhysicalEquation
 Constitutive (physical) equation for interface. More...
 

Public Member Functions

 CohesiveInterfaceElement (MoFEM::Interface &m_field)
 
virtual ~CohesiveInterfaceElement ()
 
MyPrismgetFeRhs ()
 
MyPrismgetFeLhs ()
 
MyPrismgetFeHistory ()
 
MoFEMErrorCode addOps (const std::string field_name, boost::ptr_vector< CohesiveInterfaceElement::PhysicalEquation > &interfaces)
 Driver function settting all operators needed for interface element.
 

Public Attributes

CommonData commonData
 
MyPrism feRhs
 
MyPrism feLhs
 
MyPrism feHistory
 

Detailed Description

Cohesive element implementation.

Bug:
Interface element not working with HO geometry.

Definition at line 12 of file CohesiveInterfaceElement.hpp.

Constructor & Destructor Documentation

◆ CohesiveInterfaceElement()

CohesiveElement::CohesiveInterfaceElement::CohesiveInterfaceElement ( MoFEM::Interface m_field)
inline

◆ ~CohesiveInterfaceElement()

virtual CohesiveElement::CohesiveInterfaceElement::~CohesiveInterfaceElement ( )
inlinevirtual

Definition at line 35 of file CohesiveInterfaceElement.hpp.

35{}

Member Function Documentation

◆ addOps()

MoFEMErrorCode CohesiveElement::CohesiveInterfaceElement::addOps ( const std::string  field_name,
boost::ptr_vector< CohesiveInterfaceElement::PhysicalEquation > &  interfaces 
)
inline

Driver function settting all operators needed for interface element.

Definition at line 599 of file CohesiveInterfaceElement.hpp.

601 {
603
604 //Rhs
605 feRhs.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
606 feRhs.getOpPtrVector().push_back(
607 new OpCalculateGapGlobal(field_name, commonData));
608 feRhs.getOpPtrVector().push_back(
609 new OpCalculateGapLocal(field_name, commonData));
610 //Lhs
611 feLhs.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
612 feLhs.getOpPtrVector().push_back(
613 new OpCalculateGapGlobal(field_name, commonData));
614 feLhs.getOpPtrVector().push_back(
615 new OpCalculateGapLocal(field_name, commonData));
616 //History
617 feHistory.getOpPtrVector().push_back(
618 new OpSetSignToShapeFunctions(field_name));
619 feHistory.getOpPtrVector().push_back(
620 new OpCalculateGapGlobal(field_name, commonData));
621 feHistory.getOpPtrVector().push_back(
622 new OpCalculateGapLocal(field_name, commonData));
623
624 //add equations/data for physical interfaces
625 boost::ptr_vector<CohesiveInterfaceElement::PhysicalEquation>::iterator pit;
626 for (pit = interfaces.begin(); pit != interfaces.end(); pit++) {
627 feRhs.getOpPtrVector().push_back(new OpRhs(field_name, commonData, *pit));
628 feLhs.getOpPtrVector().push_back(new OpLhs(field_name, commonData, *pit));
629 feHistory.getOpPtrVector().push_back(
630 new OpHistory(field_name, commonData, *pit));
631 }
632
634 }
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
constexpr auto field_name
boost::ptr_deque< UserDataOperator > & getOpPtrVector()
Use to push back operator for row operator.

◆ getFeHistory()

MyPrism & CohesiveElement::CohesiveInterfaceElement::getFeHistory ( )
inline

Definition at line 39 of file CohesiveInterfaceElement.hpp.

39{ return feHistory; }

◆ getFeLhs()

MyPrism & CohesiveElement::CohesiveInterfaceElement::getFeLhs ( )
inline

Definition at line 38 of file CohesiveInterfaceElement.hpp.

38{ return feLhs; }

◆ getFeRhs()

MyPrism & CohesiveElement::CohesiveInterfaceElement::getFeRhs ( )
inline

Definition at line 37 of file CohesiveInterfaceElement.hpp.

37{ return feRhs; }

Member Data Documentation

◆ commonData

CommonData CohesiveElement::CohesiveInterfaceElement::commonData

Definition at line 19 of file CohesiveInterfaceElement.hpp.

◆ feHistory

MyPrism CohesiveElement::CohesiveInterfaceElement::feHistory

Definition at line 30 of file CohesiveInterfaceElement.hpp.

◆ feLhs

MyPrism CohesiveElement::CohesiveInterfaceElement::feLhs

Definition at line 29 of file CohesiveInterfaceElement.hpp.

◆ feRhs

MyPrism CohesiveElement::CohesiveInterfaceElement::feRhs

Definition at line 28 of file CohesiveInterfaceElement.hpp.


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