xref: /petsc/doc/changes/216.md (revision b11d9968bc79904c690b122f9399be46447eb113)
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