DOLFIN-X
DOLFIN-X C++ interface
|
11 #include <dolfinx/common/MPI.h>
30 class VectorSpaceBasis;
31 class SparsityPattern;
49 MPI_Comm comm, std::array<std::int64_t, 2> range,
50 const Eigen::Ref<
const Eigen::Array<std::int64_t, Eigen::Dynamic, 1>>&
61 const VectorSpaceBasis& nullspace);
75 void petsc_error(
int error_code, std::string filename,
76 std::string petsc_function);
94 Eigen::Map<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>
x;
97 PetscScalar* array =
nullptr;
99 Vec _y_local =
nullptr;
120 Eigen::Map<const Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>
x;
123 PetscScalar
const* array =
nullptr;
125 Vec _y_local =
nullptr;
137 std::vector<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>
139 const std::vector<const common::IndexMap*>& maps);
149 const std::vector<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>& x_b,
150 const std::vector<const common::IndexMap*>& maps);
Norm
Norm types.
Definition: utils.h:34
Wrapper around a PETSc Vec object, to simplify direct access to data.
Definition: utils.h:79
std::vector< Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 > > get_local_vectors(const Vec x, const std::vector< const common::IndexMap * > &maps)
Copy blocks from Vec into Eigen vectors.
Definition: utils.cpp:399
std::vector< IS > create_petsc_index_sets(const std::vector< const common::IndexMap * > &maps)
Compute IndexSets (IS) for stacked index maps. E.g., if map[0] = {0, 1, 2, 3, 4, 5,...
Definition: utils.cpp:222
void petsc_error(int error_code, std::string filename, std::string petsc_function)
Print error message for PETSc calls that return an error.
Definition: utils.cpp:246
This class represents the distribution index arrays across processes. An index array is a contiguous ...
Definition: IndexMap.h:27
Mat create_petsc_matrix(MPI_Comm comm, const SparsityPattern &sparsity_pattern)
Create a PETSc Mat. Caller is responsible for destroying the returned object.
Definition: utils.cpp:84
void restore()
Restore PETSc Vec.
Definition: utils.cpp:377
Vec create_petsc_vector(const common::IndexMap &map)
Create a ghosted PETSc Vec. Caller is responsible for destroying the returned object.
Definition: utils.cpp:31
void scatter_local_vectors(Vec x, const std::vector< Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 >> &x_b, const std::vector< const common::IndexMap * > &maps)
Copy blocks from Vec into local Vec objects.
Definition: utils.cpp:478
void restore()
Restore PETSc Vec object.
Definition: utils.cpp:319
VecWrapper(Vec y, bool ghosted=true)
Wrap PETSc Vec y.
Definition: utils.cpp:276
Read-only wrapper around a PETSc Vec object, to simplify direct access to data.
Definition: utils.h:105
VecReadWrapper(const Vec y, bool ghosted=true)
Wrap PETSc Vec y.
Definition: utils.cpp:333
Eigen::Map< Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 > > x
Eigen Map into PETSc Vec.
Definition: utils.h:94
MatNullSpace create_petsc_nullspace(MPI_Comm comm, const VectorSpaceBasis &nullspace)
Create PETSc MatNullSpace. Caller is responsible for destruction returned object.
Definition: utils.cpp:195
Eigen::Map< const Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 > > x
Eigen Map into PETSc Vec.
Definition: utils.h:120