OOFEM  2.4
OOFEM.org - Object Oriented Finite Element Solver
oofem::XfemElementInterface Class Reference

Provides Xfem interface for an element. More...

#include <xfemelementinterface.h>

+ Inheritance diagram for oofem::XfemElementInterface:
+ Collaboration diagram for oofem::XfemElementInterface:

Public Member Functions

virtual const char * giveClassName () const
 
std::string errorInfo (const char *func) const
 
 XfemElementInterface (Element *e)
 Constructor. More...
 
virtual ~XfemElementInterface ()
 
 XfemElementInterface (const XfemElementInterface &src)=delete
 
XfemElementInterfaceoperator= (const XfemElementInterface &src)=delete
 
void XfemElementInterface_createEnrBmatrixAt (FloatMatrix &oAnswer, GaussPoint &iGP, Element &iEl)
 Creates enriched B-matrix. More...
 
void XfemElementInterface_createEnrBHmatrixAt (FloatMatrix &oAnswer, GaussPoint &iGP, Element &iEl)
 Creates enriched BH-matrix. More...
 
void ComputeBOrBHMatrix (FloatMatrix &oAnswer, GaussPoint &iGP, Element &iEl, bool iComputeBH, const FloatArray &iNaturalGpCoord)
 Help function for computation of B and BH. More...
 
void XfemElementInterface_createEnrNmatrixAt (FloatMatrix &oAnswer, const FloatArray &iLocCoord, Element &iEl, bool iSetDiscontContribToZero)
 Creates enriched N-matrix. More...
 
void XfemElementInterface_createEnrNmatrixAt (FloatMatrix &oAnswer, const FloatArray &iLocCoord, Element &iEl, const std::vector< int > &iLocNodeInd, bool iSetDiscontContribToZero)
 Creates enriched N-matrix for a chosen subset of element nodes. More...
 
int XfemElementInterface_giveNumDofManEnrichments (const DofManager &iDMan, XfemManager &iXMan) const
 Computes total number of enrichments in a node. More...
 
virtual void XfemElementInterface_partitionElement (std::vector< Triangle > &oTriangles, const std::vector< FloatArray > &iPoints)
 Partitions the element into patches by a triangulation. More...
 
virtual bool XfemElementInterface_updateIntegrationRule ()
 Updates integration rule based on the triangulation. More...
 
virtual void XfemElementInterface_prepareNodesForDelaunay (std::vector< std::vector< FloatArray > > &oPointPartitions, double &oCrackStartXi, double &oCrackEndXi, int iEnrItemIndex, bool &oIntersection)
 Returns an array of array of points. Each array of points defines the points of a subregion of the element. More...
 
virtual void XfemElementInterface_prepareNodesForDelaunay (std::vector< std::vector< FloatArray > > &oPointPartitions, double &oCrackStartXi, double &oCrackEndXi, const Triangle &iTri, int iEnrItemIndex, bool &oIntersection)
 
void putPointsInCorrectPartition (std::vector< std::vector< FloatArray > > &oPointPartitions, const std::vector< FloatArray > &iIntersecPoints, const std::vector< const FloatArray * > &iNodeCoord) const
 
void partitionEdgeSegment (int iBndIndex, std::vector< Line > &oSegments, std::vector< FloatArray > &oIntersectionPoints, const double &iTangDistPadding=0.0)
 Partition a boundary segment to account for cracks cutting the boundary. More...
 
MaterialMode giveMaterialMode ()
 
void updateYourselfCZ (TimeStep *tStep)
 
void computeDisplacementJump (GaussPoint &iGP, FloatArray &oJump, const FloatArray &iSolVec, const FloatMatrix &iNMatrix)
 
void computeNCohesive (FloatMatrix &oN, GaussPoint &iGP, int iEnrItemIndex, const std::vector< int > &iTouchingEnrItemIndices)
 Compute N-matrix for cohesive zone. More...
 
- Public Member Functions inherited from oofem::Interface
 Interface ()
 Constructor. More...
 
virtual ~Interface ()
 

Public Attributes

Elementelement
 
std::vector< int > mCZEnrItemIndices
 Index of enrichment items associated with cohesive zones. More...
 
std::vector< std::vector< int > > mCZTouchingEnrItemIndices
 Indices of enrichment items that give cohesive zone contributions to a given GP, even though the GP is not located on any of these enrichment items. More...
 
bool mUsePlaneStrain
 Flag that tells if plane stress or plane strain is assumed. More...
 
std::vector< std::unique_ptr< IntegrationRule > > mpCZIntegrationRules
 
std::vector< std::unique_ptr< IntegrationRule > > mpCZExtraIntegrationRules
 
std::vector< std::unique_ptr< IntegrationRule > > mpCZIntegrationRules_tmp
 
std::vector< std::unique_ptr< IntegrationRule > > mpCZExtraIntegrationRules_tmp
 
std::vector< std::unique_ptr< IntegrationRule > > mIntRule_tmp
 

Detailed Description

Provides Xfem interface for an element.

Author
Erik Svenning

Definition at line 63 of file xfemelementinterface.h.

Constructor & Destructor Documentation

oofem::XfemElementInterface::XfemElementInterface ( Element e)

Constructor.

Definition at line 55 of file xfemelementinterface.C.

References mpCZExtraIntegrationRules, and mpCZIntegrationRules.

oofem::XfemElementInterface::~XfemElementInterface ( )
virtual

Definition at line 64 of file xfemelementinterface.C.

oofem::XfemElementInterface::XfemElementInterface ( const XfemElementInterface src)
delete

Member Function Documentation

void oofem::XfemElementInterface::ComputeBOrBHMatrix ( FloatMatrix oAnswer,
GaussPoint iGP,
Element iEl,
bool  iComputeBH,
const FloatArray iNaturalGpCoord 
)
void oofem::XfemElementInterface::computeDisplacementJump ( oofem::GaussPoint iGP,
oofem::FloatArray oJump,
const FloatArray iSolVec,
const FloatMatrix iNMatrix 
)
std :: string oofem::XfemElementInterface::errorInfo ( const char *  func) const
inline

Definition at line 83 of file xfemelementinterface.h.

virtual const char* oofem::XfemElementInterface::giveClassName ( ) const
inlinevirtual
XfemElementInterface& oofem::XfemElementInterface::operator= ( const XfemElementInterface src)
delete
void oofem::XfemElementInterface::putPointsInCorrectPartition ( std::vector< std::vector< FloatArray > > &  oPointPartitions,
const std::vector< FloatArray > &  iIntersecPoints,
const std::vector< const FloatArray * > &  iNodeCoord 
) const
void oofem::XfemElementInterface::updateYourselfCZ ( TimeStep tStep)
void oofem::XfemElementInterface::XfemElementInterface_createEnrBHmatrixAt ( FloatMatrix oAnswer,
GaussPoint iGP,
Element iEl 
)
void oofem::XfemElementInterface::XfemElementInterface_createEnrBmatrixAt ( FloatMatrix oAnswer,
GaussPoint iGP,
Element iEl 
)
void oofem::XfemElementInterface::XfemElementInterface_partitionElement ( std::vector< Triangle > &  oTriangles,
const std::vector< FloatArray > &  iPoints 
)
virtual

Member Data Documentation

std :: vector< int > oofem::XfemElementInterface::mCZEnrItemIndices
std :: vector< std :: vector< int > > oofem::XfemElementInterface::mCZTouchingEnrItemIndices

Indices of enrichment items that give cohesive zone contributions to a given GP, even though the GP is not located on any of these enrichment items.

Definition at line 77 of file xfemelementinterface.h.

Referenced by oofem::XfemStructuralElementInterface::computeCohesiveForces(), oofem::XfemStructuralElementInterface::computeCohesiveTangent(), and oofem::XfemStructuralElementInterface::XfemElementInterface_updateIntegrationRule().

std :: vector< std :: unique_ptr< IntegrationRule > > oofem::XfemElementInterface::mIntRule_tmp
std :: vector< std :: unique_ptr< IntegrationRule > > oofem::XfemElementInterface::mpCZExtraIntegrationRules_tmp
std :: vector< std :: unique_ptr< IntegrationRule > > oofem::XfemElementInterface::mpCZIntegrationRules_tmp

The documentation for this class was generated from the following files:

This page is part of the OOFEM documentation. Copyright (c) 2011 Borek Patzak
Project e-mail: info@oofem.org
Generated at Tue Jan 2 2018 20:07:43 for OOFEM by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2011