OGS
UnifiedMatrixSetters.h
Go to the documentation of this file.
1
11// TODO merge that with MatrixVectorTraits?
12
13#pragma once
14
15#include <initializer_list>
16#include <Eigen/Core>
17#include "MatrixVectorTraits.h"
18
19#ifdef USE_PETSC
20
21// Global PETScMatrix/PETScVector //////////////////////////////////////////
22namespace MathLib
23{
24
25class PETScVector;
26class PETScMatrix;
27
28void setVector(PETScVector& v,
29 std::initializer_list<double> values);
30
31void setVector(PETScVector& v, MatrixVectorTraits<PETScVector>::Index const index,
32 double const value);
33
34void setMatrix(PETScMatrix& m, Eigen::MatrixXd const& tmp);
35
36void addToMatrix(PETScMatrix& m,
37 std::initializer_list<double> values);
38
39void setMatrix(PETScMatrix& m,
40 std::initializer_list<double> values);
41
42} // namespace MathLib
43
44
45#else
46
47// Sparse global EigenMatrix/EigenVector //////////////////////////////////////////
48
49namespace MathLib
50{
51
52class EigenVector;
53class EigenMatrix;
54
55void setVector(EigenVector& v,
56 std::initializer_list<double> values);
57
58void setVector(EigenVector& v, MatrixVectorTraits<EigenVector>::Index const index,
59 double const value);
60
61void setMatrix(EigenMatrix& m,
62 std::initializer_list<double> values);
63
64void setMatrix(EigenMatrix& m, Eigen::MatrixXd const& tmp);
65
66void addToMatrix(EigenMatrix& m,
67 std::initializer_list<double> values);
68
69} // namespace MathLib
70
71#endif
void addToMatrix(PETScMatrix &m, std::initializer_list< double > values)
void setVector(PETScVector &v, std::initializer_list< double > values)
static const double v
void setMatrix(PETScMatrix &m, std::initializer_list< double > values)