Xfem
The Xfem Plugin
Loading...
Searching...
No Matches
XfemMesh Class Reference

Basic class for a XFEM mesh. This is the basic mesh interface for xfem problems adding enrichment capabilities to the standard Gema elememnt mesh. The "real" implementation inherits from either the standard Gema mesh or from a surface mesh. More...

#include <xfemMesh.h>

Inheritance diagram for XfemMesh:
Collaboration diagram for XfemMesh:

Public Member Functions

 XfemMesh (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 Constructor. Will be called by the plugin loading code.
 
virtual ~XfemMesh ()
 Destructor.

 
virtual void printValues (const GmLogCategory &logger, int options)
 Overrides printValues to add subelement information.
 
virtual const XfemElementelement (int index) const
 Returns a mesh cell already converted to an XfemElement.
 
virtual XfemElementelement (int index)
 Returns a mesh cell already converted to an XfemElement. Non const version.
 
virtual bool enrichElement (XfemElement *e)
 Marks the given element as enriched.
 
virtual XfemEnrichedElementDataenrichedElementData (const XfemElement *e) const
 Returns the enriched element private data or NULL if the element has not been enriched.
 
const QMap< int, XfemEnrichedElementData * > & enrichedElementMap () const
 Returns the map storing data for every enriched element in the mesh. Use carefully.
 
virtual int numRegularSubElements (const XfemElement *e) const
 Returns the number of regular (non fracture) sub-elements of the given enriched element (0 for non enriched ones)
 
virtual int numFractureSubElements (const XfemElement *e) const
 Returns the number of fracture sub-elements of the given enriched element (0 for non enriched ones)
 
virtual const XfemSubElementsubElement (const XfemElement *e, int index) const
 Returns a subelement of an enriched element.

 
virtual const XfemSubElementfractureSubElement (const XfemElement *e, int index) const
 Returns a fracture sub-element with an indexing starting from zero for the first fracture sub-element. Equivalent to calling subElement(e, index + numRegularSubElements(e))
 
virtual void clearSubElements ()
 Clears all subelements from the mesh. This will automatically clear element integration rules and data stored by gauss attributes.
 
virtual void clearSubElements (XfemElement *e)
 Clears the list of subelements from the given enriched element. This will automatically clear the element integration rule and the data stored by gauss attributes.
 
virtual int addSubElement (XfemElement *e, XfemSubElement *se, int ruleSet=0)
 Adds a new sub-element to the xfem element. This addition will automatically trigger an update in the element integration rule (for regular sub-elements) and in the data stored by gauss attributes.
 
virtual void removeSubElement (XfemElement *e, int index)
 Removes an existing sub-element from the enriched element. This removal will automatically trigger an update in the element integration rule and in the data stored by gauss attributes.
 
virtual void updateSubElementCoordinates (XfemElement *e, int index, const GmMatrix &seNaturalCoords, int ruleSet=0)
 Updates the set of natural coordinates from a sub-element, provided that the sub-element type remains the same. This update will automatically trigger an update in the element integration rule. IMPORTANT: Values stored in Gauss points are NOT changed to reflect the change in point locations. That should be done externally.
 
const GmIntegrationRuleenrichedElementRegularIntegrationRule (const XfemElement *e, int ruleSet) const
 Returns the elements regular integration rule with support for enriched elements.
 
const GmIntegrationRuleenrichedElementFractureIntegrationRule (const XfemSubElement *se, int ruleSet) const
 Returns the integration rule for the given fracture sub-element.
 
virtual XfemGaussAccessorenrichedGaussAttributeAccessor (QString id, Unit desiredUnit, const GmLogCategory &logger) const
 Equivalent to call enrichedGaussAttributeAccessor(id, 0, true, desiredUnit, logger)
 
virtual XfemGaussAccessorenrichedGaussAttributeAccessor (QString id, int snum, bool locked, Unit desiredUnit, const GmLogCategory &logger) const
 Similar to GmElementMesh::gaussAttributeAccessor(), this function returns an accessor to data stored in Gauss points for the attribute id. Its different from gaussAttributeAccessor() for enriched elements since the returned accessor grants access to data stored for enriched integration points, while the other function does not, returning data on relgular integration points even for enriched elements.
 
virtual const QList< XfemFracture * > & naturalFractures () const
 Returns the list of mesh natural fractures.
 
virtual void addNaturalFracture (XfemFracture *f)
 Adds a new natural fracture to the mesh. The mesh takes ownership of the fracture object.
 
virtual void clearNaturalFractures ()
 Remove all natural fractures from the mesh.
 
virtual GmVector getElemCutInfo (int id) const
 Returns the list with element information {iElem, # of fractures per element}.
 
virtual void addElemCutInfo (QList< GmVector > eCI)
 Adds a vector with element cut information.
 
virtual void deleteElemCutInfo ()
 delete element cut information
 
virtual int sizeElemCutInfo ()
 Returns the size of elemCutInfo list.
 
virtual int getTotalNumDOF (int id) const
 Returns the list with the total number of DOF at a specific position.
 
virtual void addTotalNumDOF (QList< int > eCI)
 Adds a the list with the total number of DOF.
 
virtual void deleteTotalNumDOF ()
 delete element cut information
 
virtual int sizeTotalNumDOF ()
 Returns the size of elemCutInfo list.
 
virtual QString getNodeStateVarIds (int id) const
 Returns the list with the state variable ids in the model.
 
virtual void addNodeStateVarIds (QStringList eCI)
 Adds list with the state variable ids in the model.
 
virtual void deleteNodeStateVarIds ()
 delete list with the state variable ids in the model
 
virtual int sizeNodeStateVarIds () const
 Returns the size of list with the state variable ids in the model.
 
void setCubicLaw (bool cubicLaw)
 Set the cubic Law Boolean to define whether cubic law or constant fracture permeability is used.
 
virtual bool getCubicLaw () const
 Returns the Boolean to define whether cubic law or constant fracture permeability is used.
 
void setMultiPhasic (bool multiPhasic)
 Set the multiPhasic Boolean to define whether multiPhasic analysis is carried out.
 
virtual bool getMultiPhasic () const
 Returns the Boolean to define whether multiPhasic analysis is carried out.
 
void setNonIsoThermal (bool nonIsoThermal)
 Set the nonIsoThermal Boolean to define whether nonIsoThermal analysis is carried out.
 
virtual bool getNonIsoThermal () const
 Returns the Boolean to define whether nonIsoThermal analysis is carried out.
 
void setSaturationRelativePermeabilityModel (char nonIsoThermal)
 Set the Char defining the Saturation and Relative Permeability Model.
 
virtual bool getSaturationRelativePermeabilityModel () const
 Returns the Char defining the Saturation and Relative Permeability Model.
 
virtual QList< int > getNodeTopologicalMap (int i) const
 Returns the list of element id who contain the node i.
 
virtual void addNodeTopologicalMap (QList< int > eCI)
 Adds the list of element id who contain the node i.
 
virtual QList< int > getElemTopologicalMap (int i) const
 Returns the list of element neighborns of element id who contain the node i.
 
virtual void addElemTopologicalMap (QList< int > eCI)
 Adds the list of element neighborns of element id who contain the node i.
 
virtual QList< QPair< int, QList< int > > > getfaceTopologicalMap (int i) const
 Returns the list of neighborn element for each face of the element i.
 
virtual void addFaceTopologicalMap (QList< QPair< int, QList< int > > > eCI)
 Adds the list of neighborn element for each face of the element i.
 
- Public Member Functions inherited from GmElementMesh
 GmElementMesh (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 
const GmIntegrationRuleelementIntegrationRule (GmCellType type, int ruleSet) const
 
const GmBorderIntegrationRuleborderIntegrationRule (GmCellType type, int ruleSet, int borderIndex) const
 
const GmBorderIntegrationRulefaceIntegrationRule (GmCellType type, int ruleSet, int faceIndex) const
 
const GmBorderIntegrationRuleedgeIntegrationRule (GmCellType type, int ruleSet) const
 
int maxNumIntPoints (int ruleSet) const
 
void addIntegrationRuleSet ()
 
int numIntegrationRuleSets () const
 
bool setElementIntegrationRule (GmCellType type, GmIntegrationRule *rule, int ruleSet)
 
bool setFaceIntegrationRule (GmCellType type, GmBorderIntegrationRule *rule, int ruleSet, int faceType)
 
bool setEdgeIntegrationRule (GmCellType type, GmBorderIntegrationRule *rule, int ruleSet)
 
GmMeshGaussIndexgaussIndex (int ruleSet) const
 
bool usesGaussIndex (int ruleSet) const
 
GmGaussValueSetGroupgaussValueSetGroup (int ruleSet) const
 
GmGaussValueSetgaussValueSet (QString id) const
 
virtual QStringList gaussAttributeIds () const
 
virtual GmValueInfogaussAttributeInfo (QString id) const
 
virtual GmGaussAccessorgaussAttributeAccessor (QString id, Unit desiredUnit, const GmLogCategory &logger) const
 
virtual GmGaussAccessorgaussAttributeAccessor (QString id, int snum, bool locked, Unit desiredUnit, const GmLogCategory &logger) const
 
virtual bool addGaussAttributeSet (GmValueInfo *info)
 
virtual void removeGaussAttributeSet (QString id)
 
virtual bool initGaussAttributeSets ()
 
virtual void beginAddingGaussAttributeSets ()
 
virtual bool endAddingGaussAttributeSets ()
 
virtual void clearGaussAttributeSets ()
 
virtual void clearGaussAttributeSetsData ()
 
virtual bool saveState (GmValueSet::SaveStateMode mode, const GmLogCategory &logger)
 
virtual bool saveGaussAttributeState (QString id, GmValueSet::SaveStateMode mode, const GmLogCategory &logger)
 
virtual int numGaussAttributeStates (QString id) const
 
virtual QString gaussAttributeStateTag (QString id, int snum) const
 
virtual double gaussAttributeStateTime (QString id, int snum) const
 
virtual void setGaussAttributeStateTag (QString id, int snum, QString tag)
 
virtual void setGaussAttributeStateTime (QString id, int snum, double time)
 
virtual int hPOrder () const
 
virtual int hQOrder () const
 
virtual void printParameters (const GmLogCategory &logger)
 
virtual size_t gaussIndicesMemory () const
 
- Public Member Functions inherited from GmCellMesh
 GmCellMesh (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 
virtual int numCells () const=0
 
virtual int numActiveCells () const=0
 
virtual int numGlobalCells () const
 
virtual const GmCellcell (int cellIndex) const=0
 
virtual GmCellcell (int cellIndex)=0
 
virtual const GmCellMeshTopologytopology (bool create=true) const
 
virtual void clearTopology ()
 
virtual bool hasSolidElements () const=0
 
virtual const int * numCellTypes () const=0
 
virtual const int * numActiveCellTypes () const=0
 
virtual int maxNumCellNodes () const=0
 
virtual int maxNumCellGhostNodes () const
 
virtual int maxTotalNumCellNodes () const
 
virtual void ghostNodesUpdated (int nghost, int ntotal)
 
virtual void activeCellUpdated (GmCellType type, bool active)=0
 
virtual bool isValid (QMap< int, int > &nonValidIds, bool valNonPlanar=false, bool print=true, double tol=1e-3) const
 
virtual double edgeMinLength ()
 
virtual double edgeMaxLength ()
 
virtual double cellBboxMinLength ()
 
virtual double cellBboxMaxLength ()
 
void clearCellStatistics ()
 
void printQualityHistogram (bool activeOnly=true) const
 
virtual QStringList cellGroupIds () const
 
virtual int numCellsInGroup (int groupIndex) const
 
virtual const GmCellcellInGroup (int groupIndex, int cellIndex) const
 
virtual GmCellcellInGroup (int groupIndex, int cellIndex)
 
virtual const QMap< QString, GmCellBoundary * > & cellBoundaryGroups () const=0
 
virtual const QList< GmPropertySet * > & propertySets () const=0
 
virtual int propertySetIndex (QString id) const=0
 
virtual GmValueInfocellPropertyInfo (QString id) const
 
virtual GmCellAccessorcellPropertyAccessor (QString id, Unit desiredUnit, const GmLogCategory &logger) const
 
virtual QStringList cellValueIds (int filter=-1) const
 
virtual GmValueInfocellValueInfo (QString id, int filter=-1) const
 
virtual GmCellAccessorcellValueAccessor (QString id, Unit desiredUnit, const GmLogCategory &logger) const
 
virtual GmCellAccessorcellValueAccessor (QString id, int snum, bool locked, Unit desiredUnit, const GmLogCategory &logger) const
 
virtual GmCellAccessorcellStateVarAccessorFromDof (int dof, Unit desiredUnit, GmStateVar **stateVar) const
 
virtual int addCells (int *numCellTypes)
 
virtual QList< int > addedCells () const
 
virtual void clearAddedCells ()
 
virtual int addCellGroup (QString groupName)
 
virtual bool addCellsToGroup (int groupId, const QVector< int > &cellIds)
 
virtual bool addCellsToGroup (int groupId, const QVector< QPair< int, int > > &cellIds)
 
virtual bool addCellValueSet (GmValueInfo *info)
 
virtual void removeCellValueSet (QString id)
 
virtual bool initCellValueSets ()
 
virtual void beginAddingCellValueSets ()
 
virtual bool endAddingCellValueSets ()
 
virtual void clearCellValueSets ()
 
virtual void clearCellValueSetsData ()
 
virtual bool saveCellValueState (QString id, GmValueSet::SaveStateMode mode, const GmLogCategory &logger)
 
virtual int numCellValueStates (QString id) const
 
virtual QString cellValueStateTag (QString id, int snum) const
 
virtual double cellValueStateTime (QString id, int snum) const
 
virtual void setCellValueStateTag (QString id, int snum, QString tag)
 
virtual void setCellValueStateTime (QString id, int snum, double time)
 
virtual size_t cellMemory () const=0
 
virtual size_t cellGroupsMemory () const=0
 
virtual size_t cellBoundariesMemory () const=0
 
GmValueSetGroupcellValueSetGroup () const
 
GmValueSetcellValueSet (QString id) const
 
const GmCellGroupSetcellGroupSet (const QList< int > &groupIdList, bool disjoint)
 
const QVector< GmCellGroupSet * > & cellGroupSets () const
 
void clearCellGroupSetsData (bool keepMeshSet)
 
- Public Member Functions inherited from GmMesh
 GmMesh (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 
virtual const char * pluginCategory () const
 
virtual bool hasCapability (QString capabilityName) const=0
 
virtual bool useDualVectors () const=0
 
virtual void pushProxy (lua_State *L, const GmLogCategory &logger)=0
 
virtual GmValueInfonodeCoordInfo () const=0
 
virtual GmValueAccessornodeCoordAccessor (Unit desiredUnit, const GmLogCategory &logger) const=0
 
virtual int numNodes () const=0
 
virtual int numGhostNodes () const
 
int totalNumNodes () const
 
virtual int numGlobalNodes () const
 
virtual int numGlobalGhostNodes () const
 
int totalNumGlobalNodes () const
 
int toLinearGhostIndex (int nodeIndex) const
 
int toLocalGhostIndex (int nodeIndex) const
 
virtual const QMap< QString, GmNodeSet * > & nodeSets () const=0
 
QStringList nodeValueIds (int filter=-1) const
 
virtual GmValueInfonodeValueInfo (QString id, int filter=-1) const
 
virtual GmValueAccessornodeValueAccessor (QString id, Unit desiredUnit, const GmLogCategory &logger) const
 
virtual GmValueAccessornodeValueAccessor (QString id, int snum, bool locked, Unit desiredUnit, const GmLogCategory &logger) const
 
virtual GmValueAccessornodeStateVarAccessorFromDof (int dof, Unit desiredUnit, GmStateVar **stateVar) const
 
virtual bool addNodeValueSet (GmValueInfo *info)
 
virtual void removeNodeValueSet (QString id)
 
virtual bool initNodeValueSets ()
 
virtual void beginAddingNodeAttributeSets ()
 
virtual bool endAddingNodeAttributeSets ()
 
virtual void clearNodeValueSets ()
 
virtual void clearNodeValueSetsData ()
 
virtual bool saveNodeValueState (QString id, GmValueSet::SaveStateMode mode, const GmLogCategory &logger)
 
virtual int numNodeValueStates (QString id) const
 
virtual QString nodeValueStateTag (QString id, int snum) const
 
virtual double nodeValueStateTime (QString id, int snum) const
 
virtual void setNodeValueStateTag (QString id, int snum, QString tag)
 
virtual void setNodeValueStateTime (QString id, int snum, double time)
 
virtual int addNodes (int numNodes)
 
virtual int addGhostNodes (int numNodes)
 
virtual void clear ()
 
QMap< QString, GmPhysicsUserFunctions * > & userFunctionsObjMap () const
 
virtual size_t nodeMemory () const=0
 
virtual size_t nodeSetsMemory () const=0
 
virtual GmPCRpcrObject () const=0
 
GmValueSetGroupnodeValueSetGroup () const
 
GmValueSetnodeValueSet (QString id) const
 
GmValueSetGroupghostNodeValueSetGroup () const
 
GmValueSetghostNodeValueSet (QString id) const
 
virtual void emitMeshChanged ()
 
- Public Member Functions inherited from GmPluginObject
 GmPluginObject (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 
QString id () const
 
QString description () const
 
QString pluginTypeName () const
 
virtual const char * pluginName () const=0
 
virtual const char * pluginType () const=0
 
virtual bool loadPrivateData (LuaTable &table)=0
 
- Public Member Functions inherited from GmGroupDumpItem
virtual bool stateAboutToBeSaved (GmStateDump *state)
 
virtual bool stateSaved (GmStateDump *state)
 
virtual bool stateAboutToBeLoaded (GmStateDump *state)
 
virtual bool stateLoaded (GmStateDump *state)
 

Protected Member Functions

virtual GmGaussValueSetGroupcreateGaussValueSetGroup (GmSimulationData *simulation, GmElementMesh *mesh)
 Overrides the standard GmElementMesh::createGaussValueSetGroup() implementation to create XfemGaussValueSetGroup instances.
 
virtual void clearXfemData ()
 Clears Xfem related data from the mesh.
 
- Protected Member Functions inherited from GmElementMesh
T * getIntegrationRuleWithDCL (QList< QAtomicPointer< T > * > &list, QMutex *mutex, T *(*instance)(GmCellType, int, int, int, GmIntegrationRuleType), GmCellType type, int ruleSet, int faceType) const
 
virtual bool addStateAccessorData (GmStateDump *state, int groupId)
 
virtual bool fillDumpControlMapData (QVariantMap *map, const GmLogCategory &logger)
 
virtual bool dumpControlMapDataLoaded (QVariantMap *map, const GmLogCategory &logger)
 
- Protected Member Functions inherited from GmCellMesh
- Protected Member Functions inherited from GmMesh
GmValueSetanyVsFromId (QString id) const
 
void printValueInfo (const GmLogCategory &logger, QString title, const QStringList &idList)
 
virtual bool addStateItemsToGroup (GmStateDump *state, int groupId)
 
virtual int controlMapStateItemType ()
 
virtual bool addStateGeometryData (GmStateDump *state, int groupId)
 
- Protected Member Functions inherited from GmPluginObject
virtual const GmLogCategorylogger () const
 
GmSimulationDatasimulationData () const
 

Private Attributes

QMap< int, XfemEnrichedElementData * > _elementMap
 Map storing individual data for enriched elements.
 
QList< XfemFracture * > _naturalFractures
 The set of mesh natural fractures.
 
QList< GmVector_elemCutInfo
 vector with element information {iElem, # of fractures per element}
 
QList< int > _totalDofSet
 list with the total number of DOF in the model
 
QStringList _nodeStateVarIds
 
bool _cubicLaw
 
bool _multiPhasic
 
bool _nonIsoThermal
 
char _SaRelPer
 
QList< QList< int > > _nodeTopologicalMap
 
QList< QList< int > > _elemTopologicalMap
 
QList< QList< QPair< int, QList< int > > > > _faceTopologicalMap
 

Additional Inherited Members

- Signals inherited from GmMesh
void meshChanged ()
 
- Static Public Member Functions inherited from GmMesh
static bool isGhostNode (int nodeIndex)
 
static int setGhostFlag (int nodeIndex)
 
static int clearGhostFlag (int nodeIndex)
 
- Protected Attributes inherited from GmElementMesh
QVector< GmGaussValueSetGroup * > _gaussAttributesGroupList
 
QMap< QString, int > _gaussAttributesMap
 
- Protected Attributes inherited from GmMesh
int _stateDumpControlMapItem
 

Detailed Description

Basic class for a XFEM mesh. This is the basic mesh interface for xfem problems adding enrichment capabilities to the standard Gema elememnt mesh. The "real" implementation inherits from either the standard Gema mesh or from a surface mesh.

Member Function Documentation

◆ addSubElement()

int XfemMesh::addSubElement ( XfemElement * e,
XfemSubElement * se,
int ruleSet = 0 )
virtual

Adds a new sub-element to the xfem element. This addition will automatically trigger an update in the element integration rule (for regular sub-elements) and in the data stored by gauss attributes.

If the element 'e' had not been enriched before, it will be enriched by this call.

Parameters
eThe element that will have an added sub element
seThe sub element added to e. The element will take ownership of the subelement that will be deleted when the element is deleted.
ruleSetThe integration rule set (see coments in GmElementMesh::elementIntegrationRule()) that will be used to define the integration rule that will be applied to the subelement. A value of 0 (the default) means that the default rule for the subelement type will be used.
Returns
Returns the new subelement index inside the element.

◆ clearNaturalFractures()

void XfemMesh::clearNaturalFractures ( )
virtual

Remove all natural fractures from the mesh.

Clears all natural fractures from the mesh.

◆ createGaussValueSetGroup()

GmGaussValueSetGroup * XfemMesh::createGaussValueSetGroup ( GmSimulationData * simulation,
GmElementMesh * mesh )
protectedvirtual

Overrides the standard GmElementMesh::createGaussValueSetGroup() implementation to create XfemGaussValueSetGroup instances.

Reimplemented from GmElementMesh.

◆ enrichedElementRegularIntegrationRule()

const GmIntegrationRule * XfemMesh::enrichedElementRegularIntegrationRule ( const XfemElement * e,
int ruleSet ) const

Returns the elements regular integration rule with support for enriched elements.

If the element has been enriched, returns the elements particular integration rule. If not, returns the rule tied to the element type in the given rule set.

◆ enrichElement()

bool XfemMesh::enrichElement ( XfemElement * e)
virtual

Marks the given element as enriched.

After calling enrichElement(), it should be filled with subelements for adjusting its integration points.

This function returns false (and does nothing) if the element had already been enriched in the past.

◆ printValues()

void XfemMesh::printValues ( const GmLogCategory & logger,
int options )
virtual

Overrides printValues to add subelement information.

Reimplemented from GmElementMesh.

◆ removeSubElement()

void XfemMesh::removeSubElement ( XfemElement * e,
int index )
virtual

Removes an existing sub-element from the enriched element. This removal will automatically trigger an update in the element integration rule and in the data stored by gauss attributes.

The e parameter must reference an enriched element and index must point to a valid sub-element index, as returned by numRegularSubElements() + numFractureSubElements().

◆ subElement()

const XfemSubElement * XfemMesh::subElement ( const XfemElement * e,
int index ) const
virtual

Returns a subelement of an enriched element.

The index parameter should be a valid index between 0 and numRegularSubElements() + numFractureSubElements() - 1, remembering that fracture sub-elements are positioned as the last sub-elements.

This function also expects 'e' to be an enriched element. The returned pointer is const since changes to a sub-element should be done by using the mesh interface.
This guarantees the consistency between sub-elements, integration points and stored data.

◆ updateSubElementCoordinates()

void XfemMesh::updateSubElementCoordinates ( XfemElement * e,
int index,
const GmMatrix & seNaturalCoords,
int ruleSet = 0 )
virtual

Updates the set of natural coordinates from a sub-element, provided that the sub-element type remains the same. This update will automatically trigger an update in the element integration rule. IMPORTANT: Values stored in Gauss points are NOT changed to reflect the change in point locations. That should be done externally.

Parameters
eThe element that contains the sub-element. Must refer to an enriched element
indexThe sub-element index inside element e. Must point to a valid sub-element index
seNaturalCoordsThe new sub-element node coordinates, given in the father element natural coordinate system. The matrix is organized as a 'd x n' matrix where d is the number of natural coordinates for element 'e' and n the number of nodes for the sub element type. See XfemSubElement() documentation for an example.
ruleSetThe integration rule set (see coments in GmElementMesh::elementIntegrationRule()) that will be used to define the integration rule that will be applied to the subelement. A value of 0 (the default) means that the default rule for the subelement type will be used. IMPORTANT: The given ruleSet MUST be the same used when the subelement was added in a call to addSubElement()

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