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
KSPLSQR
- 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'slsqr()
. - Added
-ksp_lsqr_exact_mat_norm
andKSPLSQRSetExactMatNorm()
to optionally compute and use the exact Frobenius norm instead of the estimate. KSPLSQRMonitorDefault()
and-ksp_lsqr_monitor
now additionally print the (estimate of) the operator's norm.- Allow setting
-ksp_convergence_test lsqr
(it's a default forKSPLSQR
, though). KSPLSQRSetStandardErrorVec()
is replaced byKSPLSQRSetComputeStandardErrorVec()
which now specifies whether standard error vector should be computed instead of setting the vector;- likewise, option
-ksp_lsqr_set_standard_error
is replaced by-ksp_lsqr_compute_standard_error
. - Renamed
KSPLSQRGetArnorm()
toKSPLSQRGetNorms()
and removed itsrhs_norm
argument. - Renamed
KSPLSQRDefaultConverged()
toKSPLSQRConvergedDefault()
merged withKSPConvergedLSQR()
.
- 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
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()
toDMDACreateCompatibleDMDA()
. - Added DMGetCompatibility() and implementation for DMDA
DMPlex:
- Added an interface DM and boundary label to DMPlexCreateHybridMesh()
- More refined control of
DMView()
whenPetscViewerType=PETSCVIEWERHDF5
.PetscViewerFormat
can 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=PETSCVIEWERHDF5
andPetscViewerFormat=PETSC_VIEWER_HDF5_XDMF
, orDMPlexCreateFromFile()
and-dm_plex_create_from_hdf5_xdmf
.
PetscViewer:
PetscViewerVTKAddField()
to allow skipping of DM check as fields are added