A derived class to create a simple DOF_Manager. More...
#include <simpleDOF_Manager.h>

Public Member Functions | |
| size_t | appendDOFs (const AMP::Mesh::MeshElementID &id, size_t *dofs, size_t index, size_t capacity) const override |
| virtual size_t | beginDOF () const |
| The first D.O.F. on this core. | |
| std::string | className () const override |
| Return a string with the mesh class name. | |
| 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. | |
| int | getDOFsPerPoint () const override |
| Get the number of DOFs per element. | |
| std::unique_ptr< AMP::Mesh::MeshElement > | getElement (size_t dof) const override |
| Get the mesh element for a DOF. | |
| AMP::Mesh::MeshElementID | getElementID (size_t dof) const override |
| Get the mesh element ID for a DOF. | |
| uint64_t | getID () const |
| Get a unique id hash. | |
| AMP::Mesh::MeshIterator | getIterator () const override |
| 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. | |
| std::shared_ptr< const AMP::Mesh::Mesh > | getMesh () const override |
| Get the underlying mesh. | |
| std::vector< size_t > | getRemoteDOFs () const override |
| 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. | |
| 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. | |
| 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. | |
| void | registerChildObjects (AMP::IO::RestartManager *manager) const override |
| 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 |
| simpleDOFManager (int64_t, AMP::IO::RestartManager *) | |
| simpleDOFManager (std::shared_ptr< const AMP::Mesh::Mesh > mesh, const AMP::Mesh::MeshIterator &local, const AMP::Mesh::MeshIterator &ghost, AMP::Mesh::GeomType type, int DOFsPerElement) | |
| Create a new DOF manager object. | |
| 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. | |
| std::shared_ptr< DOFManager > | subset (const std::shared_ptr< const AMP::Mesh::Mesh > mesh, bool useMeshComm=true) override |
| Subset the DOF Manager for a mesh. | |
| void | writeRestart (int64_t) const override |
| Write restart data to file. | |
| virtual | ~simpleDOFManager () |
| Destructor. | |
Static Public Member Functions | |
| static std::shared_ptr< DOFManager > | create (const AMP::Mesh::MeshIterator &it, int DOFsPerElement) |
| Create a new DOF manager object. | |
| static std::shared_ptr< DOFManager > | create (std::shared_ptr< const AMP::Mesh::Mesh > mesh, AMP::Mesh::GeomType type, int gcw, int DOFsPerElement, bool split=true) |
| Create a new DOF manager object. | |
| static std::shared_ptr< DOFManager > | create (std::shared_ptr< const AMP::Mesh::Mesh > mesh, const AMP::Mesh::MeshIterator &ghost, const AMP::Mesh::MeshIterator &local, int DOFsPerElement) |
| Create a new DOF manager object. | |
Protected Member Functions | |
| std::vector< size_t > | getRemoteDOF (const std::vector< AMP::Mesh::MeshElementID > &ids) const |
| void | initialize () |
| simpleDOFManager ()=delete | |
Protected Attributes | |
| std::vector< AMP::Mesh::MeshID > | d_baseMeshIDs |
| 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. | |
| uint8_t | d_DOFsPerElement = 0 |
| size_t | d_end = 0 |
| AMP::Mesh::MeshIterator | d_ghostIterator |
| size_t | d_global = 0 |
| bool | d_isBaseMesh = false |
| std::vector< AMP::Mesh::MeshElementID > | d_local_id |
| AMP::Mesh::MeshIterator | d_localIterator |
| std::vector< size_t > | d_localSize |
| std::shared_ptr< const AMP::Mesh::Mesh > | d_mesh |
| AMP::Mesh::MeshID | d_meshID |
| std::vector< size_t > | d_remote_dof |
| std::vector< AMP::Mesh::MeshElementID > | d_remote_id |
| std::vector< size_t > | d_remoteDOFs |
| The remote dofs (if cached) | |
| AMP::Mesh::GeomType | d_type = AMP::Mesh::GeomType::Nullity |
| std::shared_ptr< DOFManagerParameters > | params |
| The DOF manager parameters. | |
| std::weak_ptr< AMP::Discretization::DOFManager > | weak_ptr_ |
A derived class to create a simple DOF_Manager.
This derived class implements a concrete DOF_Manager for creating Vectors over a mesh on a particular mesh entity. For example it can create a NodalVector over the entire Mesh. Note: this class will be replaced by a more complete Discretization interface.
Definition at line 21 of file simpleDOF_Manager.h.
| AMP::Discretization::simpleDOFManager::simpleDOFManager | ( | std::shared_ptr< const AMP::Mesh::Mesh > | mesh, |
| const AMP::Mesh::MeshIterator & | local, | ||
| const AMP::Mesh::MeshIterator & | ghost, | ||
| AMP::Mesh::GeomType | type, | ||
| int | DOFsPerElement | ||
| ) |
Create a new DOF manager object.
This is the standard constructor for creating a new DOF manager object.
| mesh | Mesh over which we want to construct the DOF map |
| local | Local iterator |
| ghost | Ghost iterator |
| type | The geometric entity type for the DOF map |
| DOFsPerElement | The desired number of DOFs per element |
|
virtual |
Destructor.
| AMP::Discretization::simpleDOFManager::simpleDOFManager | ( | int64_t | , |
| AMP::IO::RestartManager * | |||
| ) |
|
protecteddelete |
|
overridevirtual |
Reimplemented from AMP::Discretization::DOFManager.
|
virtualinherited |
The first D.O.F. on this core.
|
inlineoverridevirtual |
Return a string with the mesh class name.
Reimplemented from AMP::Discretization::DOFManager.
Definition at line 89 of file simpleDOF_Manager.h.
|
static |
Create a new DOF manager object.
This is will create a new simpleDOFManager from a mesh iterator on the local processor only (no remote DOFs).
| it | The iterator over the elements (no ghost cells) |
| DOFsPerElement | The desired number of DOFs pere element |
|
static |
Create a new DOF manager object.
This is the standard constructor for creating a new DOF manager object.
| mesh | Mesh over which we want to construct the DOF map |
| type | The geometric entity type for the DOF map |
| gcw | The desired ghost width |
| DOFsPerElement | The desired number of DOFs per element |
| split | Do we want to split the DOFManager by the meshes returning a multiDOFManager |
|
static |
Create a new DOF manager object.
This is will create a new simpleDOFManager from a mesh iterator
| mesh | Mesh over which the iterators are defined |
| ghost | Ghost iterator |
| local | Local iterator |
| DOFsPerElement | The desired number of DOFs per element |
|
virtualinherited |
One past the last D.O.F. on this core.
|
inlineinherited |
Get the comm for the DOFManger.
Definition at line 168 of file DOF_Manager.h.
References AMP::Discretization::DOFManager::d_comm.
|
inherited |
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 |
|
inherited |
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 |
|
inherited |
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 |
|
overridevirtual |
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 from AMP::Discretization::DOFManager.
|
overridevirtual |
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 from AMP::Discretization::DOFManager.
|
overridevirtual |
Get the mesh element ID for a DOF.
This will return the mesh element id associated with a given DOF.
| [in] | dof | The entry in the vector associated with DOF |
Reimplemented from AMP::Discretization::DOFManager.
|
inherited |
Get a unique id hash.
|
overridevirtual |
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 eaxample, a NodalVectorDOF would have 3 DOFs stored at each node, and would return an iterator over all the nodes.
Reimplemented from AMP::Discretization::DOFManager.
|
virtualinherited |
The local number of D.O.F on each rank.
Reimplemented in AMP::Discretization::multiDOFManager, and AMP::Discretization::subsetCommSelfDOFManager.
|
overridevirtual |
Get the underlying mesh.
This will return the mesh(es) that underly the DOF manager (if they exist)
Reimplemented from AMP::Discretization::DOFManager.
|
protected |
|
overridevirtual |
Get the remote DOFs for a vector.
Reimplemented from AMP::Discretization::DOFManager.
| 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 from AMP::Discretization::DOFManager.
|
overridevirtual |
Get the row DOFs given a mesh element.
Reimplemented from AMP::Discretization::DOFManager.
|
protected |
|
virtualinherited |
The global number of D.O.F.
|
virtualinherited |
The local number of D.O.F.
|
inherited |
Inverse of ==.
This function performs an equality check and negates it. Hence, it is not virtual
| rhs | DOFManager to compare |
|
virtualinherited |
Compares two DOFManager for equality.
This operation compares two DOF managers to see if they are equivalent
| rhs | DOFManager to compare |
|
overridevirtual |
Register any child objects.
This function will register child objects with the manager
| manager | Restart manager |
Reimplemented from AMP::Discretization::DOFManager.
|
inlinevirtualinherited |
Definition at line 174 of file DOF_Manager.h.
References AMP::Discretization::DOFManager::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 from AMP::Discretization::DOFManager.
|
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 from AMP::Discretization::DOFManager.
|
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 from AMP::Discretization::DOFManager.
|
overridevirtual |
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 from AMP::Discretization::DOFManager.
|
overridevirtual |
Write restart data to file.
This function will write the mesh to an HDF5 file
| fid | File identifier to write |
Reimplemented from AMP::Discretization::DOFManager.
|
protected |
Definition at line 183 of file simpleDOF_Manager.h.
|
protectedinherited |
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().
|
protectedinherited |
The comm for this DOFManager.
Definition at line 267 of file DOF_Manager.h.
Referenced by AMP::Discretization::DOFManager::getComm().
|
protected |
Definition at line 180 of file simpleDOF_Manager.h.
|
protectedinherited |
Definition at line 260 of file DOF_Manager.h.
Referenced by AMP::Discretization::subsetCommSelfDOFManager::getLocalSizes().
|
protected |
Definition at line 185 of file simpleDOF_Manager.h.
|
protectedinherited |
Definition at line 260 of file DOF_Manager.h.
|
protected |
Definition at line 178 of file simpleDOF_Manager.h.
|
protected |
Definition at line 186 of file simpleDOF_Manager.h.
|
protected |
Definition at line 184 of file simpleDOF_Manager.h.
|
mutableprotectedinherited |
Definition at line 261 of file DOF_Manager.h.
|
protected |
Definition at line 181 of file simpleDOF_Manager.h.
|
protected |
Definition at line 182 of file simpleDOF_Manager.h.
|
protected |
Definition at line 188 of file simpleDOF_Manager.h.
|
protected |
Definition at line 187 of file simpleDOF_Manager.h.
|
protectedinherited |
The remote dofs (if cached)
Definition at line 264 of file DOF_Manager.h.
Referenced by AMP::Discretization::DOFManager::replaceRemoteDOFs().
|
protected |
Definition at line 179 of file simpleDOF_Manager.h.
|
protectedinherited |
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 |