1#ifndef included_AMP_MultiDOFHelper
2#define included_AMP_MultiDOFHelper
4#include "AMP/discretization/DOF_Manager.h"
5#include "AMP/utils/Array.h"
42 std::vector<size_t>
getSubDOF(
const int manager,
const std::vector<size_t> &globalDOFs )
const;
48 std::vector<size_t>
getGlobalDOF(
const int manager,
const std::vector<size_t> &subDOFs )
const;
Provides C++ wrapper around MPI routines.
A class to manage mapping multiple DOFs to global indicies.
const std::vector< size_t > & getLocalSize() const
multiDOFHelper(const std::vector< AMP::LinearAlgebra::VectorData * > &data, const AMP::AMP_MPI &comm)
std::vector< size_t > d_begin
void initialize(const AMP::AMP_MPI &comm, const AMP::Array< size_t > &data)
std::vector< size_t > getSubDOF(const int manager, const std::vector< size_t > &globalDOFs) const
Convert the local to global dof.
AMP::Array< size_t > d_localOffset
std::vector< size_t > getGlobalDOF(const int manager, const std::vector< size_t > &subDOFs) const
Convert the global to local dof.
multiDOFHelper & operator=(multiDOFHelper &&)=default
AMP::Array< size_t > d_localSize
std::vector< size_t > d_index
multiDOFHelper(multiDOFHelper &&)=default
std::vector< size_t > d_local
std::pair< size_t, int > globalToSub(size_t dof) const
Convert the global to local dof.
void initialize(int rank, std::vector< size_t > &&data)
size_t subToGlobal(int manager, size_t dof) const
Convert the local to global dof.
std::vector< size_t > d_globalSize
multiDOFHelper(const multiDOFHelper &)
AMP::Array< size_t > d_globalOffset
multiDOFHelper(const DOFManager &manager)
multiDOFHelper(const std::vector< std::shared_ptr< DOFManager > > &managers, const AMP::AMP_MPI &comm)
multiDOFHelper(const AMP::LinearAlgebra::VectorData &data)
void writeHDF5(size_t) const
A class used to hold vector data.