DOLFIN-X
DOLFIN-X C++ interface
|
11 #include <Eigen/Dense>
32 const common::IndexMap& map,
33 const Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>& x);
36 void petsc_error(
int error_code, std::string filename,
37 std::string petsc_function);
58 MPI_Comm comm, std::array<std::int64_t, 2> range,
59 const Eigen::Ref<
const Eigen::Array<std::int64_t, Eigen::Dynamic, 1>>&
64 std::vector<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>
66 const std::vector<const common::IndexMap*>& maps);
71 const std::vector<Eigen::Matrix<PetscScalar, Eigen::Dynamic, 1>>& x_b,
72 const std::vector<const common::IndexMap*>& maps);
88 MPI_Comm comm, std::array<std::int64_t, 2> range,
89 const Eigen::Array<std::int64_t, Eigen::Dynamic, 1>& ghost_indices,
118 std::int64_t
size()
const;
Norm
Norm types.
Definition: utils.h:14
std::string get_options_prefix() const
Returns the prefix used by PETSc when searching the options database.
Definition: PETScVector.cpp:386
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: PETScVector.cpp:136
std::vector< IS > create_petsc_index_sets(const std::vector< const common::IndexMap * > &maps)
Definition: PETScVector.cpp:59
void petsc_error(int error_code, std::string filename, std::string petsc_function)
Print error message for PETSc calls that return an error.
Definition: PETScVector.cpp:28
This class represents the distribution index arrays across processes. An index array is a contiguous ...
Definition: IndexMap.h:45
void set_options_prefix(std::string options_prefix)
Sets the prefix used by PETSc when searching the options database.
Definition: PETScVector.cpp:379
std::int64_t size() const
Return global size of vector.
Definition: PETScVector.cpp:276
PETScVector(const common::IndexMap &map)
Create vector.
Definition: PETScVector.cpp:224
void set_from_options()
Call PETSc function VecSetFromOptions on the underlying Vec object.
Definition: PETScVector.cpp:395
PETScVector copy() const
Copy vector.
Definition: PETScVector.cpp:266
It is a simple wrapper for a PETSc vector pointer (Vec). Its main purpose is to assist memory managem...
Definition: PETScVector.h:81
Vec create_petsc_vector(const common::IndexMap &map)
Create a ghosted PETSc Vec. Caller is responsible for destroying the returned object.
Definition: PETScVector.cpp:100
void scatter_local_vectors(Vec x, const std::vector< Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 >> &x_b, const std::vector< const common::IndexMap * > &maps)
Scatter local Eigen vectors to Vec.
Definition: PETScVector.cpp:180
Vec create_ghosted_vector(const common::IndexMap &map, const Eigen::Matrix< PetscScalar, Eigen::Dynamic, 1 > &x)
Create a PETSc Vec that wraps the data in x.
Definition: PETScVector.cpp:79
std::int32_t local_size() const
Return local size of vector (belonging to this process)
Definition: PETScVector.cpp:285
PetscReal norm(la::Norm norm_type) const
Return norm of vector.
Definition: PETScVector.cpp:353
MPI_Comm mpi_comm() const
Return MPI communicator.
Definition: PETScVector.cpp:344
void update_ghosts()
Update ghost values (gathers ghost values from the owning processes)
Definition: PETScVector.cpp:324
std::array< std::int64_t, 2 > local_range() const
Return ownership range for process.
Definition: PETScVector.cpp:294
virtual ~PETScVector()
Destructor.
Definition: PETScVector.cpp:251
void apply_ghosts()
Update owned entries owned by this process and which are ghosts on other processes,...
Definition: PETScVector.cpp:304
Vec vec() const
Return pointer to PETSc Vec object.
Definition: PETScVector.cpp:402