Advanced Multi-Physics (AMP)
On-Line Documentation
boxMeshDOFManager.h
Go to the documentation of this file.
1#ifndef included_AMP_boxMeshDOFManager
2#define included_AMP_boxMeshDOFManager
3
4#include "AMP/discretization/simpleDOF_Manager.h"
5#include "AMP/mesh/structured/BoxMesh.h"
6
7
9
10
18{
19public:
29 boxMeshDOFManager( std::shared_ptr<const AMP::Mesh::Mesh> mesh,
31 int gcw,
32 int DOFsPerElement );
33
34
36 virtual ~boxMeshDOFManager() = default;
37
39 auto getBoxMesh() const { return d_boxMesh; }
40
43
44
45public: // Advanced interfaces
48 size_t *dofs,
49 size_t N_alloc,
50 bool sort = true ) const override;
52
53 // Append DOFs to the list
55 size_t *dofs,
56 size_t index,
57 size_t capacity ) const override;
58
59private:
60 // Private constructor
62
63 // Convert a MeshElementID to a DOF index
64 size_t convert( const AMP::Mesh::MeshElementID & ) const;
65
66 // Convert a MeshElementIndex to a DOF index
67 size_t convert( const AMP::Mesh::BoxMesh::MeshElementIndex &, int ) const;
68
69 // Convert a DOF index to a MeshElementID
71
72private: // Data
73 int d_gcw;
74 int d_rank;
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;
78 std::vector<size_t> d_start;
79};
80
81} // namespace AMP::Discretization
82
83#endif
Simple class to store the array dimensions.
Definition ArraySize.h:138
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
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.
Definition BoxMesh.h:109
GeomType
Enumeration for basic mesh-based quantities.
Definition MeshID.h:12
A structure used to identify the mesh element.
Definition MeshID.h:156



Advanced Multi-Physics (AMP)
Oak Ridge National Laboratory
Idaho National Laboratory
Los Alamos National Laboratory
This page automatically produced from the
source code by doxygen
Last updated: Tue Mar 10 2026 13:06:40.
Comments on this page