12#ifndef BELFEM_PETSCTOOLS_HPP
13#define BELFEM_PETSCTOOLS_HPP
24class Vec {
public:
Vec() = default ;
~Vec() = default ; };
27class Mat {
public:
Mat() = default ;
~Mat() = default ; };
30class PC {
public:
PC() = default ;
~PC() = default ; };
33class KSP {
public:
KSP() = default ;
~KSP() = default ; };
54 typedef DistMatrixAIJ< PetscInt >
PETScAIJ ;
85 const Vector <PetscReal> & aVector,
86 const Vector <PetscInt> & aIndices,
103 const Vector <PetscInt> & aIndices,
#define COMM_TYPE
Definition cl_Communicator.hpp:20
Definition petsctools.hpp:27
Definition petsctools.hpp:24
Sparse matrix in CSR or CSC format.
Definition cl_SpMatrix.hpp:52
Column vector.
Definition cl_BZ_Vector.hpp:41
void PETScAIJ
Definition petsctools.hpp:56
USER GUIDES:
Definition cl_Capacitor.cpp:16
PetscErrorCode petsctools_notify_matrix_update(Mat &aMat)
Definition petsctools.cpp:444
PetscErrorCode petsctools_get_vector(Vec &aVec, const Vector< PetscInt > &aIndices, Vector< PetscReal > &aVector)
convert a PETSC vector to a BELFEM vector
Definition petsctools.cpp:209
PetscErrorCode petsctools_link_matrix(COMM_TYPE aComm, SpMatrix &aMatrix, Mat &aMat)
Definition petsctools.cpp:397
PetscErrorCode petsctools_set_local_vector(const Vector< PetscReal > &aVector, Vec &aVec)
Set the local portion of a distributed PETSC vector from a BELFEM vector.
Definition petsctools.cpp:268
PetscErrorCode petsctools_set_vector(const Vector< PetscReal > &aVector, const Vector< PetscInt > &aIndices, Vec &aVec)
convert a BELFEM vector to a PETSC vector aVac must have been initialized.
Definition petsctools.cpp:165
PetscErrorCode petsctools_update_matrix(sparse::PETScAIJ *aDistMatrix, Mat &aMat)
Definition petsctools.cpp:355
PetscErrorCode petsctools_get_local_vector(Vec &aVec, Vector< PetscReal > &aVector)
Extract the local portion of a distributed PETSC vector to a BELFEM vector.
Definition petsctools.cpp:232
string petsctools_error_message(const PetscErrorCode aStatus)
Definition petsctools.cpp:19
PetscErrorCode petsctools_allocate_vector(MPI_Comm aComm, Vec &aVec, const PetscInt aGlobalLength, const PetscInt aLocalLength)
Definition petsctools.cpp:121
PetscErrorCode petsctools_create_matrix(sparse::PETScAIJ *aDistMatrix, Mat &aMat)
Definition petsctools.cpp:304