MFEM v4.7.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::VTKGeometry Struct Reference

Helper class for converting between MFEM and VTK geometry types. More...

#include <vtk.hpp>

Static Public Member Functions

static Geometry::Type GetMFEMGeometry (int vtk_geom)
 Given a VTK geometry type, return the corresponding MFEM Geometry::Type.
 
static bool IsLagrange (int vtk_geom)
 Does the given VTK geometry type describe an arbitrary-order Lagrange element?
 
static bool IsQuadratic (int vtk_geom)
 Does the given VTK geometry type describe a legacy quadratic element?
 
static int GetOrder (int vtk_geom, int npoints)
 For the given VTK geometry type and number of points, return the order of the element.
 

Static Public Attributes

static const int PrismMap [6] = {0, 2, 1, 3, 5, 4}
 Permutation from MFEM's prism ordering to VTK's prism ordering.
 
static const int * VertexPermutation [Geometry::NUM_GEOMETRIES]
 Permutation from MFEM's vertex ordering to VTK's vertex ordering.
 
static const int Map [Geometry::NUM_GEOMETRIES]
 Map from MFEM's Geometry::Type to linear VTK geometries.
 
static const int QuadraticMap [Geometry::NUM_GEOMETRIES]
 Map from MFEM's Geometry::Type to legacy quadratic VTK geometries/.
 
static const int HighOrderMap [Geometry::NUM_GEOMETRIES]
 Map from MFEM's Geometry::Type to arbitrary-order Lagrange VTK geometries.
 
VTK geometry types
static const int POINT = 1
 
Low-order (linear, straight-sided) VTK geometric types
static const int SEGMENT = 3
 
static const int TRIANGLE = 5
 
static const int SQUARE = 9
 
static const int TETRAHEDRON = 10
 
static const int CUBE = 12
 
static const int PRISM = 13
 
static const int PYRAMID = 14
 
Legacy quadratic VTK geometric types
static const int QUADRATIC_SEGMENT = 21
 
static const int QUADRATIC_TRIANGLE = 22
 
static const int BIQUADRATIC_SQUARE = 28
 
static const int QUADRATIC_TETRAHEDRON = 24
 
static const int TRIQUADRATIC_CUBE = 29
 
static const int QUADRATIC_PRISM = 26
 
static const int BIQUADRATIC_QUADRATIC_PRISM = 32
 
static const int QUADRATIC_PYRAMID = 27
 
Arbitrary-order VTK geometric types
static const int LAGRANGE_SEGMENT = 68
 
static const int LAGRANGE_TRIANGLE = 69
 
static const int LAGRANGE_SQUARE = 70
 
static const int LAGRANGE_TETRAHEDRON = 71
 
static const int LAGRANGE_CUBE = 72
 
static const int LAGRANGE_PRISM = 73
 
static const int LAGRANGE_PYRAMID = 74
 

Detailed Description

Helper class for converting between MFEM and VTK geometry types.

Note: The VTK element types defined are at: https://git.io/JvZLm

Definition at line 28 of file vtk.hpp.

Member Function Documentation

◆ GetMFEMGeometry()

Geometry::Type mfem::VTKGeometry::GetMFEMGeometry ( int vtk_geom)
static

Given a VTK geometry type, return the corresponding MFEM Geometry::Type.

Definition at line 46 of file vtk.cpp.

◆ GetOrder()

int mfem::VTKGeometry::GetOrder ( int vtk_geom,
int npoints )
static

For the given VTK geometry type and number of points, return the order of the element.

Definition at line 96 of file vtk.cpp.

◆ IsLagrange()

bool mfem::VTKGeometry::IsLagrange ( int vtk_geom)
static

Does the given VTK geometry type describe an arbitrary-order Lagrange element?

Definition at line 85 of file vtk.cpp.

◆ IsQuadratic()

bool mfem::VTKGeometry::IsQuadratic ( int vtk_geom)
static

Does the given VTK geometry type describe a legacy quadratic element?

Definition at line 90 of file vtk.cpp.

Member Data Documentation

◆ BIQUADRATIC_QUADRATIC_PRISM

const int mfem::VTKGeometry::BIQUADRATIC_QUADRATIC_PRISM = 32
static

Definition at line 53 of file vtk.hpp.

◆ BIQUADRATIC_SQUARE

const int mfem::VTKGeometry::BIQUADRATIC_SQUARE = 28
static

Definition at line 49 of file vtk.hpp.

◆ CUBE

const int mfem::VTKGeometry::CUBE = 12
static

Definition at line 40 of file vtk.hpp.

◆ HighOrderMap

const int mfem::VTKGeometry::HighOrderMap
static
Initial value:
=
{
}
static const int LAGRANGE_PRISM
Definition vtk.hpp:64
static const int LAGRANGE_TETRAHEDRON
Definition vtk.hpp:62
static const int LAGRANGE_TRIANGLE
Definition vtk.hpp:60
static const int LAGRANGE_SQUARE
Definition vtk.hpp:61
static const int POINT
Definition vtk.hpp:32
static const int LAGRANGE_CUBE
Definition vtk.hpp:63
static const int LAGRANGE_SEGMENT
Definition vtk.hpp:59
static const int LAGRANGE_PYRAMID
Definition vtk.hpp:65

Map from MFEM's Geometry::Type to arbitrary-order Lagrange VTK geometries.

Definition at line 82 of file vtk.hpp.

◆ LAGRANGE_CUBE

