Xfem
The Xfem Plugin
Public Member Functions | Protected Member Functions | Friends | List of all members
XfemElement Class Referenceabstract

Basic interface for an XFEM element. More...

#include <xfemElement.h>

Inheritance diagram for XfemElement:
Inheritance graph
[legend]
Collaboration diagram for XfemElement:
Collaboration graph
[legend]

Public Member Functions

virtual bool enriched () const =0
 Returns true if this element has been enriched, false when not.
 
const GmShapeenrichmentShape () const
 Returns a shape function object used in the element enrichment. More...
 
- Public Member Functions inherited from GmElement
virtual const GmShapeshape () const
 
virtual const GmShapelinearShape () const
 
virtual void naturalCenter (GmVector &coord) const
 
virtual void borderNormal (const GmValueAccessor *nodeAccessor, int border, const GmVector *coord, GmVector &n) const
 
virtual bool borderNormalIsConstant (int border) const
 
virtual void borderTangent (const GmValueAccessor *nodeAccessor, int border, GmVector &t) const
 
- Public Member Functions inherited from GmCell
virtual int cellId () const=0
 
virtual GmCellMeshmesh () const=0
 
virtual bool active () const=0
 
virtual void pushProxy (lua_State *L, const GmLogCategory &logger)=0
 
virtual GmCellType type () const=0
 
const char * typeStr () const
 
virtual GmCellGeometry geometry () const
 
virtual int numNodes () const=0
 
virtual int numGhostNodes () const
 
virtual int totalNumNodes () const
 
virtual int nodeIndex (int localIndex) const=0
 
virtual void nodes (int *nodeList, bool ghost) const=0
 
virtual int propertyIndex (int propertySet) const=0
 
virtual void setActive (bool active)=0
 
virtual bool setNodes (const int *nodeList)
 
virtual int addGhostNode (int globalIndex)
 
virtual void removeGhostNode (int localIndex)
 
virtual bool setProperties (const int *propList, int nprop)
 
GmCelladjacentCell (int sideIndex, int *adjSideIndex=NULL) const
 
double length (const GmValueAccessor *coordAccessor, int edgeIndex=0, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
double length (const GmMatrix &X, int edgeIndex=0, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
double area (const GmValueAccessor *coordAccessor, int faceIndex=0, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
double area (const GmMatrix &X, int faceIndex=0, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
double volume (const GmValueAccessor *coordAccessor, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
double volume (const GmMatrix &X, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
double characteristicLength (const GmValueAccessor *coordAccessor, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
double characteristicLength (const GmMatrix &X, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
double characteristicDimension (const GmValueAccessor *coordAccessor, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
double characteristicDimension (const GmMatrix &X, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
void centroidCartesian (const GmValueAccessor *coordAccessor, GmVector &coord, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
void centroidCartesian (const GmMatrix &X, GmVector &coord, GmCellGeometryMode linearMode=GM_CELLGEOM_AUTO) const
 
virtual bool isValid (const GmValueAccessor *nodeAccessor, double tol=1e-5) const
 
virtual double quality (const GmValueAccessor *nodeAccessor, double tol=1e-5) const
 
virtual bool contains (const GmValueAccessor *nodeAccessor, const GmVector &coord) const
 
void fillNodeMatrix (const GmValueAccessor *nodeAccessor, GmMatrix &m, bool transposed=false, GmCellFillMode mode=GM_CELL_NODES) const
 
void fillFaceNodeMatrix (const GmValueAccessor *nodeAccessor, GmMatrix &m, int faceIndex, bool transposed=false, GmCellFillMode mode=GM_CELL_NODES) const
 
void fillEdgeNodeMatrix (const GmValueAccessor *nodeAccessor, GmMatrix &m, int edgeIndex, bool transposed=false, GmCellFillMode mode=GM_CELL_NODES) const
 
void fillDeformedFaceNodeMatrix (const GmValueAccessor *nodeAccessor, const GmValueAccessor *uAccessor, GmMatrix &m, GmVector &u, int faceIndex, bool transposed=false, GmCellFillMode mode=GM_CELL_NODES) const
 
void fillDeformedEdgeNodeMatrix (const GmValueAccessor *nodeAccessor, const GmValueAccessor *uAccessor, GmMatrix &m, GmVector &u, int edgeIndex, bool transposed=false, GmCellFillMode mode=GM_CELL_NODES) const
 
virtual int meshId () const=0
 
virtual void replaceCellId (int id, bool keepActiveFlag)
 
virtual void replaceGhostNodes (int *ghostNodes, int numNodes)
 

Protected Member Functions

virtual void setEnriched (bool mode)=0
 Marks the element as enriched or not.
 

Friends

class XfemMesh
 

Additional Inherited Members

- Static Public Member Functions inherited from GmCell
static int typeToNumNodes (GmCellType type)
 
static const char * typeToStr (GmCellType type)
 
static int strToType (QString str)
 

Detailed Description

Basic interface for an XFEM element.

Member Function Documentation

◆ enrichmentShape()

const GmShape* XfemElement::enrichmentShape ( ) const
inline

Returns a shape function object used in the element enrichment.

This function enforces the rule that syas that the enrichment should be done with linear shape functions even when the element itself uses quadratic functions (See Amir R. Khoei, "Extended Finite Element Method Theory and Applications", section 2.9, particularly equation 2.98)


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