Changes: 3.10¶
General:
- Removed –with-errorchecking configure option. 
- Added new command line option -viewfromoptions to disable - XXXViewFromOptions()calls.
Configure/Build:
- Removed –with-viewfromoptions configure option in favor of the new command line option -viewfromoptions. 
- Following options are renamed to have more consistant names: - --with-packages-dir -> --with-packages-download-dir --with-external-packages-dir -> --with-packages-build-dir --package-dirs -> --with-packages-search-path --search-dirs -> --with-executables-search-path 
IS:
PetscDraw:
PF:
Vec:
VecScatter:
PetscSection:
Mat:
- MatNullSpaceTest() now respects the options prefix of the provided Mat. 
- Added MatMatTransposeSolve() to MUMPS interface. 
- Added -mat_mumps_use_omp_threads [m] option to better support OpenMP in MUMPS. 
- Added MatPartitioningViewFromOptions(). 
- Added MatPartitioningApplyND() to compute a nested dissection ordering of a matrix. 
- Deprecated MatISGetMPIXAIJ() in favour of MatConvert(). 
- Added new matrix types for limited-memory variable-metric (MATLMVM) approximations of Jacobians. 
- Added MATAIJSELL, a sub-type of AIJ that uses SELL format internally for SELL-optimized operations. 
PC:
- PCKSPGetKSP() now raises an error if called on a PC which is not of type PCKSP 
- Added PCKSPSetKSP() 
- Added new PC based on the new LMVM matrices. 
KSP:
- The KSP viewing options have changed. Now - -ksp_compute_eigenvalues becomes -ksp_view_eigenvalues ascii 
- -ksp_plot_eigenvalues becomes -ksp_view_eigenvalues draw 
- -ksp_plot_eigencontours becomes -ksp_view_eigenvalues draw::draw_contour 
- -ksp_compute_eigenvalues_explicitly becomes -ksp_view_eigenvalues_explicit ascii 
- -ksp_plot_eigenvalues_explicitly becomes -ksp_view_eigenvalues_explicit draw 
- -ksp_compute_singularvalues becomes -ksp_view_singularvalues ascii 
- -ksp_final_residual becomes -ksp_view_final_residual 
 
- 
- Computes now an estimate of the operator’s norm in the same way as Saunders and MATLAB, and uses it in the type-specific stopping criterion - KSPLSQRConvergedDefault(); this now gives the same number of iterations as MATLAB’s- lsqr().
- Added - -ksp_lsqr_exact_mat_normand- KSPLSQRSetExactMatNorm()to optionally compute and use the exact Frobenius norm instead of the estimate.
- KSPLSQRMonitorDefault()and- -ksp_lsqr_monitornow additionally print the (estimate of) the operator’s norm.
- Allow setting - -ksp_convergence_test lsqr(it’s a default for- KSPLSQR, though).
- KSPLSQRSetStandardErrorVec()is replaced by- KSPLSQRSetComputeStandardErrorVec()which now specifies whether standard error vector should be computed instead of setting the vector;
- likewise, option - -ksp_lsqr_set_standard_erroris replaced by- -ksp_lsqr_compute_standard_error.
- Renamed - KSPLSQRGetArnorm()to- KSPLSQRGetNorms()and removed its- rhs_normargument.
- Renamed - KSPLSQRDefaultConverged()to- KSPLSQRConvergedDefault()merged with- KSPConvergedLSQR().
 
SNES:
- SNESSetTolerances() and -snes_max_funcs now accept -1 to indicate unlimited number of function evaluations. 
SNESLineSearch:
TAO:
- Added bound-constrained Newton-Krylov methods (BNLS, BNTR, BNTL). 
- All quasi-Newton methods updated to use the new LMVM Mat objects. 
- Added a bound-constrained quasi-Newton line search (BQNLS) method that re-uses BNLS infrastructure to replace BLMVM on next release. 
- Bound-constrained conjugate gradient method expanded with new CG update types and nonlinear preconditioning. 
- Removed - -tao_type test.
- Gradient testing can now be accessed with the options - -tao_test_gradient,- -tao_test_gradient_view, and Hessian testing can be done with- -tao_test_hessian,- -tao_test_hessian_view(also works for matrix-free Hessian).
TS:
- Added symplectic time integrators for separable Hamiltonian systems (-ts_type basicsymplectic). 
DM/DA:
- Renamed - DMDAGetReducedDMDA()to- DMDACreateCompatibleDMDA().
- Added DMGetCompatibility() and implementation for DMDA 
DMPlex:
- Added an interface DM and boundary label to DMPlexCreateHybridMesh() 
- More refined control of - DMView()when- PetscViewerType=PETSCVIEWERHDF5.- PetscViewerFormatcan now be one of- {PETSC_VIEWER_HDF5_VIZ, PETSC_VIEWER_HDF5_XDMF, PETSC_VIEWER_HDF5_PETSC, PETSC_VIEWER_DEFAULT}.
- Parallel mesh load (i.e. mesh distributed right from beginning) with - DMLoad(),- PetscViewerType=PETSCVIEWERHDF5and- PetscViewerFormat=PETSC_VIEWER_HDF5_XDMF, or- DMPlexCreateFromFile()and- -dm_plex_create_from_hdf5_xdmf.
PetscViewer:
Added argument to PetscViewerVTKAddField() to allow skipping of
DM check as fields are added
.. rubric:: SYS:
AO:
Sieve:
Fortran: