|
| Vector (std::shared_ptr< const common::IndexMap > map, int bs) |
| Create a distributed vector.
|
|
| Vector (const Vector &x) |
| Copy constructor.
|
|
| Vector (Vector &&x) |
| Move constructor.
|
|
Vector & | operator= (const Vector &x)=delete |
|
Vector & | operator= (Vector &&x)=default |
| Move Assignment operator.
|
|
void | set (value_type v) |
| Set all entries (including ghosts)
|
|
void | scatter_fwd_begin () |
| Begin scatter of local data from owner to ghosts on other ranks.
|
|
void | scatter_fwd_end () |
| End scatter of local data from owner to ghosts on other ranks.
|
|
void | scatter_fwd () |
| Scatter local data to ghost positions on other ranks.
|
|
void | scatter_rev_begin () |
| Start scatter of ghost data to owner.
|
|
template<class BinaryOperation > |
void | scatter_rev_end (BinaryOperation op) |
| End scatter of ghost data to owner. This process may receive data from more than one process, and the received data can be summed or inserted into the local portion of the vector.
|
|
template<class BinaryOperation > |
void | scatter_rev (BinaryOperation op) |
| Scatter ghost data to owner. This process may receive data from more than one process, and the received data can be summed or inserted into the local portion of the vector.
|
|
std::shared_ptr< const common::IndexMap > | index_map () const |
| Get IndexMap.
|
|
constexpr int | bs () const |
| Get block size.
|
|
std::span< const value_type > | array () const |
| Get local part of the vector (const version)
|
|
std::span< value_type > | mutable_array () |
| Get local part of the vector.
|
|
template<typename T, typename Container = std::vector<T>>
class dolfinx::la::Vector< T, Container >
Distributed vector.
- Template Parameters
-
T | Scalar type |
Container | data container type |
template<typename T , typename Container = std::vector<T>>
template<class BinaryOperation >
void scatter_rev |
( |
BinaryOperation |
op | ) |
|
|
inline |
Scatter ghost data to owner. This process may receive data from more than one process, and the received data can be summed or inserted into the local portion of the vector.
- Parameters
-
op | IndexMap operation (add or insert) |
- Note
- Collective MPI operation
template<typename T , typename Container = std::vector<T>>
template<class BinaryOperation >
void scatter_rev_end |
( |
BinaryOperation |
op | ) |
|
|
inline |
End scatter of ghost data to owner. This process may receive data from more than one process, and the received data can be summed or inserted into the local portion of the vector.
- Parameters
-
op | The operation to perform when adding/setting received values (add or insert) |
- Note
- Collective MPI operation