<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9e369fd737399299a9302e5620f12b9f274a82b2">https://github.com/macports/macports-ports/commit/9e369fd737399299a9302e5620f12b9f274a82b2</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 9e369fd737399299a9302e5620f12b9f274a82b2
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Sat Feb 22 10:17:54 2020 -0700

<span style='display:block; white-space:pre;color:#404040;'>    petsc: update version 3.9.3->3.12.4
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes https://trac.macports.org/ticket/58189
</span>---
 math/petsc/Portfile                          |  22 ++--
 math/petsc/files/patch-sundials.py.diff      |   2 +-
 math/petsc/files/patch-sundials_version.diff |  11 ++
 math/petsc/files/patch-superlu_dist.diff     | 156 ---------------------------
 4 files changed, 23 insertions(+), 168 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/Portfile b/math/petsc/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index cf1a909..f9c641c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/petsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/petsc/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,8 +6,8 @@ PortGroup           mpi 1.0
</span> PortGroup           muniversal 1.0
 
 name                petsc
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             3.9.3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             3.12.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          math science
 maintainers         {mcalhoun @MarcusCalhoun-Lopez} openmaintainer
 license             BSD
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -24,15 +24,15 @@ homepage            https://www.mcs.anl.gov/petsc/
</span> master_sites        http://ftp.mcs.anl.gov/pub/petsc/release-snapshots \
                     https://www.mcs.anl.gov/petsc/mirror/release-snapshots
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  269987d16e24794a184c11b3d14e3b1c88a9bff4 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  6c7f2c7a28433385d74d647b4934aaeea3c1b3053b207973c9497639b6ebf7c8 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    29386563
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  c6b86cfdc5a1122a9f07ed25234abb947d2f2b9c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  56a941130da93bbacb3cfa74dcacea1e3cd8e36a0341f9ced09977b1457084c3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    34671475
</span> 
 mpi.setup           default
 
 use_parallel_build  no
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set python.version  27
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set python.version  38
</span> set python_ver_dot  [join [split ${python.version} {}] "."]
 
 depends_build-append \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,8 +42,10 @@ depends_build-append \
</span> 
 # SUNDIALS requires SuiteSparse
 patchfiles-append   patch-sundials.py.diff
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# see https://gitlab.com/petsc/petsc/-/commit/0425e358a93e3df180e109da13d1c846f016d85b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   patch-superlu_dist.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# allow later versions of SUNDIALS version 2 to satisfy dependency
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-sundials_version.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> post-patch {
     reinplace -W ${worksrcpath} "s,#!/usr/bin/env python,#!${prefix}/bin/python${python_ver_dot}," configure
 }
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -83,11 +85,9 @@ post-build {
</span>         reinplace -E \
             "s|-L${prefix}/lib/gcc\[0-9\]/\[^ \]+ ||g" \
             ${worksrcpath}${arch}/arch-macports/lib/pkgconfig/PETSc.pc \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}${arch}/arch-macports/include/petscmachineinfo.h \
</span>             ${worksrcpath}${arch}/arch-macports/lib/petsc/conf/petscvariables
         reinplace -E \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            "s|\"${prefix}/lib/gcc\[0-9\]/\[^ \]+\" ||g" \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ${worksrcpath}${arch}/arch-macports/lib/petsc/conf/PETScBuildInternal.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        reinplace -E \
</span>             "s|-Wl,-rpath,${prefix}/lib/gcc\[0-9\]/\[^ \]+ ||g" \
             ${worksrcpath}${arch}/arch-macports/lib/petsc/conf/petscvariables
     }
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/files/patch-sundials.py.diff b/math/petsc/files/patch-sundials.py.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index 6760051..8151a59 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/petsc/files/patch-sundials.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/petsc/files/patch-sundials.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,6 +1,6 @@
</span> --- config/BuildSystem/config/packages/sundials.py.orig   2018-05-20 15:15:52.000000000 -0700
 +++ config/BuildSystem/config/packages/sundials.py     2018-06-20 08:22:07.000000000 -0700
