10 #include <dolfinx/common/IndexMap.h>
23 Vector(
const std::shared_ptr<const common::IndexMap>&
map) : _map(
map)
26 const std::int32_t local_size
27 =
map->block_size() * (
map->size_local() +
map->num_ghosts());
28 _x.resize(local_size);
47 std::shared_ptr<const common::IndexMap>
map()
const {
return _map; }
50 const Eigen::Matrix<T, Eigen::Dynamic, 1>&
array()
const {
return _x; }
53 Eigen::Matrix<T, Eigen::Dynamic, 1>&
array() {
return _x; }
57 std::shared_ptr<const common::IndexMap> _map;
60 Eigen::Matrix<T, Eigen::Dynamic, 1> _x;
Distributed vector.
Definition: Vector.h:20
Vector(Vector &&x) noexcept=default
Move constructor.
Vector(const std::shared_ptr< const common::IndexMap > &map)
Create vector.
Definition: Vector.h:23
std::shared_ptr< const common::IndexMap > map() const
Get local part of the vector (const version)
Definition: Vector.h:47
Vector(const Vector &x)=default
Copy constructor.
~Vector()=default
Destructor.
const Eigen::Matrix< T, Eigen::Dynamic, 1 > & array() const
Get local part of the vector (const version)
Definition: Vector.h:50
Vector & operator=(Vector &&x)=default
Move Assignment operator.
Eigen::Matrix< T, Eigen::Dynamic, 1 > & array()
Get local part of the vector.
Definition: Vector.h:53
Linear algebra interface.
Definition: DiscreteOperators.h:20