v0.10.0
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 26 of file CohesiveInterfaceElement.hpp.

Constructor & Destructor Documentation

◆ CohesiveInterfaceElement()

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

Definition at line 43 of file CohesiveInterfaceElement.hpp.

43  :
44  feRhs(m_field),feLhs(m_field),feHistory(m_field) {};

◆ ~CohesiveInterfaceElement()

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

Definition at line 46 of file CohesiveInterfaceElement.hpp.

46  {
47 
48  }

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

580  {
582 
583  //Rhs
584  feRhs.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
585  feRhs.getOpPtrVector().push_back(new OpCalculateGapGlobal(field_name,commonData));
586  feRhs.getOpPtrVector().push_back(new OpCalculateGapLocal(field_name,commonData));
587  //Lhs
588  feLhs.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
589  feLhs.getOpPtrVector().push_back(new OpCalculateGapGlobal(field_name,commonData));
590  feLhs.getOpPtrVector().push_back(new OpCalculateGapLocal(field_name,commonData));
591  //History
592  feHistory.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
593  feHistory.getOpPtrVector().push_back(new OpCalculateGapGlobal(field_name,commonData));
594  feHistory.getOpPtrVector().push_back(new OpCalculateGapLocal(field_name,commonData));
595 
596  //add equations/data for physical interfaces
597  boost::ptr_vector<CohesiveInterfaceElement::PhysicalEquation>::iterator pit;
598  for(pit = interfaces.begin();pit!=interfaces.end();pit++) {
599  feRhs.getOpPtrVector().push_back(new OpRhs(field_name,commonData,*pit));
600  feLhs.getOpPtrVector().push_back(new OpLhs(field_name,commonData,*pit));
601  feHistory.getOpPtrVector().push_back(new OpHistory(field_name,commonData,*pit));
602  }
603 
605  }

◆ getFeHistory()

MyPrism& CohesiveElement::CohesiveInterfaceElement::getFeHistory ( )

Definition at line 52 of file CohesiveInterfaceElement.hpp.

52 { return feHistory; }

◆ getFeLhs()

MyPrism& CohesiveElement::CohesiveInterfaceElement::getFeLhs ( )

Definition at line 51 of file CohesiveInterfaceElement.hpp.

51 { return feLhs; }

◆ getFeRhs()

MyPrism& CohesiveElement::CohesiveInterfaceElement::getFeRhs ( )

Definition at line 50 of file CohesiveInterfaceElement.hpp.

50 { return feRhs; }

Member Data Documentation

◆ commonData

CommonData CohesiveElement::CohesiveInterfaceElement::commonData

Definition at line 33 of file CohesiveInterfaceElement.hpp.

◆ feHistory

MyPrism CohesiveElement::CohesiveInterfaceElement::feHistory

Definition at line 41 of file CohesiveInterfaceElement.hpp.

◆ feLhs

MyPrism CohesiveElement::CohesiveInterfaceElement::feLhs

Definition at line 40 of file CohesiveInterfaceElement.hpp.

◆ feRhs

MyPrism CohesiveElement::CohesiveInterfaceElement::feRhs

Definition at line 39 of file CohesiveInterfaceElement.hpp.


The documentation for this struct was generated from the following file:
MoFEMFunctionReturnHot
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:516
CohesiveElement::CohesiveInterfaceElement::feLhs
MyPrism feLhs
Definition: CohesiveInterfaceElement.hpp:40
CohesiveElement::CohesiveInterfaceElement::commonData
CommonData commonData
Definition: CohesiveInterfaceElement.hpp:33
CohesiveElement::CohesiveInterfaceElement::feRhs
MyPrism feRhs
Definition: CohesiveInterfaceElement.hpp:39
MoFEM::ForcesAndSourcesCore::getOpPtrVector
boost::ptr_vector< UserDataOperator > & getOpPtrVector()
Use to push back operator for row operator.
Definition: ForcesAndSourcesCore.hpp:425
CohesiveElement::CohesiveInterfaceElement::feHistory
MyPrism feHistory
Definition: CohesiveInterfaceElement.hpp:41
MoFEMFunctionBeginHot
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:509