r36626 - in /packages/fenics/dolfin/trunk/debian: changelog control patches/ patches/petsc31.patch rules

johannr-guest at users.alioth.debian.org johannr-guest at users.alioth.debian.org
Mon Jun 7 07:27:11 UTC 2010


Author: johannr-guest
Date: Mon Jun  7 07:27:06 2010
New Revision: 36626

URL: http://svn.debian.org/wsvn/debian-science/?sc=1&rev=36626
Log:
Add support for PETSc 3.1

Added:
    packages/fenics/dolfin/trunk/debian/patches/
    packages/fenics/dolfin/trunk/debian/patches/petsc31.patch
Modified:
    packages/fenics/dolfin/trunk/debian/changelog
    packages/fenics/dolfin/trunk/debian/control
    packages/fenics/dolfin/trunk/debian/rules

Modified: packages/fenics/dolfin/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/debian/changelog?rev=36626&op=diff
==============================================================================
--- packages/fenics/dolfin/trunk/debian/changelog (original)
+++ packages/fenics/dolfin/trunk/debian/changelog Mon Jun  7 07:27:06 2010
@@ -1,3 +1,10 @@
+dolfin (0.9.7-4) unstable; urgency=low
+
+  * Add support for PETSc 3.1 (closes: #583419).
+  * Minor fix in Vcs fields in debian/control.
+
+ -- Johannes Ring <johannr at simula.no>  Mon, 07 Jun 2010 09:25:13 +0200
+
 dolfin (0.9.7-3) unstable; urgency=low
 
   * debian/rules: Remove bashism (closes: #581470).

Modified: packages/fenics/dolfin/trunk/debian/control
URL: http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/debian/control?rev=36626&op=diff
==============================================================================
--- packages/fenics/dolfin/trunk/debian/control (original)
+++ packages/fenics/dolfin/trunk/debian/control Mon Jun  7 07:27:06 2010
@@ -6,7 +6,8 @@
 Build-Depends: cdbs (>= 0.4.49), debhelper (>= 7), python-all-dev, 
  python-central (>= 0.5.6), scons, swig (>= 1.3.35), python-numpy, pkg-config,
  libxml2-dev, libboost-dev, libboost-serialization-dev, libsuitesparse-dev,
- python-ufc (>= 1.4.0-2), libptscotch-dev, libpetsc3.0.0-dev, libslepc3.0.0-dev,
+ python-ufc (>= 1.4.0-2), libptscotch-dev, libpetsc3.1-dev,
+ libslepc3.0.0-dev (>= 3.0.0-p7.dfsg-7),
  libboost-filesystem-dev, libboost-program-options-dev
 Build-Depends-Indep: texlive-latex-recommended, texlive-latex-extra, 
  texlive-math-extra, ghostscript
@@ -14,8 +15,8 @@
 XS-Python-Version: >= 2.5
 Homepage: http://www.fenics.org/wiki/DOLFIN
 DM-Upload-Allowed: yes
-Vcs-Svn: svn://svn.debian.org/svn/debian-science/packages/dolfin/trunk
-Vcs-Browser: http://svn.debian.org/wsvn/debian-science/packages/dolfin/trunk
+Vcs-Svn: svn://svn.debian.org/svn/debian-science/packages/fenics/dolfin/trunk
+Vcs-Browser: http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/
 
 Package: libdolfin0-dev
 Section: libdevel
@@ -27,8 +28,8 @@
 Depends: libdolfin0 (= ${binary:Version}), libxml2-dev, pkg-config,
  libboost-dev, libboost-program-options-dev, libboost-filesystem-dev,
  libboost-serialization-dev, libsuitesparse-dev, python-dev, python-numpy,
- libptscotch-dev, libpetsc3.0.0-dev, libslepc3.0.0-dev, python-ufl,
- ${misc:Depends}
+ libptscotch-dev, libpetsc3.1-dev, libslepc3.0.0-dev (>= 3.0.0-p7.dfsg-7),
+ python-ufl, ${misc:Depends}
 Description: Shared links and header files for DOLFIN
  DOLFIN is the C++/Python interface of FEniCS, providing a consistent PSE
  (Problem Solving Environment) for ordinary and partial differential equations.

Added: packages/fenics/dolfin/trunk/debian/patches/petsc31.patch
URL: http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/debian/patches/petsc31.patch?rev=36626&op=file
==============================================================================
--- packages/fenics/dolfin/trunk/debian/patches/petsc31.patch (added)
+++ packages/fenics/dolfin/trunk/debian/patches/petsc31.patch Mon Jun  7 07:27:06 2010
@@ -1,0 +1,84 @@
+diff -Nru dolfin-0.9.7.orig/dolfin/la/PETScKrylovSolver.cpp dolfin-0.9.7/dolfin/la/PETScKrylovSolver.cpp
+--- dolfin-0.9.7.orig/dolfin/la/PETScKrylovSolver.cpp	2010-02-17 18:50:50.000000000 +0100
++++ dolfin-0.9.7/dolfin/la/PETScKrylovSolver.cpp	2010-06-03 10:21:18.931872308 +0200
+@@ -302,7 +302,12 @@
+   {
+     PC pc;
+     KSPGetPC(*ksp, &pc);
++    #if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR == 1
++    PCFactorSetShiftType(pc, MAT_SHIFT_NONZERO);
++    PCFactorSetShiftAmount(pc, parameters["shift_nonzero"]);
++    #else
+     PCFactorSetShiftNonzero(pc, parameters["shift_nonzero"]);
++    #endif
+   }
+ 
+   // Remember that we have read parameters
+@@ -354,7 +359,12 @@
+   {
+ #if PETSC_HAVE_ML
+   PCSetType(pc, pc_methods.find(pc_petsc)->second);
++  #if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR == 1
++  PCFactorSetShiftType(pc, MAT_SHIFT_NONZERO);
++  PCFactorSetShiftAmount(pc, PETSC_DECIDE);
++  #else
+   PCFactorSetShiftNonzero(pc, PETSC_DECIDE);
++  #endif
+ #else
+     warning("PETSc has not been compiled with the ML library for   "
+                    "algerbraic multigrid. Default PETSc solver will be used. "
+diff -Nru dolfin-0.9.7.orig/dolfin/la/PETScLUSolver.cpp dolfin-0.9.7/dolfin/la/PETScLUSolver.cpp
+--- dolfin-0.9.7.orig/dolfin/la/PETScLUSolver.cpp	2010-02-17 18:50:50.000000000 +0100
++++ dolfin-0.9.7/dolfin/la/PETScLUSolver.cpp	2010-06-03 10:22:21.377810839 +0200
+@@ -163,7 +163,12 @@
+   PCFactorSetMatSolverPackage(pc, lu_packages.find(lu_package)->second);
+ 
+   // Allow matrices with zero diagonals to be solved
++  #if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR == 1
++  PCFactorSetShiftType(pc, MAT_SHIFT_NONZERO);
++  PCFactorSetShiftAmount(pc, PETSC_DECIDE);
++  #else
+   PCFactorSetShiftNonzero(pc, PETSC_DECIDE);
++  #endif
+ 
+   // Do LU factorization in-place (saves memory)
+   PCASMSetUseInPlace(pc);
+diff -Nru dolfin-0.9.7.orig/dolfin/la/PETScMatrix.cpp dolfin-0.9.7/dolfin/la/PETScMatrix.cpp
+--- dolfin-0.9.7.orig/dolfin/la/PETScMatrix.cpp	2010-02-17 18:50:50.000000000 +0100
++++ dolfin-0.9.7/dolfin/la/PETScMatrix.cpp	2010-06-03 10:26:21.814126992 +0200
+@@ -105,7 +105,11 @@
+   {
+     // Create PETSc sequential matrix with a guess for number of non-zeroes (50 in thise case)
+     MatCreateSeqAIJ(PETSC_COMM_SELF, M, N, 50, PETSC_NULL, A.get());
++    #if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR == 1
++    MatSetOption(*A, MAT_KEEP_NONZERO_PATTERN, PETSC_TRUE);
++    #else
+     MatSetOption(*A, MAT_KEEP_ZEROED_ROWS, PETSC_TRUE);
++    #endif
+     MatSetFromOptions(*A);
+   }
+ }
+@@ -146,7 +150,11 @@
+                     reinterpret_cast<int*>(num_nonzeros), A.get());
+ 
+     // Set some options
++    #if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR == 1
++    MatSetOption(*A, MAT_KEEP_NONZERO_PATTERN, PETSC_TRUE);
++    #else
+     MatSetOption(*A, MAT_KEEP_ZEROED_ROWS, PETSC_TRUE);
++    #endif
+     MatZeroEntries(*A);
+ 
+     // Cleanup
+@@ -175,7 +183,11 @@
+                     A.get());
+ 
+     // Set some options
++    #if PETSC_VERSION_MAJOR == 3 && PETSC_VERSION_MINOR == 1
++    MatSetOption(*A, MAT_KEEP_NONZERO_PATTERN, PETSC_TRUE);
++    #else
+     MatSetOption(*A, MAT_KEEP_ZEROED_ROWS, PETSC_TRUE);
++    #endif
+     MatZeroEntries(*A);
+ 
+     // Cleanup

Modified: packages/fenics/dolfin/trunk/debian/rules
URL: http://svn.debian.org/wsvn/debian-science/packages/fenics/dolfin/trunk/debian/rules?rev=36626&op=diff
==============================================================================
--- packages/fenics/dolfin/trunk/debian/rules (original)
+++ packages/fenics/dolfin/trunk/debian/rules Mon Jun  7 07:27:06 2010
@@ -8,6 +8,7 @@
 include debian/cdbs/1/rules/copyright-check.mk
 include debian/cdbs/1/class/scons.mk
 include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/rules/simple-patchsys.mk
 
 # Enable parallel building
 ifneq (,$(findstring parallel,$(DEB_BUILD_OPTIONS)))
@@ -30,7 +31,7 @@
 	enableUmfpack=1 \
 	enableTrilinos=0 \
 	enablePetsc=1 \
-	withPetscDir=/usr/lib/petscdir/3.0.0 \
+	withPetscDir=/usr/lib/petscdir/3.1 \
 	withPetscArch=`petscarch` \
 	enableSlepc=1 \
 	withSlepcDir=/usr/lib/slepcdir/3.0.0 \




More information about the debian-science-commits mailing list