1*7f296bb3SBarry Smith# Changes: 2.1.6 2*7f296bb3SBarry Smith 3*7f296bb3SBarry Smith```{rubric} General: 4*7f296bb3SBarry Smith``` 5*7f296bb3SBarry Smith 6*7f296bb3SBarry Smith- Added support for Cray X1 7*7f296bb3SBarry Smith- Added option '-suggest' to petscarch script. It suggests some 8*7f296bb3SBarry Smith possible PETSC_ARCHes to use 9*7f296bb3SBarry Smith- Installation instructions are rewritten 10*7f296bb3SBarry Smith 11*7f296bb3SBarry Smith```{rubric} Vec: 12*7f296bb3SBarry Smith``` 13*7f296bb3SBarry Smith 14*7f296bb3SBarry Smith- VecNorm now caches NORM_2 15*7f296bb3SBarry Smith- Added VecStrideScale(), VecStrideGather(), VecStrideScatter() 16*7f296bb3SBarry Smith- Added VecBlockNorm(),VecBlockMax(),VecBlockMin(),VecBlockScale() 17*7f296bb3SBarry Smith 18*7f296bb3SBarry Smith```{rubric} Mat: 19*7f296bb3SBarry Smith``` 20*7f296bb3SBarry Smith 21*7f296bb3SBarry Smith- The interface to external packages that support direct solvers has 22*7f296bb3SBarry Smith been reorganized. This is implemented using new matrix types 23*7f296bb3SBarry Smith MATSEQAIJSPOOLES, MATMPIAIJSPOOLES, MATSEQSBAIJSPOOLES, 24*7f296bb3SBarry Smith MATMPISBAIJSPOOLES, MATSUPERLU, MATSUPERLU_DIST, 25*7f296bb3SBarry Smith MATUMFPACK,MATESSL, MATLUSOL, MATAIJMUMPS, MATSBAIJMUMPS, 26*7f296bb3SBarry Smith MATDSCPACK 27*7f296bb3SBarry Smith- Added new convenience matrix types which automatically switch 28*7f296bb3SBarry Smith between Seq and MPI implementations depending on the size of the 29*7f296bb3SBarry Smith communicator used during creation: MATAIJ, MATBAIJ, MATSBAIJ, 30*7f296bb3SBarry Smith MATMAIJ, MATDENSE, MATBDIAG 31*7f296bb3SBarry Smith- Changed default matrix-free compute h to use WP since it uses 32*7f296bb3SBarry Smith fewer reductions 33*7f296bb3SBarry Smith- Replace the datatypes MatLUInfo and MatILUInfo by MatFactorInfo 34*7f296bb3SBarry Smith- Added cholesky support to SeqAIJ 35*7f296bb3SBarry Smith- Added support for SUBSET_NONZERO_PATTERN with MatAXPY for AIJ & 36*7f296bb3SBarry Smith BAIJ 37*7f296bb3SBarry Smith- Added MatIsSymmetric() for AIJ 38*7f296bb3SBarry Smith- Added LDA support in SeqDense 39*7f296bb3SBarry Smith- The ncols argument made optional in MatGetRow() 40*7f296bb3SBarry Smith- Added MAT_KEEP_ZEROED_ROWS for MPIROWBS 41*7f296bb3SBarry Smith- Removed -aij_oneindex support from AIJ code 42*7f296bb3SBarry Smith- Added MatPartitioningSetPartitionWeights() - usable with ParMetis 43*7f296bb3SBarry Smith- MatGetSubMatrices() now works for ROWBS 44*7f296bb3SBarry Smith 45*7f296bb3SBarry Smith```{rubric} PC: 46*7f296bb3SBarry Smith``` 47*7f296bb3SBarry Smith 48*7f296bb3SBarry Smith- Added PCICCSetDamping() or -pc_icc_damping 49*7f296bb3SBarry Smith- Added -pc_constant_null_space 50*7f296bb3SBarry Smith- Added PCILUSetShift() or -pc_ilu_shift to support damping using 51*7f296bb3SBarry Smith the identity 52*7f296bb3SBarry Smith- Added PCLUSetShift() or -pc_lu_shift to support damping using the 53*7f296bb3SBarry Smith identity 54*7f296bb3SBarry Smith- Added PCICCSetShift() or -pc_icc_shift to support damping using 55*7f296bb3SBarry Smith the identity 56*7f296bb3SBarry Smith 57*7f296bb3SBarry Smith```{rubric} KSP: 58*7f296bb3SBarry Smith``` 59*7f296bb3SBarry Smith 60*7f296bb3SBarry Smith- Added a new ksp_type LGMRES 61*7f296bb3SBarry Smith- Added KSPSetComputeSingularValues() support to ksp_type FGMRES 62*7f296bb3SBarry Smith 63*7f296bb3SBarry Smith```{rubric} TS: 64*7f296bb3SBarry Smith``` 65*7f296bb3SBarry Smith 66*7f296bb3SBarry Smith- Added support for Runge-Kutta using ts_type TS_RUNGE_KUTTA 67*7f296bb3SBarry Smith 68*7f296bb3SBarry Smith```{rubric} DMMG: 69*7f296bb3SBarry Smith``` 70*7f296bb3SBarry Smith 71*7f296bb3SBarry Smith- -dmmg_jacobian_period -1 => jacobian is frozen after initial 72*7f296bb3SBarry Smith construction 73*7f296bb3SBarry Smith 74*7f296bb3SBarry Smith```{rubric} DA: 75*7f296bb3SBarry Smith``` 76*7f296bb3SBarry Smith 77*7f296bb3SBarry Smith- Allow user preallocation of jacobian using DASetGetMatrix() 78*7f296bb3SBarry Smith- DAGetMatrix now correctly returns the requested type. 79*7f296bb3SBarry Smith- -mat_type typename overloads the requested type for DAGetMatrix 80*7f296bb3SBarry Smith 81*7f296bb3SBarry Smith```{rubric} SYS: 82*7f296bb3SBarry Smith``` 83*7f296bb3SBarry Smith 84*7f296bb3SBarry Smith- Added new viewer_type PETSC_VIEWER_NETCDF, PETSC_VIEWER_HDF4 85*7f296bb3SBarry Smith- PETSc error handlers now trap many more signals. 86*7f296bb3SBarry Smith 87*7f296bb3SBarry Smith```{rubric} Fortran: 88*7f296bb3SBarry Smith``` 89*7f296bb3SBarry Smith 90*7f296bb3SBarry Smith- PetscPushErrorHandler() and PetscPopErrorHandler() now supported 91*7f296bb3SBarry Smith- PetscPrintf() and PetscSynchronizedPrintf() now work in fortran 92*7f296bb3SBarry Smith with a single string 93*7f296bb3SBarry Smith 94*7f296bb3SBarry Smith```{rubric} External Packages: 95*7f296bb3SBarry Smith``` 96*7f296bb3SBarry Smith 97*7f296bb3SBarry Smith- Added TSPVodeGetParameters() 98*7f296bb3SBarry Smith- Parmetis-3 support added using MatPartitionSetNParts(), 99*7f296bb3SBarry Smith ISPartitionCount() 100*7f296bb3SBarry Smith- MUMPS support added, including complex (using mat_type 101*7f296bb3SBarry Smith MATAIJMUMPS, MATSBAIJMUMPS) 102*7f296bb3SBarry Smith- Updated SuperLU_DIST interface to SuperLU_DIST_2.0 103*7f296bb3SBarry Smith- Added Spooles complex support 104*7f296bb3SBarry Smith- Added Spooles cholesky for SeqAIJ 105*7f296bb3SBarry Smith- ADIC: ad_GRAD_MAX is now set in the application and compiled into 106*7f296bb3SBarry Smith code when compiling appplication 107*7f296bb3SBarry Smith- The following variable names - in the buildsystem are changed - 108*7f296bb3SBarry Smith that correspond with SuperLU_DIST SUPERLUDIST_INCLUDE -> 109*7f296bb3SBarry Smith SUPERLU_DIST_INCLUDE SUPERLUDIST_LIB -> SUPERLU_DIST_LIB 110*7f296bb3SBarry Smith PETSCHAVE_SUPERLU -> PETSC_HAVE_SUPERLU 111