Also, I'm removing DMCreateDomainDecompositionDM from petsc-dev, which is a tad messy, since it took root, unfortunately (yes, I am guarding against DMDA serving up bad partitions unbeknownst to the user).
I was actually considering maintaining backward-compatibility since there may be a small number of people (perhaps only Ata) that could be using this functionality, although it is still pretty new. Replacing these entirely with DMSNESXXX would require them to upgrade to petsc-dev or petsc-3.4 (once it's out). I'm not yet sure what's easier overall.DmitryOn Sat, Feb 2, 2013 at 3:56 PM, Jed Brown <email@example.com> wrote:
Cool, I'll hold off on testing with petsc-dev then.On Sat, Feb 2, 2013 at 3:24 PM, Dmitry Karpeev <firstname.lastname@example.org> wrote:
Yes, I am going to remove those. I added those before petsc-3.3 was released, although it might not have made into the libMesh trunk before then.Dmitry.--On Sat, Feb 2, 2013 at 2:27 PM, Jed Brown <email@example.com> wrote:
Dmitry, this patch used an API (DMSetFunction and DMSetJacobian) that was deprecated at that time and has since been removed.It would be pretty easy to update this code to use DMSNESSetFunction and DMSNESSetJacobian (see src/snes/utils/dmdasnes.c for an example of how this should be done), but it's somewhat more work to maintain backward compatibility.Are you or someone else planning to do this?I would also suggest something like this (PETSC_VERSION_GT is defined in petsc-dev, needs petsc_macro.h support in general) to make this test work after we release petsc-3.4.diff --git i/src/solvers/petsc_linear_solver.C w/src/solvers/petsc_linear_solver.Cindex ae2c7a2..42e3d95 100644--- i/src/solvers/petsc_linear_solver.C+++ w/src/solvers/petsc_linear_solver.C@@ -217,7 +217,7 @@ void PetscLinearSolver<T>::init ()// Have the Krylov subspace method use our good initial guess// rather than 0, unless the user requested a KSPType of// preonly, which complains if asked to use initial guesses.-#if PETSC_VERSION_LESS_THAN(3,0,0) || !PETSC_VERSION_RELEASE+#if PETSC_VERSION_LESS_THAN(3,0,0) || PETSC_VERSION_GT(3,3,0)// Pre-3.0 and petsc-dev (as of October 2012) use non-const versionsKSPType ksp_type;#else@@ -336,7 +336,7 @@ void PetscLinearSolver<T>::init ( PetscMatrix<T>* matrix )// Have the Krylov subspace method use our good initial guess// rather than 0, unless the user requested a KSPType of// preonly, which complains if asked to use initial guesses.-#if PETSC_VERSION_LESS_THAN(3,0,0)+#if PETSC_VERSION_LESS_THAN(3,0,0) || PETSC_VERSION_GT(3,3,0)KSPType ksp_type;#elseconst KSPType ksp_type;
Dmitry Karpeev, Ph.D.Assistant Computational MathematicianMathematics and Computer ScienceArgonne National LaboratoryArgonne, Illinois, USAandFellowComputation InstituteUniversity of Chicago5735 S. Ellis AvenueChicago, IL 60637-----------------------Phone: 630-252-1229Fax: 630-252-5986