|
Tpetra parallel linear algebra
Version of the Day
|
42 #ifndef TPETRA_BLOCKVECTOR_DECL_HPP
43 #define TPETRA_BLOCKVECTOR_DECL_HPP
46 #include "Tpetra_BlockMultiVector.hpp"
47 #include "Tpetra_Vector.hpp"
76 template<
class Scalar,
83 typedef Teuchos::ScalarTraits<Scalar> STS;
126 Kokkos::MemoryTraits<Kokkos::Unmanaged> >
136 Kokkos::MemoryTraits<Kokkos::Unmanaged> >
165 const Teuchos::DataAccess copyOrView);
246 const size_t offset = 0);
254 const size_t offset = 0);
362 #endif // TPETRA_BLOCKMULTIVECTOR_DECL_HPP
bool sumIntoGlobalValues(const GO globalRowIndex, const Scalar vals[]) const
Sum into all values at the given mesh point, using a global index.
little_vec_type getLocalBlock(const LO localRowIndex) const
Get a view of the degrees of freedom at the given mesh point, using a local index.
LO local_ordinal_type
The type of local indices.
GO global_ordinal_type
The type of global indices.
base_type::node_type node_type
The Kokkos Node type.
base_type::global_ordinal_type global_ordinal_type
The type of global indices.
bool replaceLocalValues(const LO localRowIndex, const Scalar vals[]) const
Replace all values at the given mesh point, using a local index.
bool sumIntoLocalValues(const LO localRowIndex, const Scalar vals[]) const
Sum into all values at the given mesh point, using a local index.
Kokkos::View< impl_scalar_type *, Kokkos::LayoutRight, device_type, Kokkos::MemoryTraits< Kokkos::Unmanaged > > little_vec_type
"Block view" of all degrees of freedom at a mesh point.
bool replaceGlobalValues(const GO globalRowIndex, const Scalar vals[]) const
Replace all values at the given mesh point, using a global index.
Kokkos::View< impl_scalar_type *, Kokkos::LayoutRight, device_type, Kokkos::MemoryTraits< Kokkos::Unmanaged > > little_vec_type
"Block view" of all degrees of freedom at a mesh point, for a single column of the MultiVector.
typename mv_type::impl_scalar_type impl_scalar_type
The implementation type of entries in the object.
base_type::scalar_type scalar_type
The type of entries in the vector.
A distributed dense vector.
Tpetra::Vector< Scalar, LO, GO, Node > vec_type
The specialization of Tpetra::Vector that this class uses.
Scalar scalar_type
The type of entries in the object.
bool getLocalRowView(const LO localRowIndex, Scalar *&vals) const
Get a writeable view of the entries at the given mesh point, using a local index.
BlockVector< Scalar, LO, GO, Node > & operator=(const BlockVector< Scalar, LO, GO, Node > &)=default
Copy assigment (shallow copy).
base_type::local_ordinal_type local_ordinal_type
The type of local indices.
vec_type getVectorView()
Get a Tpetra::Vector that views this BlockVector's data.
BlockVector()
Default constructor.
Tpetra::MultiVector< Scalar, LO, GO, Node > mv_type
The specialization of Tpetra::MultiVector that this class uses.
Tpetra::Map< LO, GO, Node > map_type
The specialization of Tpetra::Map that this class uses.
Node::device_type device_type
The Kokkos Device type.
Vector for multiple degrees of freedom per mesh point.
Namespace Tpetra contains the class and methods constituting the Tpetra library.
MultiVector for multiple degrees of freedom per mesh point.
Node node_type
The Kokkos Node type; a legacy thing that will go away at some point.
bool getGlobalRowView(const GO globalRowIndex, Scalar *&vals) const
Get a writeable view of the entries at the given mesh point, using a global index.
BlockVector(const BlockVector< Scalar, LO, GO, Node > &)=default
Copy constructor (shallow copy).
BlockVector(BlockVector< Scalar, LO, GO, Node > &&)=default
Move constructor (shallow move).
base_type::impl_scalar_type impl_scalar_type
The implementation type of entries in the vector.
Forward declaration of Tpetra::BlockVector.
Kokkos::View< const impl_scalar_type *, Kokkos::LayoutRight, device_type, Kokkos::MemoryTraits< Kokkos::Unmanaged > > const_little_vec_type
"Const block view" of all degrees of freedom at a mesh point.