37 typedef Number value_type;
38 typedef dealii::LinearAlgebra::distributed::Vector<Number> VectorType;
48 virtual dealii::AffineConstraints<Number>
const &
49 get_affine_constraints()
const = 0;
51 virtual dealii::MatrixFree<dim, Number>
const &
52 get_matrix_free()
const = 0;
55 get_dof_index()
const = 0;
57 virtual dealii::types::global_dof_index
60 virtual dealii::types::global_dof_index
64 el(
unsigned int const,
unsigned int const)
const = 0;
67 initialize_dof_vector(VectorType & vector)
const = 0;
70 vmult(VectorType & dst, VectorType
const & src)
const = 0;
73 vmult_add(VectorType & dst, VectorType
const & src)
const = 0;
76 vmult_interface_down(VectorType & dst, VectorType
const & src)
const = 0;
79 vmult_add_interface_up(VectorType & dst, VectorType
const & src)
const = 0;
82 calculate_inverse_diagonal(VectorType & inverse_diagonal_entries)
const = 0;
85 initialize_block_diagonal_preconditioner(
bool const initialize)
const = 0;
88 update_block_diagonal_preconditioner()
const = 0;
91 apply_inverse_block_diagonal(VectorType & dst, VectorType
const & src)
const = 0;
94 apply_inverse_additive_schwarz_matrices(VectorType & dst, VectorType
const & src)
const = 0;
97 compute_factorized_additive_schwarz_matrices()
const = 0;
99#ifdef DEAL_II_WITH_TRILINOS
101 init_system_matrix(dealii::TrilinosWrappers::SparseMatrix & system_matrix,
102 MPI_Comm
const & mpi_comm)
const = 0;
105 calculate_system_matrix(dealii::TrilinosWrappers::SparseMatrix & system_matrix)
const = 0;
108#ifdef DEAL_II_WITH_PETSC
110 init_system_matrix(dealii::PETScWrappers::MPI::SparseMatrix & system_matrix,
111 MPI_Comm
const & mpi_comm)
const = 0;
114 calculate_system_matrix(dealii::PETScWrappers::MPI::SparseMatrix & system_matrix)
const = 0;