const int mfem::VTKGeometry::LAGRANGE_CUBE = 72
static

Definition at line 63 of file vtk.hpp.

◆ LAGRANGE_PRISM

const int mfem::VTKGeometry::LAGRANGE_PRISM = 73
static

Definition at line 64 of file vtk.hpp.

◆ LAGRANGE_PYRAMID

const int mfem::VTKGeometry::LAGRANGE_PYRAMID = 74
static

Definition at line 65 of file vtk.hpp.

◆ LAGRANGE_SEGMENT

const int mfem::VTKGeometry::LAGRANGE_SEGMENT = 68
static

Definition at line 59 of file vtk.hpp.

◆ LAGRANGE_SQUARE

const int mfem::VTKGeometry::LAGRANGE_SQUARE = 70
static

Definition at line 61 of file vtk.hpp.

◆ LAGRANGE_TETRAHEDRON

const int mfem::VTKGeometry::LAGRANGE_TETRAHEDRON = 71
static

Definition at line 62 of file vtk.hpp.

◆ LAGRANGE_TRIANGLE

const int mfem::VTKGeometry::LAGRANGE_TRIANGLE = 69
static

Definition at line 60 of file vtk.hpp.

◆ Map

const int mfem::VTKGeometry::Map
static
Initial value:
=
{
}
static const int SQUARE
Definition vtk.hpp:38
static const int CUBE
Definition vtk.hpp:40
static const int TRIANGLE
Definition vtk.hpp:37
static const int TETRAHEDRON
Definition vtk.hpp:39
static const int PRISM
Definition vtk.hpp:41
static const int SEGMENT
Definition vtk.hpp:36
static const int PYRAMID
Definition vtk.hpp:42

Map from MFEM's Geometry::Type to linear VTK geometries.

Definition at line 78 of file vtk.hpp.

◆ POINT

const int mfem::VTKGeometry::POINT = 1
static

Definition at line 32 of file vtk.hpp.

◆ PRISM

const int mfem::VTKGeometry::PRISM = 13
static

Definition at line 41 of file vtk.hpp.

◆ PrismMap

const int mfem::VTKGeometry::PrismMap = {0, 2, 1, 3, 5, 4}
static

Permutation from MFEM's prism ordering to VTK's prism ordering.

Definition at line 70 of file vtk.hpp.

◆ PYRAMID

const int mfem::VTKGeometry::PYRAMID = 14
static

Definition at line 42 of file vtk.hpp.

◆ QUADRATIC_PRISM

const int mfem::VTKGeometry::QUADRATIC_PRISM = 26
static

Definition at line 52 of file vtk.hpp.

◆ QUADRATIC_PYRAMID

const int mfem::VTKGeometry::QUADRATIC_PYRAMID = 27
static

Definition at line 54 of file vtk.hpp.

◆ QUADRATIC_SEGMENT

const int mfem::VTKGeometry::QUADRATIC_SEGMENT = 21
static

Definition at line 47 of file vtk.hpp.

◆ QUADRATIC_TETRAHEDRON

const int mfem::VTKGeometry::QUADRATIC_TETRAHEDRON = 24
static

Definition at line 50 of file vtk.hpp.

◆ QUADRATIC_TRIANGLE

const int mfem::VTKGeometry::QUADRATIC_TRIANGLE = 22
static

Definition at line 48 of file vtk.hpp.

◆ QuadraticMap

const int mfem::VTKGeometry::QuadraticMap
static
Initial value:
=
{
}
static const int BIQUADRATIC_QUADRATIC_PRISM
Definition vtk.hpp:53
static const int QUADRATIC_TRIANGLE
Definition vtk.hpp:48
static const int QUADRATIC_SEGMENT
Definition vtk.hpp:47
static const int BIQUADRATIC_SQUARE
Definition vtk.hpp:49
static const int QUADRATIC_TETRAHEDRON
Definition vtk.hpp:50
static const int QUADRATIC_PYRAMID
Definition vtk.hpp:54
static const int TRIQUADRATIC_CUBE
Definition vtk.hpp:51

Map from MFEM's Geometry::Type to legacy quadratic VTK geometries/.

Definition at line 80 of file vtk.hpp.

◆ SEGMENT

const int mfem::VTKGeometry::SEGMENT = 3
static

Definition at line 36 of file vtk.hpp.

◆ SQUARE

const int mfem::VTKGeometry::SQUARE = 9
static

Definition at line 38 of file vtk.hpp.

◆ TETRAHEDRON

const int mfem::VTKGeometry::TETRAHEDRON = 10
static

Definition at line 39 of file vtk.hpp.

◆ TRIANGLE

const int mfem::VTKGeometry::TRIANGLE = 5
static

Definition at line 37 of file vtk.hpp.

◆ TRIQUADRATIC_CUBE

const int mfem::VTKGeometry::TRIQUADRATIC_CUBE = 29
static

Definition at line 51 of file vtk.hpp.

◆ VertexPermutation

const int * mfem::VTKGeometry::VertexPermutation
static
Initial value:
=
{
NULL, NULL, NULL, NULL, NULL, NULL, VTKGeometry::PrismMap, NULL
}
static const int PrismMap[6]
Permutation from MFEM's prism ordering to VTK's prism ordering.
Definition vtk.hpp:70

Permutation from MFEM's vertex ordering to VTK's vertex ordering.

Note
If the MFEM and VTK orderings are the same, the vertex permutation will be NULL.

Definition at line 75 of file vtk.hpp.


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