12 #ifndef MFEM_TEMPLATE_MESH 13 #define MFEM_TEMPLATE_MESH 15 #include "../config/tconfig.hpp" 16 #include "../linalg/tlayout.hpp" 23 template <
typename FESpace,
25 VectorLayout<Ordering::byNODES,FESpace::FE_type::dim> >
30 typedef typename FESpace::FE_type
FE_type;
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>(
81 #endif // MFEM_TEMPLATE_MESH
const FiniteElementSpace * GetNodalFESpace() const
Class for grid function - Vector with associated FE space.
Geometry::Type GetElementBaseGeometry(int i) const
int Dimension() const
Dimension of the reference space used within the elements.
static const int space_dim
const FiniteElementSpace & fes
nodeLayout nodeLayout_type
const GridFunction & Nodes
static bool Matches(const Mesh &mesh)
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
int SpaceDimension() const
Dimension of the physical space containing the mesh.
int GetNE() const
Returns number of elements.
static bool MatchesGeometry(const Mesh &mesh)
void GetNodes(Vector &node_coord) const
static bool MatchesNodes(const Mesh &mesh)