1#ifndef included_AMP_boxMeshDOFManager
2#define included_AMP_boxMeshDOFManager
4#include "AMP/discretization/simpleDOF_Manager.h"
5#include "AMP/mesh/structured/BoxMesh.h"
50 bool sort =
true )
const override;
57 size_t capacity )
const override;
75 std::shared_ptr<const AMP::Mesh::BoxMesh>
d_boxMesh;
76 std::vector<std::array<AMP::Mesh::BoxMesh::MeshElementIndex, 3>>
d_ifirst;
77 std::vector<std::array<std::array<int, 3>, 3>>
d_boxSize;
Simple class to store the array dimensions.
std::vector< size_t > getRowDOFs(const AMP::Mesh::MeshElementID &id) const
Get the row DOFs given a mesh element.
A derived class to create a simple DOF manager on a box mesh.
std::shared_ptr< const AMP::Mesh::BoxMesh > d_boxMesh
size_t convert(const AMP::Mesh::MeshElementID &) const
std::vector< size_t > d_start
boxMeshDOFManager()=delete
auto getBoxMesh() const
Get the underlying box mesh.
size_t appendDOFs(const AMP::Mesh::MeshElementID &id, size_t *dofs, size_t index, size_t capacity) const override
std::vector< std::array< std::array< int, 3 >, 3 > > d_boxSize
size_t getRowDOFs(const AMP::Mesh::MeshElementID &id, size_t *dofs, size_t N_alloc, bool sort=true) const override
Get the row DOFs given a mesh element.
boxMeshDOFManager(std::shared_ptr< const AMP::Mesh::Mesh > mesh, AMP::Mesh::GeomType type, int gcw, int DOFsPerElement)
Create a new DOF manager object.
virtual ~boxMeshDOFManager()=default
Destructor.
ArraySize getArraySize() const
Get the array size for the local variables.
std::vector< std::array< AMP::Mesh::BoxMesh::MeshElementIndex, 3 > > d_ifirst
AMP::Mesh::MeshElementID convert(size_t) const
size_t convert(const AMP::Mesh::BoxMesh::MeshElementIndex &, int) const
A derived class to create a simple DOF_Manager.
Structure to uniquely identify an element.
GeomType
Enumeration for basic mesh-based quantities.
A structure used to identify the mesh element.