[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