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