v0.16.3
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 ()
 
MyPrism & getFeRhs ()
 
MyPrism & getFeLhs ()
 
MyPrism & getFeHistory ()
 
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 605 of file CohesiveInterfaceElement.hpp.

607 {
609
610 //Rhs
611 feRhs.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
612 feRhs.getOpPtrVector().push_back(
613 new OpCalculateGapGlobal(field_name, commonData));
614 feRhs.getOpPtrVector().push_back(
615 new OpCalculateGapLocal(field_name, commonData));
616 //Lhs
617 feLhs.getOpPtrVector().push_back(new OpSetSignToShapeFunctions(field_name));
618 feLhs.getOpPtrVector().push_back(
619 new OpCalculateGapGlobal(field_name, commonData));
620 feLhs.getOpPtrVector().push_back(
621 new OpCalculateGapLocal(field_name, commonData));
622 //History
623 feHistory.getOpPtrVector().push_back(
624 new OpSetSignToShapeFunctions(field_name));
625 feHistory.getOpPtrVector().push_back(
626 new OpCalculateGapGlobal(field_name, commonData));
627 feHistory.getOpPtrVector().push_back(
628 new OpCalculateGapLocal(field_name, commonData));
629
630 //add equations/data for physical interfaces
631 boost::ptr_vector<CohesiveInterfaceElement::PhysicalEquation>::iterator pit;
632 for (pit = interfaces.begin(); pit != interfaces.end(); pit++) {
633 feRhs.getOpPtrVector().push_back(new OpRhs(field_name, commonData, *pit));
634 feLhs.getOpPtrVector().push_back(new OpLhs(field_name, commonData, *pit));
635 feHistory.getOpPtrVector().push_back(
636 new OpHistory(field_name, commonData, *pit));
637 }
638
640 }
#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: