mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-24 11:39:46 -05:00
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>
This commit is contained in:
parent
2667b838c8
commit
53e4330774
3 changed files with 65 additions and 2 deletions
|
@ -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 \
|
||||
|
|
|
@ -6963,7 +6963,7 @@ (define-public dune-grid
|
|||
(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 @@ (define-public dune-istl
|
|||
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
|
||||
|
|
61
gnu/packages/patches/dune-istl-fix-solver-playground.patch
Normal file
61
gnu/packages/patches/dune-istl-fix-solver-playground.patch
Normal file
|
@ -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
|
||||
|
Loading…
Reference in a new issue