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