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