RegularGridMesh
The GeMA Regular Grid Mesh Plugin
Loading...
Searching...
No Matches
GmpRegularGridMesh Class Reference

Simple class implementing the GmRegularGridMesh interface. More...

#include <gmpRegularGridMesh.h>

Inheritance diagram for GmpRegularGridMesh:
Collaboration diagram for GmpRegularGridMesh:

Public Member Functions

 GmpRegularGridMesh (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 Constructor. Creates an invalid mesh that will be filled by loadPrivateData()
 
virtual ~GmpRegularGridMesh ()
 Destructor.

 
virtual const char * pluginName () const
 
virtual const char * pluginType () const
 
virtual bool loadPrivateData (LuaTable &table)
 Initializes the mesh object by reading data from the given Lua table. Returns false if the grid could not be initialized properly.
 
virtual bool hasCapability (QString capabilityName) const
 
virtual bool useDualVectors () const
 
virtual void pushProxy (lua_State *L, const GmLogCategory &logger)
 
virtual GmValueInfonodeCoordInfo () const
 
virtual GmValueAccessornodeCoordAccessor (Unit desiredUnit, const GmLogCategory &logger) const
 
virtual int numNodes () const
 
virtual double nodeSpacing (int dim) const
 
virtual int nodeCount (int dim) const
 
virtual bool nodeWrap (int dim) const
 
virtual int nodeFromIndex (int x, int y=-1, int z=-1) const
 
virtual void indexFromNode (int node, int *x, int *y=NULL, int *z=NULL) const
 
virtual int neighbor (int node, int xoffset, int yoffset=0, int zoffset=0) const
 
virtual const QMap< QString, GmNodeSet * > & nodeSets () const
 
virtual void printParameters (const GmLogCategory &logger)
 Reimplements the basic GmMesh::printParameters() to add the number of nodes in each mesh dimension.
 
virtual size_t nodeMemory () const
 
virtual size_t nodeSetsMemory () const
 
virtual GmPCRpcrObject () const
 Returns a default empty PCR object.
 
- Public Member Functions inherited from GmRegularGridMesh
 GmRegularGridMesh (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 
- Public Member Functions inherited from GmMesh
 GmMesh (GmSimulationData *simulation, QString id, QString description, const GmLogCategory &logger)
 
virtual const char * pluginCategory () const
 
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
 
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 saveState (GmValueSet::SaveStateMode mode, const GmLogCategory &logger)
 
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 void printValues (const GmLogCategory &logger, int options=GM_PRINT_DEFAULT)
 
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
 
- 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)
 

Private Attributes

int _ndim
 The mesh dimension.
 
int _nnodes
 The total number of nodes in the grid (equal to _count[0] * ... * _count[_ndim-1])
 
GmValueInfo_coordInfo
 Info object for coordinates.
 
GmVector _origin
 Vector with coordinates of the first mesh node.
 
GmVector _spacing
 Spacing between grid nodes in each dimension.
 
QVector< int > _count
 Node count in each dimension.
 
QVector< bool > _wrap
 Does the mesh wraps (last node connected to first) in each dimension?
 
GmPCR_pcr
 The associated default PCR object.
 
QMap< QString, GmNodeSet * > _nodeSets
 A map with the definition of each node set associated with the mesh. Map entries are instances of the private GmpRegularGridNodeSet class.
 

Friends

class GmpRegularGridMeshCoordAccessor
 

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 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)
 
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 GmPluginObject
virtual const GmLogCategorylogger () const
 
GmSimulationDatasimulationData () const
 
- Protected Attributes inherited from GmMesh
int _stateDumpControlMapItem
 

Detailed Description

Simple class implementing the GmRegularGridMesh interface.

Mesh fields parsed by this plugin (the first 3, id, typeName and description, are parsed by the library and not by this plugin):

id: The mesh name
typeName: Plugin that will be used to load this mesh. Should be equal to 'RegularGridMesh.grid'. description: The mesh description

coordinateDim: The number of dimensions for each node coordinate coordinateUnit: The unit in which node coordinates are expressed coordinateFormat: A format string used when printing node coordinates

