1*7f296bb3SBarry Smith# Changes: 3.11 2*7f296bb3SBarry Smith 3*7f296bb3SBarry Smith```{rubric} General: 4*7f296bb3SBarry Smith``` 5*7f296bb3SBarry Smith 6*7f296bb3SBarry Smith```{rubric} Configure/Build: 7*7f296bb3SBarry Smith``` 8*7f296bb3SBarry Smith 9*7f296bb3SBarry Smith- Configure now supports Python 3.4+ in addition to Python 2.6+. 10*7f296bb3SBarry Smith 11*7f296bb3SBarry Smith```{rubric} IS: 12*7f296bb3SBarry Smith``` 13*7f296bb3SBarry Smith 14*7f296bb3SBarry Smith```{rubric} PetscDraw: 15*7f296bb3SBarry Smith``` 16*7f296bb3SBarry Smith 17*7f296bb3SBarry Smith```{rubric} PF: 18*7f296bb3SBarry Smith``` 19*7f296bb3SBarry Smith 20*7f296bb3SBarry Smith```{rubric} Vec: 21*7f296bb3SBarry Smith``` 22*7f296bb3SBarry Smith 23*7f296bb3SBarry Smith```{rubric} VecScatter: 24*7f296bb3SBarry Smith``` 25*7f296bb3SBarry Smith 26*7f296bb3SBarry Smith- Removed VecScatterCreateEmpty(MPI_Comm,VecScatter\*) 27*7f296bb3SBarry Smith- Added a PetscSF implementation of VecScatter. One can enable it 28*7f296bb3SBarry Smith with -vecscatter_type sf 29*7f296bb3SBarry Smith 30*7f296bb3SBarry Smith```{rubric} PetscSection: 31*7f296bb3SBarry Smith``` 32*7f296bb3SBarry Smith 33*7f296bb3SBarry Smith```{rubric} Mat: 34*7f296bb3SBarry Smith``` 35*7f296bb3SBarry Smith 36*7f296bb3SBarry Smith- MatRegisterBaseName() changed to MatRegisterRootName() 37*7f296bb3SBarry Smith- Added -mat_mffd_complex to use complex number trick instead of 38*7f296bb3SBarry Smith differencing to evaluate product; requires real functions but 39*7f296bb3SBarry Smith complex configuration 40*7f296bb3SBarry Smith- Added initial support for HDF5 files I/O, particularly MATLAB 41*7f296bb3SBarry Smith MAT-File Version 7.3, currently only for reading. See also 42*7f296bb3SBarry Smith documentation of MatLoad(). 43*7f296bb3SBarry Smith 44*7f296bb3SBarry Smith```{rubric} PC: 45*7f296bb3SBarry Smith``` 46*7f296bb3SBarry Smith 47*7f296bb3SBarry Smith- PCGetSetUpFailedReason is now PCGetFailedReason() 48*7f296bb3SBarry Smith 49*7f296bb3SBarry Smith```{rubric} KSP: 50*7f296bb3SBarry Smith``` 51*7f296bb3SBarry Smith 52*7f296bb3SBarry Smith- KSP_DIVERGED_PCSETUP_FAILED replaced with KSP_DIVERGED_PC_FAILED 53*7f296bb3SBarry Smith- Previously the KSP Chebyshev implementation always did one more 54*7f296bb3SBarry Smith iteration than requested. For example -ksp_max_it 2 resulted in 3 55*7f296bb3SBarry Smith Chebyshev iterations. This has been corrected. Due to this 56*7f296bb3SBarry Smith correction your solver may seem to converge more slowely than it 57*7f296bb3SBarry Smith previous has. Note that the multigrid solvers (PCMG, PCGAMG, PCML) 58*7f296bb3SBarry Smith used by default Chebyshev (with 3 actual steps) in their smoother, 59*7f296bb3SBarry Smith thus the multigrid solvers will now have seemingly different 60*7f296bb3SBarry Smith convergence rates since they will now use only 2 actual steps. To 61*7f296bb3SBarry Smith reproduce previous behavior change the number of smoother 62*7f296bb3SBarry Smith iterations to match the previous actual amount, this can be done 63*7f296bb3SBarry Smith with for example -mg_levels_ksp_max_it 3 (or 64*7f296bb3SBarry Smith -prefix_mg_levels_ksp_max_it 3 if the KSP object has a prefix). 65*7f296bb3SBarry Smith 66*7f296bb3SBarry Smith```{rubric} SNES: 67*7f296bb3SBarry Smith``` 68*7f296bb3SBarry Smith 69*7f296bb3SBarry Smith- Added SNESKSPTRANSPOSEONLY: a linear solver only SNES that solves 70*7f296bb3SBarry Smith the transposed linear system. 71*7f296bb3SBarry Smith 72*7f296bb3SBarry Smith```{rubric} SNESLineSearch: 73*7f296bb3SBarry Smith``` 74*7f296bb3SBarry Smith 75*7f296bb3SBarry Smith```{rubric} TS: 76*7f296bb3SBarry Smith``` 77*7f296bb3SBarry Smith 78*7f296bb3SBarry Smith- Added TSADAPTHISTORY: a new TSAdapt implementation that follows a 79*7f296bb3SBarry Smith given time history, that can set with TSAdaptHistorySetHistory(). 80*7f296bb3SBarry Smith- Added TSTrajectoryGetVecs() to reconstructs states and time 81*7f296bb3SBarry Smith derivative vectors from a TSTrajectory. 82*7f296bb3SBarry Smith 83*7f296bb3SBarry Smith```{rubric} TAO: 84*7f296bb3SBarry Smith``` 85*7f296bb3SBarry Smith 86*7f296bb3SBarry Smith- Added extra void\* (context) pointer to the function prototype to 87*7f296bb3SBarry Smith be passed as user-defined update function to TaoSetUpdate(). 88*7f296bb3SBarry Smith 89*7f296bb3SBarry Smith```{rubric} DM/DA: 90*7f296bb3SBarry Smith``` 91*7f296bb3SBarry Smith 92*7f296bb3SBarry Smith- Added DMStag and associated functions, for working with quantities 93*7f296bb3SBarry Smith on regular staggered grids, in a manner similar to the usage of 94*7f296bb3SBarry Smith DMDA for colocated quantities. 95*7f296bb3SBarry Smith- Added DMLocalToGlobal() and DMLocalToGlobal() 96*7f296bb3SBarry Smith 97*7f296bb3SBarry Smith```{rubric} DMPlex: 98*7f296bb3SBarry Smith``` 99*7f296bb3SBarry Smith 100*7f296bb3SBarry Smith- Reorganized PetscDS handling completely in order to support 101*7f296bb3SBarry Smith multiple subdomains. DMSetDS() was removed in favor of 102*7f296bb3SBarry Smith DMSetField()+DMCreateDS(). 103*7f296bb3SBarry Smith- Added additional PetscSF\* return argument to DMPlexGetGatherDM() 104*7f296bb3SBarry Smith (made public) and DMPlexGetRedundantDM(). 105*7f296bb3SBarry Smith 106*7f296bb3SBarry Smith```{rubric} PetscViewer: 107*7f296bb3SBarry Smith``` 108*7f296bb3SBarry Smith 109*7f296bb3SBarry Smith- Added new command line options to GLVis viewer, see 110*7f296bb3SBarry Smith PetscViewerGLVisOpen() manual page for details. 111*7f296bb3SBarry Smith 112*7f296bb3SBarry Smith- PetscViewerHDF5{Has,Read,Write}Attribute(): 113*7f296bb3SBarry Smith 114*7f296bb3SBarry Smith - take the input path as relative to the current (pushed) group 115*7f296bb3SBarry Smith - support not only dataset attributes but also group attributes 116*7f296bb3SBarry Smith - PetscViewerHDF5WriteAttribute() creates the group if it doesn't 117*7f296bb3SBarry Smith exist 118*7f296bb3SBarry Smith - PetscViewerHDF5HasAttribute() returns false if the parent path 119*7f296bb3SBarry Smith doesn’t exist instead of failing 120*7f296bb3SBarry Smith 121*7f296bb3SBarry Smith- Added PetscViewerHDF5Has{Group,Object}() 122*7f296bb3SBarry Smith 123*7f296bb3SBarry Smith- Added PetscViewerHDF5{Has,Write,Read}ObjectAttribute() 124*7f296bb3SBarry Smith 125*7f296bb3SBarry Smith- PetscViewerHDF5OpenGroup() opens the root group (/) if none is 126*7f296bb3SBarry Smith pushed 127*7f296bb3SBarry Smith 128*7f296bb3SBarry Smith```{rubric} SYS: 129*7f296bb3SBarry Smith``` 130*7f296bb3SBarry Smith 131*7f296bb3SBarry SmithPetscOptionsGetViewer() takes a NULL or PetscOptions object as the 132*7f296bb3SBarry Smithsecond argument. 133*7f296bb3SBarry Smith.. rubric:: AO: 134*7f296bb3SBarry Smith 135*7f296bb3SBarry Smith```{rubric} Sieve: 136*7f296bb3SBarry Smith``` 137*7f296bb3SBarry Smith 138*7f296bb3SBarry Smith```{rubric} Fortran: 139*7f296bb3SBarry Smith``` 140