guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

08/14: gnu: dune-istl: Update to 2.9.0.


From: guix-commits
Subject: 08/14: gnu: dune-istl: Update to 2.9.0.
Date: Tue, 2 May 2023 06:13:50 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 53e433077431c660b6203974042eaf6491f1adca
Author: Felix Gruber <felgru@posteo.net>
AuthorDate: Fri Apr 14 19:27:30 2023 +0000

    gnu: dune-istl: Update to 2.9.0.
    
    * gnu/packages/maths.scm (dune-istl): Update to 2.9.0.
      [source](patches): Add patch to fix test phase.
    * gnu/packages/patches/dune-istl-fix-solver-playground.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Add it.
    
    Signed-off-by: Ludovic Courtès <ludo@gnu.org>
---
 gnu/local.mk                                       |  1 +
 gnu/packages/maths.scm                             |  5 +-
 .../patches/dune-istl-fix-solver-playground.patch  | 61 ++++++++++++++++++++++
 3 files changed, 65 insertions(+), 2 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 2947f3ac6a..fb52930201 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1057,6 +1057,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch     \
   %D%/packages/patches/dstat-skip-devices-without-io.patch     \
   %D%/packages/patches/dune-grid-add-missing-include-cassert.patch     \
+  %D%/packages/patches/dune-istl-fix-solver-playground.patch   \
   %D%/packages/patches/dvd+rw-tools-add-include.patch          \
   %D%/packages/patches/dynaconf-unvendor-deps.patch            \
   %D%/packages/patches/efivar-211.patch                        \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7cf1308368..fda2bc5cd4 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -6963,7 +6963,7 @@ This package contains the basic DUNE grid classes.")
 (define-public dune-istl
   (package
     (name "dune-istl")
-    (version "2.7.1")
+    (version "2.9.0")
     (source
      (origin
        (method url-fetch)
@@ -6971,7 +6971,8 @@ This package contains the basic DUNE grid classes.")
                            version "/dune-istl-" version ".tar.gz"))
        (sha256
         (base32
-         "1cy69s1266hvnh8blznlvvkrf8i2g640rc3mf7kp872wgvdz4nb9"))))
+         "0smghqr400xl84j0laabgwaj2p5jlj3n3s85bm7qp9m2vjz6rav6"))
+       (patches (search-patches "dune-istl-fix-solver-playground.patch"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
diff --git a/gnu/packages/patches/dune-istl-fix-solver-playground.patch 
b/gnu/packages/patches/dune-istl-fix-solver-playground.patch
new file mode 100644
index 0000000000..b3df4b6ffa
--- /dev/null
+++ b/gnu/packages/patches/dune-istl-fix-solver-playground.patch
@@ -0,0 +1,61 @@
+From fe929f17e98b577171f58ca520b5145be41730ea Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <gruenich@dune-project.org>
+Date: Thu, 16 Mar 2023 19:48:40 +0100
+Subject: [PATCH] Adjust sequential and both parallel cases in
+ istl-solver-playground
+
+Do same thing, independent of paralellel, distributed, or
+sequential.
+This fixes the test in the sequential case.
+---
+ src/istl-solver-playground.hh | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+diff --git a/src/istl-solver-playground.hh b/src/istl-solver-playground.hh
+index 0ff3abd5..11693cf5 100644
+--- a/src/istl-solver-playground.hh
++++ b/src/istl-solver-playground.hh
+@@ -66,7 +66,11 @@ std::shared_ptr<OOCOMM> loadSystem(std::shared_ptr<Mat>& m,
+   std::shared_ptr<OOCOMM> oocomm;
+   if(distributed){
+     oocomm = std::make_shared<OOCOMM>(MPI_COMM_WORLD);
+-    loadMatrixMarket(*m, matrixfilename, *oocomm);
++    if(matrixfilename != "laplacian"){
++      loadMatrixMarket(*m, matrixfilename, *oocomm);
++    }else{
++      setupLaplacian(*m, config.get("N", 20));
++    }
+     if(config.get("random_rhs", false)){
+       rhs->resize(m->N());
+       srand(42);
+@@ -98,16 +102,22 @@ template<class Mat, class Vec>
+ void loadSystem(std::shared_ptr<Mat>& m,
+                 std::shared_ptr<Vec>& rhs,
+                 const Dune::ParameterTree& config){
+-  std::string matrixfilename = config.get<std::string>("matrix");
++  // generate Laplacian or load matrix
++  std::string matrixfilename = config.get<std::string>("matrix", "laplacian");
++  if(matrixfilename == "laplacian"){
++    setupLaplacian(*m, config.get("N", 20));
++  }else{
++    loadMatrixMarket(*m, matrixfilename);
++  }
++  // use random values or load right-hand side
+   std::string rhsfilename;
+-  if(!config.get("random_rhs", false))
+-    rhsfilename = config.get<std::string>("rhs");
+-  loadMatrixMarket(*m, matrixfilename);
+   if(config.get("random_rhs", false)){
+     rhs->resize(m->N());
+     fillRandom(*rhs);
+-  }else
++  }else{
++    rhsfilename = config.get<std::string>("rhs");
+     loadMatrixMarket(*rhs, rhsfilename);
++  }
+ }
+ #endif
+ 
+-- 
+2.39.2
+



reply via email to

[Prev in Thread] Current Thread [Next in Thread]