A derived class to create a DOFManager for faces. More...
#include <structuredFaceDOFManager.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. | |
| virtual std::string | className () const |
| 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. | |
| 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 |
| structuredFaceDOFManager ()=delete | |
| Empty Constructor. | |
| structuredFaceDOFManager (std::shared_ptr< AMP::Mesh::Mesh > mesh, int DOFsPerFace[3], int gcw) | |
| 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. | |
| virtual void | writeRestart (int64_t fid) const |
| Write restart data to file. | |
| virtual | ~structuredFaceDOFManager () |
| Deconstructor. | |
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_ |
Private Member Functions | |
| std::vector< size_t > | getRemoteDOF (const std::vector< AMP::Mesh::MeshElementID > &remote_ids) const |
| void | initialize () |
Private Attributes | |
| uint8_t | d_DOFsPerFace [3] = { 0, 0, 0 } |
| uint8_t | d_gcw = 0 |
| std::vector< size_t > | d_local_dofs [3] |
| std::vector< AMP::Mesh::MeshElementID > | d_local_ids [3] |
| std::shared_ptr< AMP::Mesh::Mesh > | d_mesh |
| std::vector< size_t > | d_remote_dofs [3] |
| std::vector< AMP::Mesh::MeshElementID > | d_remote_ids [3] |
A derived class to create a DOFManager for faces.
This derived class impliments a concrete DOFManager for creating Vectors and matricies over a mesh on the faces of structured meshes. This is a specific implementation designed for rectangular 3d meshes, and will create the unknowns on the faces. Two faces are neighbors if they share an element.
Definition at line 22 of file structuredFaceDOFManager.h.
|
delete |
Empty Constructor.
| AMP::Discretization::structuredFaceDOFManager::structuredFaceDOFManager | ( | std::shared_ptr< AMP::Mesh::Mesh > | mesh, |
| int | DOFsPerFace[3], | ||
| int | gcw | ||
| ) |
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 |
| DOFsPerFace | The desired number of DOFs per face (x,y,z) |
| gcw | The desired ghost width (based on the volumes) |
|
virtual |
Deconstructor.
|
overridevirtual |
Reimplemented from AMP::Discretization::DOFManager.
|
virtualinherited |
The first D.O.F. on this core.
|
virtualinherited |
Return a string with the mesh class name.
Reimplemented in AMP::Discretization::simpleDOFManager.
|
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.
|
private |
|
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.
|
private |
|
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 |
|
virtualinherited |
Register any child objects.
This function will register child objects with the manager
| manager | Restart manager |
Reimplemented in AMP::Discretization::simpleDOFManager.
|
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.
|
virtualinherited |
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.
|
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().
|
private |
Definition at line 114 of file structuredFaceDOFManager.h.
|
protectedinherited |
Definition at line 260 of file DOF_Manager.h.
Referenced by AMP::Discretization::subsetCommSelfDOFManager::getLocalSizes().
|
private |
Definition at line 115 of file structuredFaceDOFManager.h.
|
protectedinherited |
Definition at line 260 of file DOF_Manager.h.
|
private |
Definition at line 119 of file structuredFaceDOFManager.h.
|
private |
Definition at line 117 of file structuredFaceDOFManager.h.
|
mutableprotectedinherited |
Definition at line 261 of file DOF_Manager.h.
|
private |
Definition at line 113 of file structuredFaceDOFManager.h.
|
private |
Definition at line 120 of file structuredFaceDOFManager.h.
|
private |
Definition at line 118 of file structuredFaceDOFManager.h.
|
protectedinherited |
The remote dofs (if cached)
Definition at line 264 of file DOF_Manager.h.
Referenced by AMP::Discretization::DOFManager::replaceRemoteDOFs().
|
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 |