G+Smo  25.01.0
Geometry + Simulation Modules
 
Loading...
Searching...
No Matches
Vector.h
Go to the documentation of this file.
1
14#pragma once
15
18
20
21namespace gismo
22{
23
24namespace trilinos
25{
26
27
28class VectorPrivate;
29
30class GISMO_EXPORT Vector
31{
32public:
33
34 Vector();
35
36 explicit Vector(const SparseMatrix & _map);
37
38 Vector(const gsVector<real_t> & gsVec, const SparseMatrix & _map, const int rank = 0);
39
40 explicit Vector(Epetra_Vector * v_ptr);
41
42 ~Vector();
43
44 size_t size() const;
45
46 size_t mySize() const;
47
48 void setConstant(const double val);
49
50 void setFrom(const SparseMatrix & _map);
51
52 void copyTo(gsVector<real_t> & gsVec, const int rank = 0) const;
53
54 void copyTo(gsMatrix<real_t> & gsVec, const int = 0) const
55 {
56 gsVector<real_t> tmp;
57 copyTo(tmp);
58 tmp.swap(gsVec);
59 }
60
61 Epetra_MultiVector * get() const;
62
63 Teuchos::RCP<Epetra_MultiVector> getRCP() const;
64
65 void print() const;
66
67private:
68 Vector(const Vector& other);
69 Vector& operator=(const Vector& other);
70
71private:
72
73 VectorPrivate * my;
74};
75
76
77}//namespace trilinos
78
79}// namespace gismo
Wrapper for Trilinos/Epetra operators.
Provides forward declarations of types and structs.
This is the main header file that collects wrappers of Eigen for linear algebra.
The G+Smo namespace, containing all definitions for the library.