<span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -18,7 +18,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -21,7 +21,8 @@
</span>      self.blasLapack = framework.require('config.packages.BlasLapack',self)
      self.mpi        = framework.require('config.packages.MPI',self)
      self.mathlib    = framework.require('config.packages.mathlib',self)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/files/patch-sundials_version.diff b/math/petsc/files/patch-sundials_version.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..9b9f0ca
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/petsc/files/patch-sundials_version.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- config/BuildSystem/config/packages/sundials.py.orig    2020-02-22 06:50:11.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ config/BuildSystem/config/packages/sundials.py 2020-02-22 07:08:59.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -4,7 +4,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   def __init__(self, framework):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     config.package.GNUPackage.__init__(self, framework)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.version      = '2.5.0'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    self.maxversion   = '2.5.100000'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    self.maxversion   = '2.9.100000'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.versionname  = 'SUNDIALS_PACKAGE_VERSION'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.download     = ['http://ftp.mcs.anl.gov/pub/petsc/externalpackages/sundials-'+self.version+'p1.tar.gz']
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     self.functions    = ['CVSpgmr']
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/petsc/files/patch-superlu_dist.diff b/math/petsc/files/patch-superlu_dist.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index e5d2ea4..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/petsc/files/patch-superlu_dist.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,156 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 0425e358a93e3df180e109da13d1c846f016d85b Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: Satish Balay <balay@mcs.anl.gov>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 12 Jun 2018 10:54:06 +0530
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH] superlu_dist: update to version v5.4.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/config/BuildSystem/config/packages/SuperLU_DIST.py b/config/BuildSystem/config/packages/SuperLU_DIST.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index cd5bd83..d8d4604 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- config/BuildSystem/config/packages/SuperLU_DIST.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ config/BuildSystem/config/packages/SuperLU_DIST.py
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -4,7 +4,7 @@ import os
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- class Configure(config.package.CMakePackage):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   def __init__(self, framework):
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     config.package.CMakePackage.__init__(self, framework)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    self.gitcommit         = 'v5.3.0'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    self.gitcommit         = 'v5.4.0'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     self.download         = ['git://https://github.com/xiaoyeli/superlu_dist','https://github.com/xiaoyeli/superlu_dist/archive/'+self.gitcommit+'.tar.gz']
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     self.downloaddirnames = ['SuperLU_DIST','superlu_dist']
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     self.functions        = ['set_default_options_dist']
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/ksp/ksp/examples/tests/ex33.c b/src/ksp/ksp/examples/tests/ex33.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index e788c31..c5f8a35 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/ksp/ksp/examples/tests/ex33.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/ksp/ksp/examples/tests/ex33.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -149,13 +149,13 @@ int main(int argc,char **args)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     test:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       suffix: superlu_dist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      args: -sigma 2.0 -pc_factor_mat_solver_type superlu_dist -mat_superlu_dist_rowperm NATURAL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      args: -sigma 2.0 -pc_factor_mat_solver_type superlu_dist -mat_superlu_dist_rowperm NOROWPERM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       requires: superlu_dist !complex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       output_file: output/ex33.out
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     test:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       suffix: superlu_dist_2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      args: -sigma 2.0 -pc_factor_mat_solver_type superlu_dist -mat_superlu_dist_rowperm NATURAL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      args: -sigma 2.0 -pc_factor_mat_solver_type superlu_dist -mat_superlu_dist_rowperm NOROWPERM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       requires: superlu_dist !complex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       nsize: 3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       output_file: output/ex33.out
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/mat/examples/tests/ex125.c b/src/mat/examples/tests/ex125.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 7600c5a..f78f41e 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/mat/examples/tests/ex125.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/mat/examples/tests/ex125.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -278,13 +278,13 @@ int main(int argc,char **args)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    test:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       suffix: superlu_dist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES) superlu_dist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      args: -f ${DATAFILESPATH}/matrices/small -mat_solver_type 1 -mat_superlu_dist_rowperm NATURAL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      args: -f ${DATAFILESPATH}/matrices/small -mat_solver_type 1 -mat_superlu_dist_rowperm NOROWPERM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    test:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       suffix: superlu_dist_2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       nsize: 3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       requires: datafilespath !complex double !define(PETSC_USE_64BIT_INDICES) superlu_dist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      args: -f ${DATAFILESPATH}/matrices/small -mat_solver_type 1 -mat_superlu_dist_rowperm NATURAL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      args: -f ${DATAFILESPATH}/matrices/small -mat_solver_type 1 -mat_superlu_dist_rowperm NOROWPERM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       output_file: output/ex125_superlu_dist.out
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    test:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/mat/examples/tests/ex127.c b/src/mat/examples/tests/ex127.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fd82322..fa1a088 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/mat/examples/tests/ex127.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/mat/examples/tests/ex127.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -203,6 +203,6 @@ int main(int argc,char **args)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       suffix: superlu_dist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       nsize: 3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       requires: superlu_dist
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      args: -test_choleskyfactor -mat_superlu_dist_rowperm NATURAL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      args: -test_choleskyfactor -mat_superlu_dist_rowperm NOROWPERM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       output_file: output/ex127_superlu_dist.out
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- TEST*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c b/src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 94cca91..98932d1 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/mat/impls/aij/mpi/superlu_dist/superlu_dist.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -563,7 +563,23 @@ static PetscErrorCode MatView_Info_SuperLU_DIST(Mat A,PetscViewer viewer)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ierr    = PetscViewerASCIIPrintf(viewer,"  Replace tiny pivots %s \n",PetscBools[options.ReplaceTinyPivot != NO]);CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ierr    = PetscViewerASCIIPrintf(viewer,"  Use iterative refinement %s \n",PetscBools[options.IterRefine == SLU_DOUBLE]);CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ierr    = PetscViewerASCIIPrintf(viewer,"  Processors in row %d col partition %d \n",lu->nprow,lu->npcol);CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  ierr    = PetscViewerASCIIPrintf(viewer,"  Row permutation %s \n",(options.RowPerm == NOROWPERM) ? "NATURAL" : "LargeDiag");CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  switch (options.RowPerm) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  case NOROWPERM:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ierr = PetscViewerASCIIPrintf(viewer,"  Row permutation NOROWPERM\n");CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  case LargeDiag_MC64:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ierr = PetscViewerASCIIPrintf(viewer,"  Row permutation LargeDiag_MC64\n");CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  case LargeDiag_AWPM:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ierr = PetscViewerASCIIPrintf(viewer,"  Row permutation LargeDiag_AWPM\n");CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  case MY_PERMR:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    ierr = PetscViewerASCIIPrintf(viewer,"  Row permutation MY_PERMR\n");CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_WRONG,"Unknown column permutation");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   switch (options.ColPerm) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   case NATURAL:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -626,7 +642,7 @@ static PetscErrorCode MatGetFactor_aij_superlu_dist(Mat A,MatFactorType ftype,Ma
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   superlu_dist_options_t options;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   PetscBool              flg;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   const char             *colperm[]     = {"NATURAL","MMD_AT_PLUS_A","MMD_ATA","METIS_AT_PLUS_A","PARMETIS"};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  const char             *rowperm[]     = {"LargeDiag","NATURAL"};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  const char             *rowperm[]     = {"NOROWPERM","LargeDiag_MC64","LargeDiag_AWPM","MY_PERMR"};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   const char             *factPattern[] = {"SamePattern","SamePattern_SameRowPerm","DOFACT"};
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   PetscBool              set;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -660,7 +676,7 @@ static PetscErrorCode MatGetFactor_aij_superlu_dist(Mat A,MatFactorType ftype,Ma
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      options.Equil             = YES;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      options.ParSymbFact       = NO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      options.ColPerm           = METIS_AT_PLUS_A;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--     options.RowPerm           = LargeDiag;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+     options.RowPerm           = LargeDiag_MC64;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      options.ReplaceTinyPivot  = YES;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      options.IterRefine        = DOUBLE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      options.Trans             = NOTRANS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -694,15 +710,23 @@ static PetscErrorCode MatGetFactor_aij_superlu_dist(Mat A,MatFactorType ftype,Ma
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ierr = PetscOptionsBool("-mat_superlu_dist_equil","Equilibrate matrix","None",options.Equil ? PETSC_TRUE : PETSC_FALSE,&flg,&set);CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (set && !flg) options.Equil = NO;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  ierr = PetscOptionsEList("-mat_superlu_dist_rowperm","Row permutation","None",rowperm,2,rowperm[0],&indx,&flg);CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  ierr = PetscOptionsEList("-mat_superlu_dist_rowperm","Row permutation","None",rowperm,4,rowperm[1],&indx,&flg);CHKERRQ(ierr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (flg) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     switch (indx) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case 0:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      options.RowPerm = LargeDiag;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      options.RowPerm = NOROWPERM;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     case 1:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      options.RowPerm = NOROWPERM;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      options.RowPerm = LargeDiag_MC64;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case 2:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      options.RowPerm = LargeDiag_AWPM;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    case 3:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      options.RowPerm = MY_PERMR;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    default:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+      SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ARG_WRONG,"Unknown row permutation");
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -815,7 +839,7 @@ PETSC_EXTERN PetscErrorCode MatSolverTypeRegister_SuperLU_DIST(void)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . -mat_superlu_dist_c <n> - number of columns in processor partition
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . -mat_superlu_dist_matinput <0,1> - matrix input mode; 0=global, 1=distributed
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . -mat_superlu_dist_equil - equilibrate the matrix
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--. -mat_superlu_dist_rowperm <LargeDiag,NATURAL> - row permutation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+. -mat_superlu_dist_rowperm <NOROWPERM,LargeDiag_MC64,LargeDiag_AWPM,MY_PERMR> - row permutation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . -mat_superlu_dist_colperm <MMD_AT_PLUS_A,MMD_ATA,NATURAL> - column permutation
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . -mat_superlu_dist_replacetinypivot - replace tiny pivots
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- . -mat_superlu_dist_fact <SamePattern> - (choose one of) SamePattern SamePattern_SameRowPerm DOFACT
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-2.10.5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span></pre><pre style='margin:0'>

</pre>