#ifdef DEAL_II_USE_PETSC
namespace PETScWrappers
{
- class MatrixBase;
- class VectorBase;
+ class SparseMatrix;
+ class Vector;
}
#endif
#ifdef DEAL_II_USE_PETSC
static void
apply_boundary_values (const std::map<unsigned int,double> &boundary_values,
- PETScWrappers::MatrixBase &matrix,
- PETScWrappers::VectorBase &solution,
- PETScWrappers::VectorBase &right_hand_side,
+ PETScWrappers::SparseMatrix &matrix,
+ PETScWrappers::Vector &solution,
+ PETScWrappers::Vector &right_hand_side,
const bool eliminate_columns = true);
#endif
#ifdef DEAL_II_USE_PETSC
PetscScalar
- max_element (const PETScWrappers::VectorBase &criteria)
+ max_element (const PETScWrappers::Vector &criteria)
{
// this is horribly slow (since we have
// to get the array of values from PETSc
PetscScalar
- min_element (const PETScWrappers::VectorBase &criteria)
+ min_element (const PETScWrappers::Vector &criteria)
{
// this is horribly slow (since we have
// to get the array of values from PETSc
void
GridRefinement::
refine (Triangulation<deal_II_dimension> &,
- const PETScWrappers::VectorBase &,
+ const PETScWrappers::Vector &,
const double);
template
void
GridRefinement::
coarsen (Triangulation<deal_II_dimension> &,
- const PETScWrappers::VectorBase &,
+ const PETScWrappers::Vector &,
const double);
void
GridRefinement::
refine_and_coarsen_fixed_number (Triangulation<deal_II_dimension> &,
- const PETScWrappers::VectorBase &,
+ const PETScWrappers::Vector &,
const double,
const double);
void
GridRefinement::
refine_and_coarsen_fixed_fraction (Triangulation<deal_II_dimension> &,
- const PETScWrappers::VectorBase &,
+ const PETScWrappers::Vector &,
const double,
const double);
void
GridRefinement::
refine_and_coarsen_optimize (Triangulation<deal_II_dimension> &,
- const PETScWrappers::VectorBase &);
+ const PETScWrappers::Vector &);
#endif
#include <lac/block_sparse_matrix.h>
#ifdef DEAL_II_USE_PETSC
-# include <lac/petsc_matrix_base.h>
-# include <lac/petsc_vector_base.h>
+# include <lac/petsc_sparse_matrix.h>
+# include <lac/petsc_vector.h>
#endif
#include <algorithm>
void
MatrixTools::
apply_boundary_values (const std::map<unsigned int,double> &boundary_values,
- PETScWrappers::MatrixBase &matrix,
- PETScWrappers::VectorBase &solution,
- PETScWrappers::VectorBase &right_hand_side,
+ PETScWrappers::SparseMatrix &matrix,
+ PETScWrappers::Vector &solution,
+ PETScWrappers::Vector &right_hand_side,
const bool preserve_symmetry)
{
Assert (matrix.n() == right_hand_side.size(),