version 3.11-dev
Loading...
Searching...
No Matches
stokes_solver.hh File Reference

Preconditioned iterative solver for the incompressible Stokes problem.

#include <type_traits>
#include <memory>
#include <tuple>
#include <map>
#include <algorithm>
#include <cmath>
#include <dune/common/parametertree.hh>
#include <dune/common/hybridutilities.hh>
#include <dune/common/exceptions.hh>
#include <dune/istl/matrixindexset.hh>
#include <dune/istl/preconditioner.hh>
#include <dune/istl/preconditioners.hh>
#include <dune/istl/solvers.hh>
#include <dune/istl/paamg/amg.hh>
#include <dune/istl/owneroverlapcopy.hh>
#include <dune/istl/schwarz.hh>
#include <dune/istl/novlpschwarz.hh>
#include <dumux/common/math.hh>
#include <dumux/common/exceptions.hh>
#include <dumux/linear/solver.hh>
#include <dumux/linear/preconditioners.hh>
#include <dumux/linear/linearsolverparameters.hh>
#include <dumux/linear/parallelhelpers.hh>
#include <dumux/linear/linearsolvertraits.hh>
#include <dumux/linear/parallelmatrixadapter.hh>
#include <dumux/discretization/extrusion.hh>
#include <dumux/linear/symmetrize_constraints.hh>
#include <dumux/assembly/jacobianpattern.hh>

Go to the source code of this file.

Classes

class  Dumux::Detail::StokesPreconditioner< M, X, Y, l >
 A Stokes preconditioner (saddle-point problem) for the problem \(\begin{pmatrix} A & B \\ C & 0 \end{pmatrix} \begin{pmatrix} u \\ p \end{pmatrix} = \begin{pmatrix} f \\ g \end{pmatrix}, \). More...
class  Dumux::Detail::ParallelStokesLinearOperator< M, X, Y >
 Parallel linear operator for the Stokes saddle-point system. More...
class  Dumux::Detail::ParallelStokesPreconditioner< SeqPrec, X, Y >
 Parallel wrapper of the Stokes saddle-point preconditioner. More...
class  Dumux::Detail::ParallelStokesScalarProduct< X >
 Parallel scalar product for the velocity-pressure vector of the Stokes system. More...
class  Dumux::StokesSolver< Matrix, Vector, VelocityGG, PressureGG >
 Preconditioned iterative solver for the incompressible Stokes problem. More...

Namespaces

namespace  Dumux
namespace  Dumux::Detail

Functions

template<class Comm, class Block>
void Dumux::Detail::makeUnique (const Comm &comm, Block &v)
template<class Comm, class Block>
void Dumux::Detail::zeroOverlap (const Comm &comm, Block &v)
 Set the entries of overlap dofs to zero.
template<class Comm, class Block>
void Dumux::Detail::completeCouplingResult (const Comm &comm, Block &y)
 Complete the product y = M x of an off-diagonal block M with a consistent x to the unique representation.