[dune-pdelab] Status dune-pdelab(-howto)
Bård Skaflestad
Bard.Skaflestad at sintef.no
Wed Sep 11 17:27:00 CEST 2013
On Wed, 2013-09-11 at 17:17 +0200, Markus Blatt wrote:
> Hi all,
>
> I seem to have a tendency to stumble upon bugs in projects. At least
> this seems to appear everytime, that I try to build the
> dune-pdelab-howto.
>
> Can somebody enlighten me on the supposed status of it? Currently I am
> having a hard time compiling it. This seems to be caused by
> inconsistencies within dune-pdelab itself. Maybe we should include
> more tests in dune-pdelab itself?
>
> Is somebody willing to invest time on this? I attach a build log
> (autotools, gcc-4.7.2, only alberta as external grid.
Hi Markus,
I notice in your log that (some of?) your build errors are related to
Eigen. I've been getting the similar troubles and am using the patch
below in dune-pdelab to work around it. Unfortunately, I have *no* idea
whether or not this is the correct fix.
Also, I've had to make to following local hack to PDELab-howto's
"laplacedirichletccfv.cc":
diff --git a/src/convection-diffusion/laplacedirichletccfv.cc
b/src/convection-diffusion/laplacedirichletccfv.cc
index 8b7bf43..3792416 100644
--- a/src/convection-diffusion/laplacedirichletccfv.cc
+++ b/src/convection-diffusion/laplacedirichletccfv.cc
@@ -82,6 +82,9 @@ public:
}
};
+#ifdef USE_EIGEN
+#undef USE_EIGEN
+#endif
template<class GV>
void test (const GV& gv, std::string filename )
Bård
-------------------8<---------------------------8<-------------------
diff --git a/dune/pdelab/backend/eigensolverbackend.hh
b/dune/pdelab/backend/eigensolverbackend.hh
index f637650..f80ebc0 100644
--- a/dune/pdelab/backend/eigensolverbackend.hh
+++ b/dune/pdelab/backend/eigensolverbackend.hh
@@ -80,7 +80,7 @@ namespace Dune {
// {
// public:
// explicit EigenBackend_BiCGSTAB_IILU(unsigned maxiter_=5000)
- // : EigenBackend_BiCGSTAB_Base(maxiter_)
+ // : EigenBackend_BiCGSTAB_Base<Eigen::IncompleteLUT<double>
>(maxiter_)
// {
// }
// };
@@ -90,7 +90,7 @@ namespace Dune {
{
public:
explicit EigenBackend_BiCGSTAB_Diagonal(unsigned maxiter_=5000)
- : EigenBackend_BiCGSTAB_Base(maxiter_)
+ :
EigenBackend_BiCGSTAB_Base<Eigen::DiagonalPreconditioner<double>
>(maxiter_)
{}
};
@@ -146,7 +146,7 @@ namespace Dune {
// {
// public:
// explicit EigenBackend_CG_IILU_Up(unsigned maxiter_=5000)
- // : EigenBackend_CG_Base(maxiter_)
+ // : EigenBackend_CG_Base<Eigen::IncompleteLUT<double>,
Eigen::Upper >(maxiter_)
// {}
// };
@@ -155,7 +155,7 @@ namespace Dune {
{
public:
explicit EigenBackend_CG_Diagonal_Up(unsigned maxiter_=5000)
- : EigenBackend_CG_Base(maxiter_)
+ : EigenBackend_CG_Base<Eigen::DiagonalPreconditioner<double>,
Eigen::Upper >(maxiter_)
{}
};
@@ -164,7 +164,7 @@ namespace Dune {
// {
// public:
// explicit EigenBackend_CG_IILU_Lo(unsigned maxiter_=5000)
- // : EigenBackend_CG_Base(maxiter_)
+ // : EigenBackend_CG_Base<Eigen::IncompleteLUT<double>,
Eigen::Lower >(maxiter_)
// {}
// };
@@ -173,7 +173,7 @@ namespace Dune {
{
public:
explicit EigenBackend_CG_Diagonal_Lo(unsigned maxiter_=5000)
- : EigenBackend_CG_Base(maxiter_)
+ : EigenBackend_CG_Base<Eigen::DiagonalPreconditioner<double>,
Eigen::Lower >(maxiter_)
{}
};
More information about the dune-pdelab
mailing list