xref: /petsc/doc/changes/21.md (revision d000e8ac2eed99d0cf14796aab94de0aed57fd8b)
1# Changes: 2.1.0
2
3## Changes
4
5(See [Features] below)
6
7```{rubric} General:
8```
9
10- Simpler interface for structured grids, see
11  src/snes/examples/tutorials/ex5.c
12- "System routines" including PLog..., Options..., Viewer...,
13  Draw...., FList...,OList... now all begin with the string Petsc.
14  For example, PetscOptionsGetInt() and PetscLogBegin().
15- The calling sequence for PetscMalloc() was changed to return and
16  error code and deliver the pointer as a new final argument. Due to
17  this change, the macros CHKPTRA() and CHKPTRQ() were dropped.
18
19```{rubric} AO (Application Orderings):
20```
21
22```{rubric} TS (Timestepping Solvers):
23```
24
25```{rubric} SNES (Nonlinear Solvers):
26```
27
28```{rubric} SLES (Linear Solvers):
29```
30
31```{rubric} KSP (Krylov Subspace Methods):
32```
33
34```{rubric} PC (Preconditioners):
35```
36
37```{rubric} MAT (Matrices):
38```
39
40- When using MatCreate(), you must follow with a MatSetType() or
41  MatSetFromOptions() before using the matrix.
42- Changed
43  `int             MatShellSetOperation(Mat,MatOperation,void*);`
44  to
45  `int             MatShellSetOperation(Mat,MatOperation,void(*)());`
46- Changed
47  `int             MatShellGetOperation(Mat,MatOperation,void**);`
48  to
49  `int             MatShellGetOperation(Mat,MatOperation,void(**)());`
50- Changed IncompleteCholesky to ICC
51
52```{rubric} DA (Distributed Arrays):
53```
54
55- Changed the DAMG routines to DMMG routines.
56- DAGetColoring() now has new second argument that takes either
57  IS_COLORING_GLOBAL or IS_COLOR_GLOBAL and a new third argument
58  that takes the matrix type of either MATMPIAIJ or MATMPIBAIJ.
59
60```{rubric} VEC (Vectors):
61```
62
63- Changed `int VecSetOperation(Vec,VecOperation,void*);` to
64  `int VecSetOperation(Vec,VecOperation,void(*)());`
65
66```{rubric} IS (Index Sets):
67```
68
69```{rubric} General:
70```
71
72```{rubric} Draw (Graphics):
73```
74
75```{rubric} Viewers:
76```
77
78```{rubric} System:
79```
80
81```{rubric} Error Handling:
82```
83
84- CHKERRA() is now obselete; use CHKERRQ() instead. Changed the
85  calling sequence of SETERRQ() to eliminate the second input
86  parameter.
87
88```{rubric} Event Logging:
89```
90
91```{rubric} Fortran Interface:
92```
93
94## Features
95
96(See [Changes] above)
97
98```{rubric} General:
99```
100
101- Simpler interface for structured grids, see
102  src/snes/examples/tutorials/ex5.c
103- Complete infrastructure for parallel multigrid for linear and
104  nonlinear problems on structured grids. See
105  src/snes/examples/tutorials/ex19.c
106- Added manual pages for PETSc objects, enums etc.
107- Added html version of all source code and examples, accessible
108  from docs/index.html and the manual pages.
109
110```{rubric} AO (Application Orderings):
111```
112
113```{rubric} TS (Timestepping Solvers):
114```
115
116```{rubric} SNES (Nonlinear Solvers):
117```
118
119```{rubric} SLES (Linear Solvers):
120```
121
122```{rubric} KSP (Krylov Subspace Methods):
123```
124
125- Added support for "diagonal scaling" of preconditioned system as
126  required by most ODE integrators via PCDiagonalScaleSet().
127
128```{rubric} PC (Preconditioners):
129```
130
131```{rubric} MAT (Matrices):
132```
133
134- Added the Henry Tufo/Paul Fischer libtfs scalable parallel direct
135  solver for MPIAIJ matrices.
136- Added routine MatFDColoringSetRecompute().
137
138```{rubric} DA (Distributed Arrays):
139```
140
141- Added DAVecGetArray() to access the multidimensional arrays
142  directly in the global parallel indexing. See
143  src/snes/examples/tutorials/ex5.c and ex19.c
144- Add DAGetLocalVector()/DARestoreLocalVector() for inexpensive
145  access to local work vectors.
146
147```{rubric} VEC (Vectors):
148```
149
150- Added DMComposite routines to help with PDE optimization and
151  multicomponent PDEs.
152
153```{rubric} IS (Index Sets):
154```
155
156```{rubric} PF:
157```
158
159```{rubric} Draw (Graphics):
160```
161
162```{rubric} Viewers:
163```
164
165```{rubric} System:
166```
167
168```{rubric} Error Handling:
169```
170
171```{rubric} Event Logging:
172```
173
174```{rubric} Fortran Interface:
175```
176