DOLFINx
0.1.0
DOLFINx C++ interface
|
10 #include "PETScOperator.h"
18 class SparsityPattern;
19 class VectorSpaceBasis;
24 const std::string& type = std::string());
29 const VectorSpaceBasis& nullspace);
44 static std::function<int(std::int32_t,
const std::int32_t*, std::int32_t,
45 const std::int32_t*,
const PetscScalar*)>
46 set_fn(Mat A, InsertMode mode);
53 static std::function<int(std::int32_t,
const std::int32_t*, std::int32_t,
54 const std::int32_t*,
const PetscScalar*)>
65 static std::function<int(std::int32_t,
const std::int32_t*, std::int32_t,
66 const std::int32_t*,
const PetscScalar*)>
71 const std::string& type = std::string());
Norm
Norm types.
Definition: utils.h:15
static std::function< int(std::int32_t, const std::int32_t *, std::int32_t, const std::int32_t *, const PetscScalar *)> set_fn(Mat A, InsertMode mode)
Return a function with an interface for adding or inserting values into the matrix A (calls MatSetVal...
Definition: PETScMatrix.cpp:189
PETScMatrix(MPI_Comm comm, const SparsityPattern &sparsity_pattern, const std::string &type=std::string())
Create holder for a PETSc Mat object from a sparsity pattern.
Definition: PETScMatrix.cpp:271
Linear algebra interface.
Definition: sparsitybuild.h:14
static std::function< int(std::int32_t, const std::int32_t *, std::int32_t, const std::int32_t *, const PetscScalar *)> set_block_fn(Mat A, InsertMode mode)
Return a function with an interface for adding or inserting values into the matrix A using blocked in...
Definition: PETScMatrix.cpp:215
void apply(AssemblyType type)
Finalize assembly of tensor. The following values are recognized for the mode parameter:
Definition: PETScMatrix.cpp:313
This class provides a sparsity pattern data structure that can be used to initialize sparse matrices.
Definition: SparsityPattern.h:35
void set_options_prefix(std::string options_prefix)
Sets the prefix used by PETSc when searching the options database.
Definition: PETScMatrix.cpp:332
PETScMatrix & operator=(const PETScMatrix &A)=delete
Assignment operator (deleted)
~PETScMatrix()=default
Destructor.
void set_nullspace(const la::VectorSpaceBasis &nullspace)
Attach nullspace to matrix (typically used by Krylov solvers when solving singular systems)
Definition: PETScMatrix.cpp:352
static std::function< int(std::int32_t, const std::int32_t *, std::int32_t, const std::int32_t *, const PetscScalar *)> set_block_expand_fn(Mat A, int bs0, int bs1, InsertMode mode)
Return a function with an interface for adding or inserting blocked values to the matrix A using non-...
Definition: PETScMatrix.cpp:241
void set_from_options()
Call PETSc function MatSetFromOptions on the PETSc Mat object.
Definition: PETScMatrix.cpp:346
It is a simple wrapper for a PETSc matrix pointer (Mat). Its main purpose is to assist memory managem...
Definition: PETScMatrix.h:37
void set_near_nullspace(const la::VectorSpaceBasis &nullspace)
Attach 'near' nullspace to matrix (used by preconditioners, such as smoothed aggregation algerbraic m...
Definition: PETScMatrix.cpp:373
This class defines a basis for vector spaces, typically used for expressing nullspaces of singular op...
Definition: VectorSpaceBasis.h:21
Mat create_petsc_matrix(MPI_Comm comm, const SparsityPattern &sparsity_pattern, const std::string &type=std::string())
Create a PETSc Mat. Caller is responsible for destroying the returned object.
Definition: PETScMatrix.cpp:24
MatNullSpace create_petsc_nullspace(MPI_Comm comm, const VectorSpaceBasis &nullspace)
Create PETSc MatNullSpace. Caller is responsible for destruction returned object.
Definition: PETScMatrix.cpp:159
This class is a base class for matrices that can be used in PETScKrylovSolver.
Definition: PETScOperator.h:20
std::string get_options_prefix() const
Returns the prefix used by PETSc when searching the options database.
Definition: PETScMatrix.cpp:338
AssemblyType
Assembly type FINAL - corresponds to PETSc MAT_FINAL_ASSEMBLY FLUSH - corresponds to PETSc MAT_FLUSH_...
Definition: PETScMatrix.h:97
double norm(la::Norm norm_type) const
Return norm of matrix.
Definition: PETScMatrix.cpp:284