24#ifndef _GEMA_ELEMENT_MESH_H_
25#define _GEMA_ELEMENT_MESH_H_
52 int maxNumIntPoints(
int ruleSet)
const;
53 void addIntegrationRuleSet();
54 int numIntegrationRuleSets()
const;
60 bool usesGaussIndex(
int ruleSet)
const;
71 int rs = _gaussAttributesMap.value(
id, -1);
72 return (rs == -1) ? NULL : _gaussAttributesGroupList[rs]->gaussValueSet(
id);
80 virtual bool addGaussAttributeSet(
GmValueInfo* info);
81 virtual void removeGaussAttributeSet(
QString id);
83 virtual bool initGaussAttributeSets();
84 virtual void beginAddingGaussAttributeSets();
85 virtual bool endAddingGaussAttributeSets();
86 virtual void clearGaussAttributeSets();
87 virtual void clearGaussAttributeSetsData();
91 virtual int numGaussAttributeStates (
QString id)
const;
92 virtual QString gaussAttributeStateTag (
QString id,
int snum)
const;
93 virtual double gaussAttributeStateTime (
QString id,
int snum)
const;
94 virtual void setGaussAttributeStateTag (
QString id,
int snum,
QString tag);
95 virtual void setGaussAttributeStateTime(
QString id,
int snum,
double time);
106 virtual size_t gaussIndicesMemory()
const;
120 GmCellType type,
int ruleSet,
int faceType)
const;
132 void clearRuleSetRules(
int rule);
147#define GmForeachActiveElement(variable, mesh) GmForeachCellHelper(variable, mesh, GmElementMesh, GmElement, true)
150#define GmForeachElement(variable, mesh, activeOnly) GmForeachCellHelper(variable, mesh, GmElementMesh, GmElement, activeOnly)
155#define GmForeachOrderedElement(variable, mesh, activeOnly, modelOrder) \
156GmForeachOrderedCellHelper(variable, mesh, GmElementMesh, GmElement, activeOnly, modelOrder ? (mesh)->pcrObject() : NULL)
Border integration rule base classe.
Definition gmBorderIntegrationRule.h:38
Base interface class for CellMesh type plugins.
Definition gmCellMesh.h:40
virtual bool saveState(GmValueSet::SaveStateMode mode, const GmLogCategory &logger)
Simmilar to saveNodeValueState() / saveCellValueState(), saves the current state of all nodal and cel...
Definition gmCellMesh.cpp:733
virtual void printParameters(const GmLogCategory &logger)
Reimplements the standard Mesh::printParameters() method to add information about cells.
Definition gmCellMesh.cpp:826
virtual void printValues(const GmLogCategory &logger, int options=GM_PRINT_DEFAULT)
Reimplements the standard Mesh::printValues() method to add information about cells.
Definition gmCellMesh.cpp:886
virtual bool fillDumpControlMapData(QVariantMap *map, const GmLogCategory &logger)
Fills the dump control data map with mesh data prior to a save operation On errors,...
Definition gmCellMesh.cpp:1081
virtual bool dumpControlMapDataLoaded(QVariantMap *map, const GmLogCategory &logger)
Sanity checks + processing of the dump control data map after a load operation.
Definition gmCellMesh.cpp:1098
virtual bool addStateAccessorData(GmStateDump *state, int groupId)
Adds to 'state' accessors for all the cell attributes associated with this mesh. This includes all hi...
Definition gmCellMesh.cpp:1033
Base interface for FEM (finite element) meshes.
Definition gmElementMesh.h:42
QVector< QAtomicPointer< GmMeshGaussIndex > > _gaussIndexList
List of per integration rule set Gauss index.
Definition gmElementMesh.h:142
QList< QAtomicPointer< GmBorderIntegrationRule > * > _edgeIntegrationRulesList
List with sets of per element type edge integration rules.
Definition gmElementMesh.h:136
QList< QAtomicPointer< GmIntegrationRule > * > _elemIntegrationRulesList
List with sets of per element type integration rules.
Definition gmElementMesh.h:134
virtual int hQOrder() const
Returns the elements Q order for hierarchical meshes, 0 for meshes with conventional elements.
Definition gmElementMesh.h:101
virtual GmGaussValueSetGroup * createGaussValueSetGroup(GmSimulationData *simulation, GmElementMesh *mesh)
Virtual function responsible for creating a new GmGaussValueSetGroup that will store data for the att...
Definition gmElementMesh.h:113
QMap< QString, int > _gaussAttributesMap
For each attribute id, stores the result set that this attribute is associated with.
Definition gmElementMesh.h:123
GmGaussValueSet * gaussValueSet(QString id) const
Returns the value set associated with the given Gauss attribute, NULL if not found....
Definition gmElementMesh.h:69
QMutex _edgeIntegrationRulesMutex
The mutex protecting _edgeIntegrationRulesList.
Definition gmElementMesh.h:140
virtual int hPOrder() const
Returns the elements P order for hierarchical meshes, 0 for meshes with conventional elements.
Definition gmElementMesh.h:98
GmGaussValueSetGroup * gaussValueSetGroup(int ruleSet) const
Returns the ValueSetGroup object used to store the set of mesh Gauss value sets for attributes tied t...
Definition gmElementMesh.h:66
QMutex _gaussIndexMutex
The mutex protecting _gaussIndexList.
Definition gmElementMesh.h:143
QMutex _faceIntegrationRulesMutex
The mutex protecting _faceIntegrationRulesList.
Definition gmElementMesh.h:139
QList< QAtomicPointer< GmBorderIntegrationRule > * > _faceIntegrationRulesList
List with sets of per element type face integration rules.
Definition gmElementMesh.h:135
QVector< GmGaussValueSetGroup * > _gaussAttributesGroupList
The per rule set value set group list, storing Gauss attributes data tied to each rule set.
Definition gmElementMesh.h:122
QMutex _elemIntegrationRulesMutex
The mutex protecting _elemIntegrationRulesList.
Definition gmElementMesh.h:138
The GmGaussAccessor class is a proxy object to a value accessor implementing a more convenient interf...
Definition gmGaussAccessor.h:39
A derived class from GmValueSetGroup storing GmGaussValueSet objects.
Definition gmGaussValueSetGroup.h:32
Inheriting from GmValueSet, this class adds the peculiarities needed for saving values in Gauss point...
Definition gmGaussValueSet.h:35
Integration rule base classe.
Definition gmIntegrationRule.h:89
Class representing a category with multiple logging levels.
Definition gmLog.h:58
A Gauss index interface always indexing ALL the elements of a mesh, with support for mesh growing.
Definition gmGaussIndex.h:275
Auxiliar class used to store the complete set of simulation data.
Definition gmSimulationData.h:55
The GmStateDump class presents a higher level of abstraction over GmMemoryDump, storing accessor data...
Definition gmStateDump.h:54
Auxiliar class used to store the definition of a value. It can be used to store informations about st...
Definition gmValueInfo.h:132
SaveStateMode
Initialization mode for calls to saveState()
Definition gmValueSet.h:60
Declaration of the GmCell class.
Declaration of the GmCellMesh interface class.
GmCellType
Mesh Cell types. Don't change type orders or add types without reading comments below.
Definition gmCellType.h:31
#define GMC_API_EXPORT
Macro for controlling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_L...
Definition gmCoreConfig.h:35
Declaration of the GmGaussValueSetGroup class.
Declaration of the GmIntegrationRule class and its helper decendants.
GmIntegrationRuleType
The type of desired integration rule (Gauss quadrature, Lobatto quadrature, etc)
Definition gmIntegrationRule.h:68
@ GM_PRINT_DEFAULT
A tag to request that the options should be filled with the default.
Definition gmPrintUtils.h:72