![]() |
GeMA
The GeMA main application
|
In GeMA, the domain discretization is represented by Mesh objects. Since different simulation methods require different kinds of domain discretizations, the GeMA framework takes a hierarchical approach for defining meshes. The basic mesh type is just a collection of points, each tied to a spatial position and possibly associated with several user-specified data sets. On top of this definition comes a cell mesh, where a cell defines a partition of the global spatial domain and is represented in 1D by a segment, in 2D by an area and in 3D by a volume. Cells can also be associated with their own data sets. On another level, each cell can be tied to interpolation functions and integration rules and called an element, giving support to the Finite Element Method.
To support this diversity of types, real meshes are created by plugin objects. Consider an element mesh. Its inputs might include the set of node coordinates and the set of mesh triangles. A node mesh with points organized on a regular grid, on the other hand, just needs the number of grid columns and lines, along with their spacing to be definied, so each plugin comes with its particular set of required and optional fields, as described in each mesh plugin documentation.
The figure below summarizes the entity types that can be associated with cell / element meshes. Although other mesh types can be associated with a different set of entities, those are in general a subset of this one. The only entity common to all mesh types is the node. The entities are:
Any number of user defined data sets can be associated with mesh nodes, cells and Gauss (integration) points. Those data sets can store scalar, vector or matrix values and can also support user functions that will be executed any time that a value is requested. Data sets can also support storing history data, i.e. store a limited (or unlimited) number of past states for each data. The figures below illustrate this concepts.
Mesh nodes can be associated with state variables and node attributes. Mesh cells with cell attributes and property set lines. Element integration points can be associated with Gauss attributes. Although the syntax for associating data to nodes, cells and Gauss points is plugin dependent, the set of options defining a data set is unique and documented in the Data options page.
A simulation can contain several meshes, each created by the Mesh keyword. Data can be transfered between meshes with the set of methods provided by the mesh mapping process. Mesh data can be printed and saved to files with the set of methods provided by the io process.
Field (*) | Description | Type | Required |
---|---|---|---|
id | The mesh name. | String | Yes |
typeName | The name of the plugin that will be used to create this mesh. If the plugin exports several object types, the plugin name should be followed by a dot followed by the requested mesh object type. | String | Yes |
Examples: typeName = "GemaMesh.elem" , typeName = "RegularGridMesh" | |||
description | A description of the mesh purpose. | String | No |
(*) Mesh objects are implemented by plugins, so the remaining set of attributes shown on the above example are particular to the plugin and their documentation can be found on the GemaMesh plugin documentation.