12#ifndef MFEM_TEMPLATE_MESH
13#define MFEM_TEMPLATE_MESH
23template <
typename FESpace,
25 VectorLayout<Ordering::byNODES,FESpace::FE_type::dim> >
30 typedef typename FESpace::FE_type
FE_type;
33 static const int dim = FE_type::dim;
47 :
m_mesh(mesh),
fes(*mesh.GetNodalFESpace()),
Nodes(*mesh.GetNodes()),
50 MFEM_STATIC_ASSERT(
space_dim != 0,
"dynamic space dim is not allowed");
59 for (
int i = 0; i < mesh.
GetNE(); i++)
68 if (!mesh.
GetNodes()) {
return false; }
69 return FESpace::template VectorMatches<nodeLayout>(
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
Class for grid function - Vector with associated FE space.
const FiniteElementSpace * GetNodalFESpace() const
int GetNE() const
Returns number of elements.
int Dimension() const
Dimension of the reference space used within the elements.
int SpaceDimension() const
Dimension of the physical space containing the mesh.
void GetNodes(Vector &node_coord) const
Geometry::Type GetElementBaseGeometry(int i) const
nodeLayout nodeLayout_type
static bool Matches(const Mesh &mesh)
const FiniteElementSpace & fes
static bool MatchesNodes(const Mesh &mesh)
static const int space_dim
const GridFunction & Nodes
static bool MatchesGeometry(const Mesh &mesh)