Nektar++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Public Attributes | List of all members
Nektar::LibUtilities::FieldDefinitions Struct Reference

Metadata that describes the storage properties of field output. More...

#include <FieldIO.h>

Collaboration diagram for Nektar::LibUtilities::FieldDefinitions:
Collaboration graph
[legend]

Public Member Functions

 FieldDefinitions ()
 Default constructor. More...
 
 FieldDefinitions (ShapeType shapeType, const std::vector< unsigned int > &elementIDs, const std::vector< LibUtilities::BasisType > &basis, bool uniOrder, const std::vector< unsigned int > &numModes, const std::vector< std::string > &fields, int NumHomoDir=0, const std::vector< NekDouble > &HomoLengths=NullNekDoubleVector, bool homoStrips=false, const std::vector< unsigned int > &HomoSIDs=NullUnsignedIntVector, const std::vector< unsigned int > &HomoZIDs=NullUnsignedIntVector, const std::vector< unsigned int > &HomoYIDs=NullUnsignedIntVector, const std::vector< LibUtilities::PointsType > &points=NullPointsTypeVector, bool pointsDef=false, const std::vector< unsigned int > &numPoints=NullUnsignedIntVector, bool numPointsDef=false)
 Simple constructor to allocate all internal properties. More...
 

Public Attributes

ShapeType m_shapeType
 Shape type of this field data. More...
 
std::vector< unsigned int > m_elementIDs
 Element IDs of the field data. More...
 
std::vector
< LibUtilities::BasisType
m_basis
 Vector of basis types for each of the coordinate directions. More...
 
int m_numHomogeneousDir
 Number of homogeneous directions, in the range $ 0\leq d \leq 3 $. More...
 
std::vector< NekDoublem_homogeneousLengths
 Spatial lengths of each homogeneous direction. More...
 
bool m_homoStrips
 Boolean determining whether homogeneous strips are used. More...
 
std::vector< unsigned int > m_homogeneousSIDs
 IDs corresponding to homogeneous strip IDs. More...
 
std::vector< unsigned int > m_homogeneousZIDs
 IDs corresponding to z-direction homogeneous IDs. More...
 
std::vector< unsigned int > m_homogeneousYIDs
 IDs corresponding to y-direction homogeneous IDs. More...
 
std::vector
< LibUtilities::PointsType
m_points
 Define the type of points per direction. More...
 
bool m_pointsDef
 Boolean determining whether points have been defined in output. More...
 
bool m_uniOrder
 Define order of the element group. More...
 
std::vector< unsigned int > m_numModes
 Define number of modes per direction. More...
 
std::vector< unsigned int > m_numPoints
 Define number of points per direction. More...
 
bool m_numPointsDef
 Boolean determining whether number of points has been defined. More...
 
std::vector< std::string > m_fields
 Vector of field names that this data encapsulates. More...
 

Detailed Description

Metadata that describes the storage properties of field output.

The purpose of this struct is to describe the format of binary field data. This can then be used in the library to determine appropriate actions. For example, when restarting a simulation, the information this struct encapsulates can be used to determine whether interpolation is required to a different polynomial order depending on the order of the simulation versus the order of the restart file.

We note that some of the parameters here include:

Definition at line 104 of file FieldIO.h.

Constructor & Destructor Documentation

Nektar::LibUtilities::FieldDefinitions::FieldDefinitions ( )
inline

Default constructor.

Definition at line 107 of file FieldIO.h.

109  m_homoStrips(false),
110  m_pointsDef(false),
111  m_uniOrder(true),
112  m_numPointsDef(false)
113  {
114  }
ShapeType m_shapeType
Shape type of this field data.
Definition: FieldIO.h:146
bool m_uniOrder
Define order of the element group.
Definition: FieldIO.h:170
bool m_numPointsDef
Boolean determining whether number of points has been defined.
Definition: FieldIO.h:176
bool m_homoStrips
Boolean determining whether homogeneous strips are used.
Definition: FieldIO.h:156
bool m_pointsDef
Boolean determining whether points have been defined in output.
Definition: FieldIO.h:166
int m_numHomogeneousDir
Number of homogeneous directions, in the range .
Definition: FieldIO.h:152
Nektar::LibUtilities::FieldDefinitions::FieldDefinitions ( ShapeType  shapeType,
const std::vector< unsigned int > &  elementIDs,
const std::vector< LibUtilities::BasisType > &  basis,
bool  uniOrder,
const std::vector< unsigned int > &  numModes,
const std::vector< std::string > &  fields,
int  NumHomoDir = 0,
const std::vector< NekDouble > &  HomoLengths = NullNekDoubleVector,
bool  homoStrips = false,
const std::vector< unsigned int > &  HomoSIDs = NullUnsignedIntVector,
const std::vector< unsigned int > &  HomoZIDs = NullUnsignedIntVector,
const std::vector< unsigned int > &  HomoYIDs = NullUnsignedIntVector,
const std::vector< LibUtilities::PointsType > &  points = NullPointsTypeVector,
bool  pointsDef = false,
const std::vector< unsigned int > &  numPoints = NullUnsignedIntVector,
bool  numPointsDef = false 
)
inline

Simple constructor to allocate all internal properties.

Definition at line 117 of file FieldIO.h.

