v0.13.1
Classes | Public Member Functions | Public Attributes | List of all members
CohesiveElement::CohesiveInterfaceElement Struct Reference

Cohesive element implementation. More...

#include <users_modules/basic_finite_elements/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. More...
 

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 14 of file CohesiveInterfaceElement.hpp.

Constructor & Destructor Documentation

◆ CohesiveInterfaceElement()

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

◆ ~CohesiveInterfaceElement()

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

Definition at line 34 of file CohesiveInterfaceElement.hpp.

34 {
35
36 }

Member Function Documentation

◆ addOps()

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

Driver function settting all operators needed for interface element.

Definition at line 568 of file CohesiveInterfaceElement.hpp.

568 {
570
571 //Rhs
572 feRhs.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
573 feRhs.getOpPtrVector().push_back(new OpCalculateGapGlobal(field_name,commonData));
574 feRhs.getOpPtrVector().push_back(new OpCalculateGapLocal(field_name,commonData));
575 //Lhs
576 feLhs.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
577 feLhs.getOpPtrVector().push_back(new OpCalculateGapGlobal(field_name,commonData));
578 feLhs.getOpPtrVector().push_back(new OpCalculateGapLocal(field_name,commonData));
579 //History
580 feHistory.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
581 feHistory.getOpPtrVector().push_back(new OpCalculateGapGlobal(field_name,commonData));
582 feHistory.getOpPtrVector().push_back(new OpCalculateGapLocal(field_name,commonData));
583
584 //add equations/data for physical interfaces
585 boost::ptr_vector<CohesiveInterfaceElement::PhysicalEquation>::iterator pit;
586 for(pit = interfaces.begin();pit!=interfaces.end();pit++) {
587 feRhs.getOpPtrVector().push_back(new OpRhs(field_name,commonData,*pit));
588 feLhs.getOpPtrVector().push_back(new OpLhs(field_name,commonData,*pit));
589 feHistory.getOpPtrVector().push_back(new OpHistory(field_name,commonData,*pit));
590 }
591
593 }
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:447
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:440
constexpr auto field_name
boost::ptr_vector< UserDataOperator > & getOpPtrVector()
Use to push back operator for row operator.

◆ getFeHistory()

MyPrism & CohesiveElement::CohesiveInterfaceElement::getFeHistory ( )

Definition at line 40 of file CohesiveInterfaceElement.hpp.

40{ return feHistory; }

◆ getFeLhs()

MyPrism & CohesiveElement::CohesiveInterfaceElement::getFeLhs ( )

Definition at line 39 of file CohesiveInterfaceElement.hpp.

39{ return feLhs; }

◆ getFeRhs()

MyPrism & CohesiveElement::CohesiveInterfaceElement::getFeRhs ( )

Definition at line 38 of file CohesiveInterfaceElement.hpp.

38{ return feRhs; }

Member Data Documentation

◆ commonData

CommonData CohesiveElement::CohesiveInterfaceElement::commonData

Definition at line 21 of file CohesiveInterfaceElement.hpp.

◆ feHistory

MyPrism CohesiveElement::CohesiveInterfaceElement::feHistory

Definition at line 29 of file CohesiveInterfaceElement.hpp.

◆ feLhs

MyPrism CohesiveElement::CohesiveInterfaceElement::feLhs

Definition at line 28 of file CohesiveInterfaceElement.hpp.

◆ feRhs

MyPrism CohesiveElement::CohesiveInterfaceElement::feRhs

Definition at line 27 of file CohesiveInterfaceElement.hpp.


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