Prepare the linear algebra member variables. More...
#include <dumux/linear/amgparallelhelpers.hh>
Prepare the linear algebra member variables.
At compile time, correct constructor calls have to be chosen, depending on whether the setting is parallel or sequential. Since several template parameters are present, this cannot be solved by a full function template specialization. Instead, class template specialization has to be used. This adapts example 4 from http://www.gotw.ca/publications/mill17.htm.
This class template implements the function for the sequential case.
isParallel | decides if the setting is parallel or sequential |
Public Types | |
using | DofMapper = typename AmgTraits::DofMapper |
using | ParallelHelper = ParallelISTLHelper< GridView, AmgTraits > |
using | Comm = typename AmgTraits::Comm |
using | LinearOperator = typename AmgTraits::LinearOperator |
using | ScalarProduct = typename AmgTraits::ScalarProduct |
Static Public Member Functions | |
template<class Matrix , class Vector > | |
static void | prepareLinearAlgebra (Matrix &A, Vector &b, int &rank, std::shared_ptr< Comm > &comm, std::shared_ptr< LinearOperator > &fop, std::shared_ptr< ScalarProduct > &sp, ParallelHelper &pHelper, const bool firstCall) |
using Dumux::LinearAlgebraPreparator< GridView, AmgTraits, isParallel >::Comm = typename AmgTraits::Comm |
using Dumux::LinearAlgebraPreparator< GridView, AmgTraits, isParallel >::DofMapper = typename AmgTraits::DofMapper |
using Dumux::LinearAlgebraPreparator< GridView, AmgTraits, isParallel >::LinearOperator = typename AmgTraits::LinearOperator |
using Dumux::LinearAlgebraPreparator< GridView, AmgTraits, isParallel >::ParallelHelper = ParallelISTLHelper<GridView, AmgTraits> |
using Dumux::LinearAlgebraPreparator< GridView, AmgTraits, isParallel >::ScalarProduct = typename AmgTraits::ScalarProduct |
|
inlinestatic |