Skip to content
Snippets Groups Projects
Commit 7970716c authored by Patrick Jaap's avatar Patrick Jaap
Browse files

Trustregionsolver: re-enable parmg with powerBases

With a small hack in dune-parmg it is now possible to run parallel code
in the TrustRegionSolver again. To to this, a preprocessor flag is defined.
parent 72c15fe4
Branches
No related tags found
1 merge request!48Trustregionsolver: re-enable parmg with powerBases
Pipeline #30733 passed
......@@ -26,6 +26,11 @@
#include <dune/elasticity/assemblers/feassembler.hh>
#if HAVE_DUNE_PARMG
// enable a temporary hack to let parmg work with powerBases
// which is needed for the current implementation of elasticty
#define DUNE_PARMG_POWER_BASIS_HACK
#include <dune/parmg/iterationstep/lambdastep.hh>
#include <dune/parmg/iterationstep/multigrid.hh>
#include <dune/parmg/parallel/dofmap.hh>
......@@ -68,14 +73,7 @@ public:
TrustRegionSolver()
: IterativeSolver<VectorType, Dune::BitSetVector<blocksize> >(0,100,NumProc::FULL),
hessianMatrix_(std::shared_ptr<MatrixType>(NULL)), h1SemiNorm_(NULL)
{
#if HAVE_DUNE_PARMG
// TODO currently, we cannot use PARMG together with dune-functions bases
static_assert( not Dune::models<Dune::Functions::Concept::GlobalBasis<GridView>, BasisType>() ,
"Currently, dune-parmg and dune-functions bases cannot be used together."
);
#endif
}
{}
/** \brief Set up the solver using a monotone multigrid method as the inner solver */
void setup(const GridType& grid,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment