OGS
GlobalMatrixVectorTypes.h
Go to the documentation of this file.
1
11#pragma once
12
13#include "SparsityPattern.h"
14
15//
16// Global vector/matrix types and linear solver.
17//
18#if defined(USE_LIS)
19
22
25
26#elif defined(USE_PETSC)
29
32
33#else
36
39
40#endif
41
44static_assert(std::is_integral_v<GlobalMatrix::IndexType>,
45 "The index type for global matrices is not an integral type.");
46static_assert(std::is_integral_v<GlobalVector::IndexType>,
47 "The index type for global vectors is not an integral type.");
48static_assert(std::is_same_v<GlobalMatrix::IndexType, GlobalVector::IndexType>,
49 "The global matrix and vector index types do not match.");
50// Both types are integral types and equal, define a single GlobalIndexType.
52
MathLib::SparsityPattern< GlobalIndexType > GlobalSparsityPattern
GlobalMatrix::IndexType GlobalIndexType
Declaration of class PETScMatrix, which provides an interface to PETSc matrix routines.
Declaration of class PETScVector, which provides an interface to PETSc vector routines.
RawMatrixType::Index IndexType
Definition EigenMatrix.h:31
Global vector based on Eigen vector.
Definition EigenVector.h:25
Wrapper class for PETSc matrix routines for matrix.
Definition PETScMatrix.h:32
Wrapper class for PETSc vector.
Definition PETScVector.h:33
std::vector< IndexType > SparsityPattern
A vector telling how many nonzeros there are in each global matrix row.