1# Changes: 3.10 2 3```{rubric} General: 4``` 5 6- Removed --with-errorchecking configure option. 7- Added new command line option -viewfromoptions to disable 8 `XXXViewFromOptions()` calls. 9 10```{rubric} Configure/Build: 11``` 12 13- Removed --with-viewfromoptions configure option in favor of the 14 new command line option -viewfromoptions. 15 16- Following options are renamed to have more consistent names: 17 18 ``` 19 --with-packages-dir -> --with-packages-download-dir 20 --with-external-packages-dir -> --with-packages-build-dir 21 --package-dirs -> --with-packages-search-path 22 --search-dirs -> --with-executables-search-path 23 ``` 24 25```{rubric} IS: 26``` 27 28```{rubric} PetscDraw: 29``` 30 31```{rubric} PF: 32``` 33 34```{rubric} Vec: 35``` 36 37```{rubric} VecScatter: 38``` 39 40```{rubric} PetscSection: 41``` 42 43```{rubric} Mat: 44``` 45 46- MatNullSpaceTest() now respects the options prefix of the provided 47 Mat. 48- Added MatMatTransposeSolve() to MUMPS interface. 49- Added -mat_mumps_use_omp_threads [m] option to better support 50 OpenMP in MUMPS. 51- Added MatPartitioningViewFromOptions(). 52- Added MatPartitioningApplyND() to compute a nested dissection 53 ordering of a matrix. 54- Deprecated MatISGetMPIXAIJ() in favour of MatConvert(). 55- Added new matrix types for limited-memory variable-metric 56 (MATLMVM) approximations of Jacobians. 57- Added MATAIJSELL, a sub-type of AIJ that uses SELL format 58 internally for SELL-optimized operations. 59 60```{rubric} PC: 61``` 62 63- PCKSPGetKSP() now raises an error if called on a PC which is not 64 of type PCKSP 65- Added PCKSPSetKSP() 66- Added new PC based on the new LMVM matrices. 67 68```{rubric} KSP: 69``` 70 71- The KSP viewing options have changed. Now 72 73 - -ksp_compute_eigenvalues becomes -ksp_view_eigenvalues ascii 74 - -ksp_plot_eigenvalues becomes -ksp_view_eigenvalues draw 75 - -ksp_plot_eigencontours becomes -ksp_view_eigenvalues 76 draw::draw_contour 77 - -ksp_compute_eigenvalues_explicitly becomes 78 -ksp_view_eigenvalues_explicit ascii 79 - -ksp_plot_eigenvalues_explicitly becomes 80 -ksp_view_eigenvalues_explicit draw 81 - -ksp_compute_singularvalues becomes -ksp_view_singularvalues 82 ascii 83 - -ksp_final_residual becomes -ksp_view_final_residual 84 85- `KSPLSQR` 86 87 - Computes now an estimate of the operator's norm in the same way 88 as Saunders and MATLAB, and uses it in the type-specific 89 stopping criterion `KSPLSQRConvergedDefault()`; this now 90 gives the same number of iterations as MATLAB's `lsqr()`. 91 - Added `-ksp_lsqr_exact_mat_norm` and 92 `KSPLSQRSetExactMatNorm()` to optionally compute and use the 93 exact Frobenius norm instead of the estimate. 94 - `KSPLSQRMonitorDefault()` and `-ksp_lsqr_monitor` now 95 additionally print the (estimate of) the operator's norm. 96 - Allow setting `-ksp_convergence_test lsqr` (it's a default 97 for `KSPLSQR`, though). 98 - `KSPLSQRSetStandardErrorVec()` is replaced by 99 `KSPLSQRSetComputeStandardErrorVec()` which now specifies 100 whether standard error vector should be computed instead of 101 setting the vector; 102 - likewise, option `-ksp_lsqr_set_standard_error` is replaced 103 by `-ksp_lsqr_compute_standard_error`. 104 - Renamed `KSPLSQRGetArnorm()` to `KSPLSQRGetNorms()` and 105 removed its `rhs_norm` argument. 106 - Renamed `KSPLSQRDefaultConverged()` to 107 `KSPLSQRConvergedDefault()` merged with 108 `KSPConvergedLSQR()`. 109 110```{rubric} SNES: 111``` 112 113- SNESSetTolerances() and -snes_max_funcs now accept -1 to indicate 114 unlimited number of function evaluations. 115 116```{rubric} SNESLineSearch: 117``` 118 119```{rubric} TAO: 120``` 121 122- Added bound-constrained Newton-Krylov methods (BNLS, BNTR, BNTL). 123- All quasi-Newton methods updated to use the new LMVM Mat objects. 124- Added a bound-constrained quasi-Newton line search (BQNLS) method 125 that re-uses BNLS infrastructure to replace BLMVM on next release. 126- Bound-constrained conjugate gradient method expanded with new CG 127 update types and nonlinear preconditioning. 128- Removed `-tao_type test`. 129- Gradient testing can now be accessed with the options 130 `-tao_test_gradient`, `-tao_test_gradient_view`, and Hessian 131 testing can be done with `-tao_test_hessian`, 132 `-tao_test_hessian_view` (also works for matrix-free Hessian). 133 134```{rubric} TS: 135``` 136 137- Added symplectic time integrators for separable Hamiltonian 138 systems (-ts_type basicsymplectic). 139 140```{rubric} DM/DA: 141``` 142 143- Renamed `DMDAGetReducedDMDA()` to 144 `DMDACreateCompatibleDMDA()`. 145- Added DMGetCompatibility() and implementation for DMDA 146 147```{rubric} DMPlex: 148``` 149 150- Added an interface DM and boundary label to 151 DMPlexCreateHybridMesh() 152- More refined control of `DMView()` when 153 `PetscViewerType=PETSCVIEWERHDF5`. `PetscViewerFormat` can now 154 be one of 155 `{PETSC_VIEWER_HDF5_VIZ, PETSC_VIEWER_HDF5_XDMF, PETSC_VIEWER_HDF5_PETSC, PETSC_VIEWER_DEFAULT}`. 156- Parallel mesh load (i.e. mesh distributed right from beginning) 157 with `DMLoad()`, `PetscViewerType=PETSCVIEWERHDF5` and 158 `PetscViewerFormat=PETSC_VIEWER_HDF5_XDMF`, or 159 `DMPlexCreateFromFile()` and `-dm_plex_create_from_hdf5_xdmf`. 160 161```{rubric} PetscViewer: 162``` 163 164Added argument to `PetscViewerVTKAddField()` to allow skipping of 165DM check as fields are added 166.. rubric:: SYS: 167 168```{rubric} AO: 169``` 170 171```{rubric} Sieve: 172``` 173 174```{rubric} Fortran: 175``` 176