ASPECT
stokes_matrix_based.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2026 - by the authors of the ASPECT code.
3 
4  This file is part of ASPECT.
5 
6  ASPECT is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2, or (at your option)
9  any later version.
10 
11  ASPECT is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with ASPECT; see the file LICENSE. If not see
18  <http://www.gnu.org/licenses/>.
19 */
20 
21 #ifndef _aspect_simulator_solver_stokes_matrix_based_h
22 #define _aspect_simulator_solver_stokes_matrix_based_h
23 
24 #include <aspect/global.h>
26 
27 
28 namespace aspect
29 {
30  namespace StokesSolver
31  {
35  template <int dim>
36  class MatrixBased: public Interface<dim>
37  {
38  public:
45  MatrixBased(Simulator<dim> &simulator);
46 
69  SolverOutputs solve(const LinearAlgebra::BlockSparseMatrix &system_matrix,
70  const LinearAlgebra::BlockVector &system_rhs,
71  const bool solve_newton_system,
72  const double last_pressure_normalization_adjustment,
73  LinearAlgebra::BlockVector &solution_vector) override;
74 
78  std::string name() const override;
79 
80  private:
88  };
89  }
90 }
91 
92 #endif
MatrixBased(Simulator< dim > &simulator)
::TrilinosWrappers::MPI::BlockVector BlockVector
Definition: global.h:301
::TrilinosWrappers::BlockSparseMatrix BlockSparseMatrix
Definition: global.h:312
std::string name() const override
SolverOutputs solve(const LinearAlgebra::BlockSparseMatrix &system_matrix, const LinearAlgebra::BlockVector &system_rhs, const bool solve_newton_system, const double last_pressure_normalization_adjustment, LinearAlgebra::BlockVector &solution_vector) override
ObserverPointer< const Simulator< dim >, SimulatorAccess< dim > > simulator