nodeOrigin: A table storing the coordinate of the first grid point (lower left back).
If absent, the origin will be equal to (0, 0, 0) nodeCount: A table storing the number of nodes in each grid dimension. Required. nodeSpacing: A table storing the node spacing in each grid dimension. Can also be a single number meaning that the spacing is equal for every dimension. If absent will be equal to 1.0. Spacings can not be equal to 0.0. nodeWrap: An optional table storing a boolean for each grid dimension stating if the last node in each direction is connected to the first one or not. Default is false in every direction.

stateVars: A table with the list of the state var ids that will be stored in each mesh node nodeAttributes: A table with the definition of the attributes associated with a mesh node

nodeSetData: A table storing a set of named collections of nodes. Each table entry is a sub-table that stores an id and a nodeList where each entry is a node id.

Member Function Documentation

◆ hasCapability()

virtual bool GmpRegularGridMesh::hasCapability ( QString capabilityName) const
inlinevirtual

Implements GmMesh.

◆ indexFromNode()

void GmpRegularGridMesh::indexFromNode ( int node,
int * x,
int * y = NULL,
int * z = NULL ) const
virtual

Implements GmRegularGridMesh.

◆ loadPrivateData()

bool GmpRegularGridMesh::loadPrivateData ( LuaTable & table)
virtual

Initializes the mesh object by reading data from the given Lua table. Returns false if the grid could not be initialized properly.

Implements GmPluginObject.

◆ neighbor()

int GmpRegularGridMesh::neighbor ( int node,
int xoffset,
int yoffset = 0,
int zoffset = 0 ) const
virtual

Implements GmRegularGridMesh.

◆ nodeCoordAccessor()

GmValueAccessor * GmpRegularGridMesh::nodeCoordAccessor ( Unit desiredUnit,
const GmLogCategory & logger ) const
virtual

Implements GmMesh.

◆ nodeCoordInfo()

virtual GmValueInfo * GmpRegularGridMesh::nodeCoordInfo ( ) const
inlinevirtual

Implements GmMesh.

◆ nodeCount()

virtual int GmpRegularGridMesh::nodeCount ( int dim) const
inlinevirtual

Implements GmRegularGridMesh.

◆ nodeFromIndex()

int GmpRegularGridMesh::nodeFromIndex ( int x,
int y = -1,
int z = -1 ) const
virtual

Implements GmRegularGridMesh.

◆ nodeMemory()

virtual size_t GmpRegularGridMesh::nodeMemory ( ) const
inlinevirtual

Implements GmMesh.

◆ nodeSets()

virtual const QMap< QString, GmNodeSet * > & GmpRegularGridMesh::nodeSets ( ) const
inlinevirtual

Implements GmMesh.

◆ nodeSetsMemory()

size_t GmpRegularGridMesh::nodeSetsMemory ( ) const
virtual

Implements GmMesh.

◆ nodeSpacing()

virtual double GmpRegularGridMesh::nodeSpacing ( int dim) const
inlinevirtual

Implements GmRegularGridMesh.

◆ nodeWrap()

virtual bool GmpRegularGridMesh::nodeWrap ( int dim) const
inlinevirtual

Implements GmRegularGridMesh.

◆ numNodes()

virtual int GmpRegularGridMesh::numNodes ( ) const
inlinevirtual

Implements GmMesh.

◆ pcrObject()

virtual GmPCR * GmpRegularGridMesh::pcrObject ( ) const
inlinevirtual

Returns a default empty PCR object.

Implements GmMesh.

◆ pluginName()

virtual const char * GmpRegularGridMesh::pluginName ( ) const
inlinevirtual

Implements GmPluginObject.

◆ pluginType()

virtual const char * GmpRegularGridMesh::pluginType ( ) const
inlinevirtual

Implements GmPluginObject.

◆ printParameters()

void GmpRegularGridMesh::printParameters ( const GmLogCategory & logger)
virtual

Reimplements the basic GmMesh::printParameters() to add the number of nodes in each mesh dimension.

Reimplemented from GmMesh.

◆ pushProxy()

virtual void GmpRegularGridMesh::pushProxy ( lua_State * L,
const GmLogCategory & logger )
inlinevirtual

Implements GmMesh.

◆ useDualVectors()

virtual bool GmpRegularGridMesh::useDualVectors ( ) const
inlinevirtual

Implements GmMesh.


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