|
DOLFINx
DOLFINx C++ interface
|
Distributed vector. More...
#include <Vector.h>
Public Types | |
| using | value_type = T |
| The value type. | |
| using | allocator_type = Allocator |
| The allocator type. | |
Public Member Functions | |
| Vector (std::shared_ptr< const common::IndexMap > map, int bs, const Allocator &alloc=Allocator()) | |
| 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 (T 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 > | map () const |
| Get IndexMap. | |
| constexpr int | bs () const |
| Get block size. | |
| std::span< const T > | array () const |
| Get local part of the vector (const version) | |
| std::span< T > | mutable_array () |
| Get local part of the vector. | |
| constexpr allocator_type | allocator () const |
| Get the allocator associated with the container. | |
Distributed vector.
Scatter local data to ghost positions on other ranks.
Begin scatter of local data from owner to ghosts on other ranks.
End scatter of local data from owner to ghosts on other ranks.
|
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.
| op | IndexMap operation (add or insert) |
Start scatter of ghost data to owner.
|
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.
| op | The operation to perform when adding/setting received values (add or insert) |
Set all entries (including ghosts)
| [in] | v | The value to set all entries to (on calling rank) |