16#ifndef dealii_petsc_matrix_free_h
17# define dealii_petsc_matrix_free_h
22# ifdef DEAL_II_WITH_PETSC
84 const unsigned int local_rows,
85 const unsigned int local_columns);
100 const unsigned int n,
101 const std::vector<unsigned int> &local_rows_per_process,
102 const std::vector<unsigned int> &local_columns_per_process,
103 const unsigned int this_process);
111 const unsigned int n,
112 const unsigned int local_rows,
113 const unsigned int local_columns);
121 const unsigned int n,
122 const std::vector<unsigned int> &local_rows_per_process,
123 const std::vector<unsigned int> &local_columns_per_process,
124 const unsigned int this_process);
133 const unsigned int m,
134 const unsigned int n,
135 const unsigned int local_rows,
136 const unsigned int local_columns);
145 const unsigned int m,
146 const unsigned int n,
147 const std::vector<unsigned int> &local_rows_per_process,
148 const std::vector<unsigned int> &local_columns_per_process,
149 const unsigned int this_process);
157 const unsigned int n,
158 const unsigned int local_rows,
159 const unsigned int local_columns);
167 const unsigned int n,
168 const std::vector<unsigned int> &local_rows_per_process,
169 const std::vector<unsigned int> &local_columns_per_process,
170 const unsigned int this_process);
253 vmult(Vec &dst,
const Vec &src)
const;
283 const unsigned int n,
284 const unsigned int local_rows,
285 const unsigned int local_columns);
const MPI_Comm & get_mpi_communicator() const override
virtual void Tvmult(VectorBase &dst, const VectorBase &src) const =0
void do_reinit(const unsigned int m, const unsigned int n, const unsigned int local_rows, const unsigned int local_columns)
void reinit(const MPI_Comm &communicator, const unsigned int m, const unsigned int n, const unsigned int local_rows, const unsigned int local_columns)
virtual void vmult_add(VectorBase &dst, const VectorBase &src) const =0
static int matrix_free_mult(Mat A, Vec src, Vec dst)
virtual void Tvmult_add(VectorBase &dst, const VectorBase &src) const =0
virtual void vmult(VectorBase &dst, const VectorBase &src) const =0
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE