dune-pdelab 2.7-git
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Dune::PDELab::ISTLBackend_SEQ_MatrixFree_Base< GO, PrecGO, Solver > Class Template Reference

Sequential matrix-free solver backend. More...

#include <dune/pdelab/backend/istl/matrixfree/backends.hh>

Inheritance diagram for Dune::PDELab::ISTLBackend_SEQ_MatrixFree_Base< GO, PrecGO, Solver >:
Inheritance graph

Public Member Functions

 ISTLBackend_SEQ_MatrixFree_Base (const GO &go, const PrecGO &precgo, unsigned maxiter=5000, int verbose=1)
 
void apply (V &z, W &r, typename V::ElementType reduction)
 
void setLinearizationPoint (const V &u)
 
template<class V >
Dune::template FieldTraits< typenameV::ElementType >::real_type norm (const V &v) const
 compute global norm of a vector
 
const Dune::PDELab::LinearSolverResult< double > & result () const
 Return access to result data.
 

Static Public Attributes

static constexpr bool isMatrixFree {true}
 

Protected Attributes

Dune::PDELab::LinearSolverResult< double > res
 

Detailed Description

template<class GO, class PrecGO, template< class > class Solver>
class Dune::PDELab::ISTLBackend_SEQ_MatrixFree_Base< GO, PrecGO, Solver >

Sequential matrix-free solver backend.

This can be used with a combination of {CGSolver, BiCGSTABSolver, MINRESSolver} as a solver and grid operator build from one of the following local operators:

Note: If you use BlockSORPreconditionerLocalOperator you need to use FastDGGridOperator!

Template Parameters
GOGrid operator implementing the matrix-free operator application
PrecGOGrid operator implementing matrix-free preconditioning

Constructor & Destructor Documentation

◆ ISTLBackend_SEQ_MatrixFree_Base()

template<class GO , class PrecGO , template< class > class Solver>
Dune::PDELab::ISTLBackend_SEQ_MatrixFree_Base< GO, PrecGO, Solver >::ISTLBackend_SEQ_MatrixFree_Base ( const GO &  go,
const PrecGO &  precgo,
unsigned  maxiter = 5000,
int  verbose = 1 
)
inline

Member Function Documentation

◆ apply()

template<class GO , class PrecGO , template< class > class Solver>
void Dune::PDELab::ISTLBackend_SEQ_MatrixFree_Base< GO, PrecGO, Solver >::apply ( V &  z,
W &  r,
typename V::ElementType  reduction 
)
inline

◆ norm()

template<class V >
Dune::template FieldTraits< typenameV::ElementType >::real_type Dune::PDELab::SequentialNorm::norm ( const V &  v) const
inlineinherited

compute global norm of a vector

\param[in] v the given vector

◆ result()

const Dune::PDELab::LinearSolverResult< double > & Dune::PDELab::LinearResultStorage::result ( ) const
inlineinherited

Return access to result data.

◆ setLinearizationPoint()

template<class GO , class PrecGO , template< class > class Solver>
void Dune::PDELab::ISTLBackend_SEQ_MatrixFree_Base< GO, PrecGO, Solver >::setLinearizationPoint ( const V &  u)
inline

Set position of jacobian. Must be called before apply().

Member Data Documentation

◆ isMatrixFree

template<class GO , class PrecGO , template< class > class Solver>
constexpr bool Dune::PDELab::ISTLBackend_SEQ_MatrixFree_Base< GO, PrecGO, Solver >::isMatrixFree {true}
staticconstexpr

◆ res

Dune::PDELab::LinearSolverResult<double> Dune::PDELab::LinearResultStorage::res
protectedinherited

The documentation for this class was generated from the following file: