OGS
UnifiedMatrixSetters.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4// TODO merge that with MatrixVectorTraits?
5
6#pragma once
7
8#include <Eigen/Core>
9#include <initializer_list>
10
11#include "MatrixVectorTraits.h"
12
13#ifdef USE_PETSC
14
15// Global PETScMatrix/PETScVector //////////////////////////////////////////
16namespace MathLib
17{
18
19class PETScVector;
20class PETScMatrix;
21
22void setVector(PETScVector& v, std::initializer_list<double> values);
23
26 double const value);
27
28void setMatrix(PETScMatrix& m, Eigen::MatrixXd const& tmp);
29
30void addToMatrix(PETScMatrix& m, std::initializer_list<double> values);
31
32void setMatrix(PETScMatrix& m, std::initializer_list<double> values);
33
34} // namespace MathLib
35
36#else
37
38// Sparse global EigenMatrix/EigenVector
39// //////////////////////////////////////////
40
41namespace MathLib
42{
43
44class EigenVector;
45class EigenMatrix;
46
47void setVector(EigenVector& v, std::initializer_list<double> values);
48
51 double const value);
52
53void setMatrix(EigenMatrix& m, std::initializer_list<double> values);
54
55void setMatrix(EigenMatrix& m, Eigen::MatrixXd const& tmp);
56
57void addToMatrix(EigenMatrix& m, std::initializer_list<double> values);
58
59} // namespace MathLib
60
61#endif
Global vector based on Eigen vector.
Definition EigenVector.h:19
Wrapper class for PETSc matrix routines for matrix.
Definition PETScMatrix.h:21
Wrapper class for PETSc vector.
Definition PETScVector.h:28
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)