#include <DOF_Manager.h>

Public Member Functions | |
| virtual size_t | appendDOFs (const AMP::Mesh::MeshElementID &id, size_t *dofs, size_t index, size_t capacity) const |
| virtual size_t | beginDOF () const |
| The first D.O.F. on this core. | |
| virtual std::string | className () const |
| Return a string with the mesh class name. | |
| DOFManager (int64_t fid, AMP::IO::RestartManager *manager) | |
| Write restart data to file. | |
| DOFManager (size_t N_local, const AMP_MPI &comm, std::vector< size_t > remoteDOFs={}) | |
| Basic constructor for DOFManager. | |
| virtual size_t | endDOF () const |
| One past the last D.O.F. on this core. | |
| const AMP_MPI & | getComm () const |
| Get the comm for the DOFManger. | |
| void | getDOFs (const AMP::Mesh::MeshElementID &id, std::vector< size_t > &dofs) const |
| Get the entry indices of DOFs given a mesh element ID. | |
| void | getDOFs (const std::vector< AMP::Mesh::MeshElementID > &ids, std::vector< size_t > &dofs) const |
| Get the entry indices of DOFs given a mesh element ID. | |
| void | getDOFs (int N_ids, const AMP::Mesh::MeshElementID *ids, std::vector< size_t > &dofs) const |
| Get the entry indices of DOFs given a mesh element ID. | |
| virtual int | getDOFsPerPoint () const |
| Get the number of DOFs per element. | |
| virtual std::unique_ptr< AMP::Mesh::MeshElement > | getElement (size_t dof) const |
| Get the mesh element for a DOF. | |
| virtual AMP::Mesh::MeshElementID | getElementID (size_t dof) const |
| Get the mesh element for a DOF. | |
| uint64_t | getID () const |
| Get a unique id hash. | |
| virtual AMP::Mesh::MeshIterator | getIterator () const |
| Get an entry over the mesh elements associated with the DOFs. | |
| virtual std::vector< size_t > | getLocalSizes () const |
| The local number of D.O.F on each rank. | |
| virtual std::shared_ptr< const AMP::Mesh::Mesh > | getMesh () const |
| Get the underlying mesh. | |
| virtual std::vector< size_t > | getRemoteDOFs () const |
| Get the remote DOFs for a vector. | |
| std::vector< size_t > | getRowDOFs (const AMP::Mesh::MeshElementID &id) const |
| Get the row DOFs given a mesh element. | |
| virtual size_t | getRowDOFs (const AMP::Mesh::MeshElementID &id, size_t *dofs, size_t N_alloc, bool sort=true) const |
| Get the row DOFs given a mesh element. | |
| virtual size_t | numGlobalDOF () const |
| The global number of D.O.F. | |
| virtual size_t | numLocalDOF () const |
| The local number of D.O.F. | |
| bool | operator!= (const DOFManager &rhs) const |
| Inverse of ==. | |
| virtual bool | operator== (const DOFManager &rhs) const |
| Compares two DOFManager for equality. | |
| virtual void | registerChildObjects (AMP::IO::RestartManager *manager) const |
| Register any child objects. | |
| virtual void | replaceRemoteDOFs (std::vector< size_t > &newRemote) |
| std::shared_ptr< AMP::Discretization::DOFManager > | shared_from_this () |
| std::shared_ptr< const AMP::Discretization::DOFManager > | shared_from_this () const |
| virtual std::shared_ptr< DOFManager > | subset (const AMP::Mesh::MeshIterator &iterator, const AMP_MPI &comm) |
| Subset the DOF Manager for a mesh element iterator. | |
| virtual std::shared_ptr< DOFManager > | subset (const AMP_MPI &comm) |
| Subset the DOF Manager for a AMP_MPI communicator. | |
| virtual std::shared_ptr< DOFManager > | subset (const std::shared_ptr< const AMP::Mesh::Mesh > mesh, bool useMeshComm=true) |
| Subset the DOF Manager for a mesh. | |
| virtual void | writeRestart (int64_t fid) const |
| Write restart data to file. | |
| virtual | ~DOFManager () |
| Deconstructor. | |
Protected Member Functions | |
| DOFManager () | |
| Empty constructor for a DOF manager object. | |
Protected Attributes | |
| size_t | d_begin = 0 |
| The begining DOF, ending DOF and number of local DOFs for this processor. | |
| AMP_MPI | d_comm |
| The comm for this DOFManager. | |
| size_t | d_end = 0 |
| size_t | d_global = 0 |
| std::vector< size_t > | d_localSize |
| std::vector< size_t > | d_remoteDOFs |
| The remote dofs (if cached) | |
| std::shared_ptr< DOFManagerParameters > | params |
| The DOF manager parameters. | |
| std::weak_ptr< AMP::Discretization::DOFManager > | weak_ptr_ |
Definition at line 27 of file DOF_Manager.h.
| AMP::Discretization::DOFManager::DOFManager | ( | size_t | N_local, |
| const AMP_MPI & | comm, | ||
| std::vector< size_t > | remoteDOFs = {} |
||
| ) |
Basic constructor for DOFManager.
This will create a very simple DOFManager with the given number of DOFs on each processor. It will not contain info to relate that to a mesh. A derived implementation should be used for more advanced features. For example see simpleDOFManager and multiDOFManager.
| [in] | N_local | The local number of DOFs |
| [in] | comm | The comm over which the DOFManager exists |
| [in] | remoteDOFs | Optional list of remote DOFs |
|
virtual |
Deconstructor.
| AMP::Discretization::DOFManager::DOFManager | ( | int64_t | fid, |
| AMP::IO::RestartManager * | manager | ||
| ) |
Write restart data to file.
This function will write the mesh to an HDF5 file
| fid | File identifier to read |
| manager | Restart manager |
|
inlineprotected |
Empty constructor for a DOF manager object.
Definition at line 254 of file DOF_Manager.h.
|
virtual |
|
virtual |
The first D.O.F. on this core.
|
virtual |
Return a string with the mesh class name.
Reimplemented in AMP::Discretization::simpleDOFManager.
|
virtual |
One past the last D.O.F. on this core.
|
inline |
| void AMP::Discretization::DOFManager::getDOFs | ( | const AMP::Mesh::MeshElementID & | id, |
| std::vector< size_t > & | dofs | ||
| ) | const |
Get the entry indices of DOFs given a mesh element ID.
This will return a vector of pointers into a Vector that are associated with which.
| [in] | id | The element ID to collect nodal objects for. Note: the mesh element may be any type (include a vertex). |
| [out] | dofs | The entries in the vector associated with D.O.F.s |
| void AMP::Discretization::DOFManager::getDOFs | ( | const std::vector< AMP::Mesh::MeshElementID > & | ids, |
| std::vector< size_t > & | dofs | ||
| ) | const |
Get the entry indices of DOFs given a mesh element ID.
This will return a vector of pointers into a Vector that are associated with which.
| [in] | ids | The element IDs to collect nodal objects for. Note: the mesh element may be any type (include a vertex). |
| [out] | dofs | The entries in the vector associated with D.O.F.s on the nodes |
| void AMP::Discretization::DOFManager::getDOFs | ( | int | N_ids, |
| const AMP::Mesh::MeshElementID * | ids, | ||
| std::vector< size_t > & | dofs | ||
| ) | const |
Get the entry indices of DOFs given a mesh element ID.
This will return a vector of pointers into a Vector that are associated with which.
| [in] | N_ids | The number of element ids |
| [in] | ids | The element IDs to collect nodal objects for. Note: the mesh element may be any type (include a vertex). |
| [out] | dofs | The entries in the vector associated with D.O.F.s on the nodes |
|
virtual |
Get the number of DOFs per element.
This will return the number of DOFs per mesh element. If some DOFs are not associated with a mesh element or if all elements do not contain the same number of DOFs than this routine will return -1.
Reimplemented in AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, and AMP::Discretization::subsetDOFManager.
|
virtual |
Get the mesh element for a DOF.
This will return the mesh element associated with a given DOF.
| [in] | dof | The entry in the vector associated with DOF |
Reimplemented in AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, and AMP::Discretization::subsetDOFManager.
|
virtual |
Get the mesh element for a DOF.
This will return the mesh element associated with a given DOF.
| [in] | dof | The entry in the vector associated with DOF |
Reimplemented in AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, and AMP::Discretization::subsetDOFManager.
| uint64_t AMP::Discretization::DOFManager::getID | ( | ) | const |
Get a unique id hash.
|
virtual |
Get an entry over the mesh elements associated with the DOFs.
This will return an iterator over the mesh elements associated with the DOFs. Each element in the iterator will have 1 or more DOFs that are associated with that element. For example, a nodal vector with 3 DOFs stored at each node would return an iterator over all the nodes with no element repeated. Note that this iterator does not contain ghost elements because there would be repeated elements between the different processors. Calling this iterator ensures that each owned element is called once regardless of the number of DOFs on that element and the number of processors that share a ghost copy.
Reimplemented in AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, and AMP::Discretization::subsetDOFManager.
|
virtual |
The local number of D.O.F on each rank.
Reimplemented in AMP::Discretization::multiDOFManager, and AMP::Discretization::subsetCommSelfDOFManager.
|
virtual |
Get the underlying mesh.
This will return the mesh(es) that underly the DOF manager (if they exist)
Reimplemented in AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, and AMP::Discretization::subsetDOFManager.
|
virtual |
Get the remote DOFs for a vector.
Reimplemented in AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, and AMP::Discretization::subsetDOFManager.
| std::vector< size_t > AMP::Discretization::DOFManager::getRowDOFs | ( | const AMP::Mesh::MeshElementID & | id | ) | const |
Get the row DOFs given a mesh element.
|
virtual |
Get the row DOFs given a mesh element.
Reimplemented in AMP::Discretization::boxMeshDOFManager, AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, AMP::Discretization::subsetDOFManager, AMP::Discretization::boxMeshDOFManager, AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, and AMP::Discretization::subsetDOFManager.
|
virtual |
The global number of D.O.F.
|
virtual |
The local number of D.O.F.
| bool AMP::Discretization::DOFManager::operator!= | ( | const DOFManager & | rhs | ) | const |
Inverse of ==.
This function performs an equality check and negates it. Hence, it is not virtual
| rhs | DOFManager to compare |
|
virtual |
Compares two DOFManager for equality.
This operation compares two DOF managers to see if they are equivalent
| rhs | DOFManager to compare |
|
virtual |
Register any child objects.
This function will register child objects with the manager
| manager | Restart manager |
Reimplemented in AMP::Discretization::simpleDOFManager.
|
inlinevirtual |
Definition at line 174 of file DOF_Manager.h.
References d_remoteDOFs.
|
inlineinherited |
Definition at line 28 of file enable_shared_from_this.h.
|
inlineinherited |
Definition at line 46 of file enable_shared_from_this.h.
|
virtual |
Subset the DOF Manager for a mesh element iterator.
This will subset a DOF manager for a given mesh element iterator. The resulting DOFManager will exist on the privided comm.
| [in] | iterator | The mesh iterator for the subset |
| [in] | comm | The desired comm |
Reimplemented in AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, AMP::Discretization::subsetDOFManager, and AMP::Discretization::multiDOFManager.
|
virtual |
Subset the DOF Manager for a AMP_MPI communicator.
This will subset a DOF manager for a given communicator.
| [in] | comm | The communicator to use to subset |
Reimplemented in AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, AMP::Discretization::subsetDOFManager, and AMP::Discretization::multiDOFManager.
|
virtual |
Subset the DOF Manager for a mesh.
This will subset a DOF manager for a particular mesh. The resulting DOFManager can exist on either the comm of the parent DOF manager, or the comm of the mesh (default).
| [in] | mesh | The mesh to use to subset |
| [in] | useMeshComm | Do we want to use the mesh comm for the new DOFManager. Note: if this is true, any processors that do not contain the mesh will return NULL. |
Reimplemented in AMP::Discretization::multiDOFManager, AMP::Discretization::simpleDOFManager, AMP::Discretization::structuredFaceDOFManager, AMP::Discretization::subsetCommSelfDOFManager, AMP::Discretization::subsetDOFManager, AMP::Discretization::multiDOFManager, and AMP::Discretization::simpleDOFManager.
|
virtual |
Write restart data to file.
This function will write the mesh to an HDF5 file
| fid | File identifier to write |
Reimplemented in AMP::Discretization::simpleDOFManager.
|
protected |
The begining DOF, ending DOF and number of local DOFs for this processor.
Definition at line 260 of file DOF_Manager.h.
Referenced by AMP::Discretization::subsetCommSelfDOFManager::getLocalSizes().
|
protected |
The comm for this DOFManager.
Definition at line 267 of file DOF_Manager.h.
Referenced by getComm().
|
protected |
Definition at line 260 of file DOF_Manager.h.
Referenced by AMP::Discretization::subsetCommSelfDOFManager::getLocalSizes().
|
protected |
Definition at line 260 of file DOF_Manager.h.
|
mutableprotected |
Definition at line 261 of file DOF_Manager.h.
|
protected |
The remote dofs (if cached)
Definition at line 264 of file DOF_Manager.h.
Referenced by replaceRemoteDOFs().
|
protected |
The DOF manager parameters.
Definition at line 257 of file DOF_Manager.h.
|
mutableprotectedinherited |
Definition at line 69 of file enable_shared_from_this.h.
|
Advanced Multi-Physics (AMP) Oak Ridge National Laboratory Idaho National Laboratory Los Alamos National Laboratory |
This page automatically produced from the source code by Last updated: Tue Mar 10 2026 13:06:42. Comments on this page |