GemaCoreLib
The GeMA Core library
Classes | Public Member Functions | Protected Member Functions | Static Protected Attributes | List of all members
GmNfFileFormat Class Reference

File format specifications for the "Neutral File" file format. More...

#include <gmNfFileFormat.h>

Inheritance diagram for GmNfFileFormat:
Inheritance graph
[legend]
Collaboration diagram for GmNfFileFormat:
Collaboration graph
[legend]

Classes

struct  nfrElement
 
struct  nfrType
 
struct  SupportedTypesT
 

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 supportsSplitVectors () const
 Returns true if this writer prefers to split vector values into scalar values by itself.
 
virtual bool acceptsNodeDimension (int ndim) const
 Returns true if this file format accepts meshes with nodes of the given dimension.
 
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 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 supportsMeshChanges () const
 Returns true if this writer can cope with mesh changes during the simulation.
 

Protected Member Functions

int nf2gmCellNodeIndex (GmCellType type, int nfId)
 
int nf2gmCellGaussIndex (GmCellType type, int ngp, int nfId)
 
unsigned int offset (unsigned int n)
 

Static Protected Attributes

static const SupportedTypesT supportedTypes []
 
static const int supportedTypesSize
 
static const nfrType nfrTypeTable []
 
static const nfrElement nfrElementTable []
 

Detailed Description

File format specifications for the "Neutral File" file format.

Member Function Documentation

◆ cellNumbering()

virtual const QVector<int>& GmNfFileFormat::cellNumbering ( GmCellType  type) const
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.

Member Data Documentation

◆ nfrTypeTable

const GmNfFileFormat::nfrType GmNfFileFormat::nfrTypeTable
staticprotected
Initial value:
= {
{NFR_RES_NODAL_DISPLACEMENT, GM_NODE_STATEVAR, GM_SCALAR_VALUE, 1},
{NFR_RES_NODAL_SCALAR, GM_NODE_STATEVAR, GM_SCALAR_VALUE, 1},
{NFR_RES_ELE_NODAL_SCALAR, GM_CELL_ATTRIBUTE, GM_SCALAR_VALUE, 1},
{NFR_RES_ELE_GAUSS_SCALAR, GM_GAUSS_ATTRIBUTE, GM_SCALAR_VALUE, 1},
{NFR_RES_ELE_SCALAR, GM_CELL_ATTRIBUTE, GM_SCALAR_VALUE, 1},
{NFR_RES_NODAL_VECTOR, GM_NODE_STATEVAR, GM_VECTOR_VALUE, 3},
{NFR_RES_ELE_NODAL_VECTOR, GM_CELL_ATTRIBUTE, GM_VECTOR_VALUE, 3},
{NFR_RES_ELE_GAUSS_VECTOR, GM_GAUSS_ATTRIBUTE, GM_VECTOR_VALUE, 3},
{NFR_RES_ELE_VECTOR, GM_CELL_ATTRIBUTE, GM_VECTOR_VALUE, 3},
{NFR_RES_NODAL_TENSOR, GM_NODE_STATEVAR, GM_MATRIX_VALUE, 6},
{NFR_RES_ELE_NODAL_TENSOR, GM_CELL_ATTRIBUTE, GM_MATRIX_VALUE, 6},
{NFR_RES_ELE_GAUSS_TENSOR, GM_GAUSS_ATTRIBUTE, GM_MATRIX_VALUE, 6},
{NFR_RES_ELE_TENSOR, GM_CELL_ATTRIBUTE, GM_MATRIX_VALUE, 6},
{NFR_RES_NODAL_PRINCIPAL_TENSOR, GM_NODE_STATEVAR, GM_MATRIX_VALUE, 6},
{NFR_RES_ELE_NODAL_PRINCIPAL_TENSOR, GM_CELL_ATTRIBUTE, GM_MATRIX_VALUE, 6},
{NFR_RES_ELE_GAUSS_PRINCIPAL_TENSOR, GM_GAUSS_ATTRIBUTE, GM_MATRIX_VALUE, 6},
{NFR_RES_ELE_PRINCIPAL_TENSOR, GM_CELL_ATTRIBUTE, GM_MATRIX_VALUE, 6},
}

◆ supportedTypesSize

const int GmNfFileFormat::supportedTypesSize
staticprotected
Initial value:
=
sizeof(GmNfFileFormat::supportedTypes) / sizeof(GmNfFileFormat::SupportedTypesT)

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