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