============== Changes: 2.1.1 ============== Changes ------- (See `Features`_ below) .. rubric:: General: - Scalar -> PetscScalar (and added PetscReal) - The make files are reorganized. bmake/${PETSC_ARCH}/base_variables -> variables, and base.site -> packages. base ->rules. - If using makefiles from earlier version of PETSc, change - ``include ${PETSC_DIR}/bmake/${PETSC_ARCH}/base`` to - ``include ${PETSC_DIR}/conf/base`` - The Microsoft Windows build of PETSc with win32_gnu, win32_intel and win32_mpich now default to using MPICH-1.2.3The complex version of the PETSc libraries can only be installed with C++ compilers that provide the std::complex implementation. .. rubric:: AO (Application Orderings): .. rubric:: TS (Timestepping Solvers): .. rubric:: DMMG - Default Krylov method on outer linear solver is now FGMRES instead of GMRES. Also default multigrid type is now full instead of multiplicative .. rubric:: SNES (Nonlinear Solvers): .. rubric:: SLES (Linear Solvers): .. rubric:: KSP (Krylov Subspace Methods): - All KSP methods with left preconditioning use the preconditioned residual by default (before CG, CR used the unpreconditioned residual). Use -ksp_norm_type to change it, see next bullet. - ``KSPSetInitialGuessNonzero(), KSPSetComputeSingularValues(), KSPSetComputeEigenvalues(),`` all now take a PetscTruth as the second argument allowing them to each be toggled on or off - ``KSPSetAvoidNorms(), KSPSetUseUnpreconditionedResidual(), KSPSetComputeResidual()`` have all been merged into ``KSPSetNormType()`` .. rubric:: PC (Preconditioners): .. rubric:: MAT (Matrices): - Added additional local relaxation argument to ``MatRelax()`` - Added additional argument to ``MatAXPY()`` - MatSNESMFFormJacobian() has been renamed to MatSNESMFComputeJacobian() - added another field to MatLUInfo and MatILUInfo - MatCreate() now requires a call to MatSetType() or MatSetFromOptions() - The MatType is assigned in either of these calls. .. rubric:: DA (Distributed Arrays): In order to set the grid sizes with -da_grid_x, -da_grid_y, -da_grid_z one must pass in negative values for the M, N, and P arguments in the call to DACreateXX(). If values are not set from the options database then the absolute value of the M,N,P is used as the default. - Changed DAGetColoring() to two routines, DAGetColoring() and DAGetMatrix() .. rubric:: VEC (Vectors): - Changed VecCreate() to no longer take in size arguments. Use VecCreate() & VecSetSizes() .. rubric:: IS (Index Sets): - Changed IS_COLORING_LOCAL to IS_COLORING_GHOSTED and IS_COLORING_GLOBAL to IS_COLORING_LOCAL .. rubric:: General: ``PetscOptionsGetDouble()`` is now ``PetscOptionsGetReal()`` .. rubric:: Draw (Graphics): .. rubric:: Viewers: .. rubric:: System: .. rubric:: Error Handling: .. rubric:: Event Logging: Logging functionality is completely reworked. Now one can register new stages, classes and events. Every event is associated with a class. So, users would have to create a class for all userevents. - ``PetscLogStageRegister()`` now takes an int \* as the first argument - ``PetscLogEventRegister()`` takes an int as the third argument, not a char \* .. rubric:: Fortran Interface: Features -------- (See `Changes`_ above) .. rubric:: General: - configure can now be used to build PETSc on some architectures. Currently tested on Linux, IRIX, Solaris machines.We'd like your feedback on this feature; please send ``configure_petsc.log`` and ``config.log``\ when reporting problems with configure. - Added support for ESI vectors and matrices. Use BOPT=g_c++ or O_c++Better - support for automatic differentiation with ADIC .. rubric:: AO (Application Orderings): .. rubric:: TS (Timestepping Solvers): .. rubric:: SNES (Nonlinear Solvers): .. rubric:: SLES (Linear Solvers): .. rubric:: KSP (Krylov Subspace Methods): .. rubric:: PC (Preconditioners): - added -pc_lu_zeropivot and -pc_ilu_zeropivot (still need function interfaces) .. rubric:: MAT (Matrices): .. rubric:: DA (Distributed Arrays): Added DAGetArray() and DARestoreArray() that give workspace appropriate for a local function. These may be used in routines that diverentiated with ADIC:-) .. rubric:: VEC (Vectors): - Added the utility routines which do special cases of vecscatters VecConvertMPIToSeqAll(),VecConvertMPIToMPIZero() .. rubric:: IS (Index Sets): .. rubric:: PF: .. rubric:: Draw (Graphics): - added DrawEllipse() .. rubric:: Viewers: - added PetscViewerASCIISetMode() .. rubric:: System: .. rubric:: Error Handling: .. rubric:: Event Logging: .. rubric:: Fortran Interface: