![]() |
GemaCoreLib
The GeMA Core library
|
File format specifications for the Xdmf file format. More...
#include <gmXdmfFileFormat.h>
Classes | |
struct | SupportedTypesT |
Registered information about each element type. Needed to export said type in Xdmf format. An entry for each supported cell type should be registered by a call to registerSupportedCellType() before any attempt to save a file. More... | |
Public Member Functions | |
virtual const char * | formatName () const |
Returns the file format name. | |
virtual bool | supportsMultipleIterations () const |
Returns true if this file type supports multiple iterations (result sets) | |
virtual bool | acceptsNodeDimension (int ndim) const |
Returns true if this file format accepts meshes with nodes of the given dimension. | |
virtual int | acceptsCellType (GmCellType type) const |
Does the file format accepts this cell type? Returns 0 if the cell type is not accepted, 1 if it is natively accepted or 2 if it is accepted requiring standard Gema transformations for adjusting interface elements that need extra interpolated nodes to be exported. | |
virtual const QVector< int > & | cellNumbering (GmCellType type) const |
Returns the node cell type numbering order in the file format view or an empty vector for unsupported types. More... | |
virtual int | fileCellType (GmCellType type) const |
Returns the cell type code as seen by the file format. Currently used only by HDF5 based formats. | |
virtual const char * | fileCellTypeName (GmCellType type) const |
Returns the cell type name as seen by the exported file format. | |
virtual bool | acceptsDataType (const GmValueInfo *info, int nodeDim, int dimFilter=-1) const |
Returns true if this file format can save node/element data with the specified type (especially its dimension and value set kind). The nodeDim parameter provides the mesh node dimension since some file formats only accept vectors and matrices with the same size as the mesh dimension. The dimFilter parameter specifies if a dimension filter will be applied to the data or not (dimFilter == -1) | |
virtual bool | acceptsMultipleGaussProfiles () const |
Does the file supports multiple Gauss points per element type? | |
virtual bool | acceptsGaussRuleForElement (GmCellType type, const GmIntegrationRule *ir) const |
Does the file support exporting data at Gauss points for an element of type type with the supplied integration rule? | |
virtual bool | acceptsDiscontinuitySet (GmDiscontinuitySet::DiscontinuityType type) const |
virtual bool | supportsSplitVectors () const |
Returns true if this writer prefers to split vector values into scalar values by itself. | |
virtual bool | supportsMeshChanges () const |
Returns true if this writer can cope with mesh changes during the simulation. | |
Static Public Member Functions | |
static void | registerSupportedCellType (GmCellType type, SupportedTypesT &&cellData) |
Registers the information needed about each element type to save it on the Xdmf file. An entry for each supported cell type should be registered before any attempt to save a file. More... | |
Static Private Member Functions | |
static SupportedTypesT * | supportedTypesList () |
Returns the vector with the definition of the GeMA supported types and their mapping to xdmf types. The vector has GM_NUM_CELL_TYPES entries. More... | |
File format specifications for the Xdmf file format.
|
inlinevirtual |
Returns the node cell type numbering order in the file format view or an empty vector for unsupported types.
For each cell type, the exported node ordering can be different from the natural GeMA node ordering. This function returns a vector that defines the order in which the set of GeMA cell node indices should be exported. It can have a size that is different from the number of GeMA nodes. A value of -1 means that the saved node is an extra node that should have been created as the result of the set of standard Gema transformations for changing quadratic interface elements that do not have mid nodes into the "flow" side (int2dl6 and int3dl12, for example) into quadratic quad/hex elements as specified by acceptsCellType() returning 2.
Implements GmFileFormat.
|
inlinestatic |
Registers the information needed about each element type to save it on the Xdmf file. An entry for each supported cell type should be registered before any attempt to save a file.
If the cell node ordering list from cellData is empty, it will be replaced with the cell's GeMA node ordering, i.e. with a list with the same number of entries as the cell type, ordered incrising from 0 to n-1.
Important: For that to work, the Geometry metadat for the cell type MUST have been aƧready initialized.
|
inlinestaticprivate |
Returns the vector with the definition of the GeMA supported types and their mapping to xdmf types. The vector has GM_NUM_CELL_TYPES entries.
The static supported types vectors is wrapped in this function to make sure that registerSupportedCellType() can be called from other module's dynamic initialization step without incurring in an initialization fiasco problem.