From 53e433077431c660b6203974042eaf6491f1adca Mon Sep 17 00:00:00 2001 From: Felix Gruber Date: Fri, 14 Apr 2023 19:27:30 +0000 Subject: gnu: dune-istl: Update to 2.9.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 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 --- gnu/local.mk | 1 + gnu/packages/maths.scm | 5 +- .../patches/dune-istl-fix-solver-playground.patch | 61 ++++++++++++++++++++++ 3 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/dune-istl-fix-solver-playground.patch 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?= +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 loadSystem(std::shared_ptr& m, + std::shared_ptr oocomm; + if(distributed){ + oocomm = std::make_shared(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 + void loadSystem(std::shared_ptr& m, + std::shared_ptr& rhs, + const Dune::ParameterTree& config){ +- std::string matrixfilename = config.get("matrix"); ++ // generate Laplacian or load matrix ++ std::string matrixfilename = config.get("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("rhs"); +- loadMatrixMarket(*m, matrixfilename); + if(config.get("random_rhs", false)){ + rhs->resize(m->N()); + fillRandom(*rhs); +- }else ++ }else{ ++ rhsfilename = config.get("rhs"); + loadMatrixMarket(*rhs, rhsfilename); ++ } + } + #endif + +-- +2.39.2 + -- cgit v1.2.3