135  : m_shapeType(shapeType), m_elementIDs(elementIDs), m_basis(basis),
136  m_numHomogeneousDir(NumHomoDir), m_homogeneousLengths(HomoLengths),
137  m_homoStrips(homoStrips), m_homogeneousSIDs(HomoSIDs),
138  m_homogeneousZIDs(HomoZIDs), m_homogeneousYIDs(HomoYIDs),
139  m_points(points), m_pointsDef(pointsDef), m_uniOrder(uniOrder),
140  m_numModes(numModes), m_numPoints(numPoints),
141  m_numPointsDef(numPointsDef), m_fields(fields)
142  {
143  }
std::vector< unsigned int > m_numPoints
Define number of points per direction.
Definition: FieldIO.h:174
std::vector< unsigned int > m_homogeneousYIDs
IDs corresponding to y-direction homogeneous IDs.
Definition: FieldIO.h:162
std::vector< NekDouble > m_homogeneousLengths
Spatial lengths of each homogeneous direction.
Definition: FieldIO.h:154
ShapeType m_shapeType
Shape type of this field data.
Definition: FieldIO.h:146
std::vector< unsigned int > m_homogeneousZIDs
IDs corresponding to z-direction homogeneous IDs.
Definition: FieldIO.h:160
bool m_uniOrder
Define order of the element group.
Definition: FieldIO.h:170
bool m_numPointsDef
Boolean determining whether number of points has been defined.
Definition: FieldIO.h:176
std::vector< unsigned int > m_homogeneousSIDs
IDs corresponding to homogeneous strip IDs.
Definition: FieldIO.h:158
std::vector< LibUtilities::BasisType > m_basis
Vector of basis types for each of the coordinate directions.
Definition: FieldIO.h:150
std::vector< unsigned int > m_numModes
Define number of modes per direction.
Definition: FieldIO.h:172
std::vector< unsigned int > m_elementIDs
Element IDs of the field data.
Definition: FieldIO.h:148
std::vector< std::string > m_fields
Vector of field names that this data encapsulates.
Definition: FieldIO.h:178
bool m_homoStrips
Boolean determining whether homogeneous strips are used.
Definition: FieldIO.h:156
std::vector< LibUtilities::PointsType > m_points
Define the type of points per direction.
Definition: FieldIO.h:164
bool m_pointsDef
Boolean determining whether points have been defined in output.
Definition: FieldIO.h:166
int m_numHomogeneousDir
Number of homogeneous directions, in the range .
Definition: FieldIO.h:152

Member Data Documentation

std::vector<LibUtilities::BasisType> Nektar::LibUtilities::FieldDefinitions::m_basis

Vector of basis types for each of the coordinate directions.

Definition at line 150 of file FieldIO.h.

std::vector<unsigned int> Nektar::LibUtilities::FieldDefinitions::m_elementIDs

Element IDs of the field data.

Definition at line 148 of file FieldIO.h.

std::vector<std::string> Nektar::LibUtilities::FieldDefinitions::m_fields

Vector of field names that this data encapsulates.

Definition at line 178 of file FieldIO.h.

std::vector<NekDouble> Nektar::LibUtilities::FieldDefinitions::m_homogeneousLengths

Spatial lengths of each homogeneous direction.

Definition at line 154 of file FieldIO.h.

std::vector<unsigned int> Nektar::LibUtilities::FieldDefinitions::m_homogeneousSIDs

IDs corresponding to homogeneous strip IDs.

Definition at line 158 of file FieldIO.h.

std::vector<unsigned int> Nektar::LibUtilities::FieldDefinitions::m_homogeneousYIDs

IDs corresponding to y-direction homogeneous IDs.

Definition at line 162 of file FieldIO.h.

std::vector<unsigned int> Nektar::LibUtilities::FieldDefinitions::m_homogeneousZIDs

IDs corresponding to z-direction homogeneous IDs.

Definition at line 160 of file FieldIO.h.

bool Nektar::LibUtilities::FieldDefinitions::m_homoStrips

Boolean determining whether homogeneous strips are used.

Definition at line 156 of file FieldIO.h.

int Nektar::LibUtilities::FieldDefinitions::m_numHomogeneousDir

Number of homogeneous directions, in the range $ 0\leq d \leq 3 $.

Definition at line 152 of file FieldIO.h.

std::vector<unsigned int> Nektar::LibUtilities::FieldDefinitions::m_numModes

Define number of modes per direction.

Definition at line 172 of file FieldIO.h.

std::vector<unsigned int> Nektar::LibUtilities::FieldDefinitions::m_numPoints

Define number of points per direction.

Definition at line 174 of file FieldIO.h.

bool Nektar::LibUtilities::FieldDefinitions::m_numPointsDef

Boolean determining whether number of points has been defined.

Definition at line 176 of file FieldIO.h.

std::vector<LibUtilities::PointsType> Nektar::LibUtilities::FieldDefinitions::m_points

Define the type of points per direction.

Definition at line 164 of file FieldIO.h.

bool Nektar::LibUtilities::FieldDefinitions::m_pointsDef

Boolean determining whether points have been defined in output.

Definition at line 166 of file FieldIO.h.

ShapeType Nektar::LibUtilities::FieldDefinitions::m_shapeType

Shape type of this field data.

Definition at line 146 of file FieldIO.h.

bool Nektar::LibUtilities::FieldDefinitions::m_uniOrder

Define order of the element group.

  • UniOrder: same order for each element
  • MixOrder: definition of a different order for each element.

Definition at line 170 of file FieldIO.h.