1*7f296bb3SBarry Smith# Changes: 2.3.2 2*7f296bb3SBarry Smith 3*7f296bb3SBarry Smith```{rubric} General: 4*7f296bb3SBarry Smith``` 5*7f296bb3SBarry Smith 6*7f296bb3SBarry Smith- We have a new Semi-Lagrangian advection solver using the method of 7*7f296bb3SBarry Smith characteristics to the `src/contrib/semiLagrange`, contributed 8*7f296bb3SBarry Smith by [Richard Katz](mailto:katz@ldeo.columbia.edu) and [Marc 9*7f296bb3SBarry Smith Spiegelman](mailto:mspieg@ldeo.columbia.edu) of Columbia 10*7f296bb3SBarry Smith University. Examples are included. 11*7f296bb3SBarry Smith- Added C99 complex support. [check configure changes below] 12*7f296bb3SBarry Smith 13*7f296bb3SBarry Smith```{rubric} Vec: 14*7f296bb3SBarry Smith``` 15*7f296bb3SBarry Smith 16*7f296bb3SBarry Smith```{rubric} Mat: 17*7f296bb3SBarry Smith``` 18*7f296bb3SBarry Smith 19*7f296bb3SBarry Smith- Added MatCreateScatter() and MATSCATTER to easily construct 20*7f296bb3SBarry Smith efficient "restriction operators" 21*7f296bb3SBarry Smith- Removed MatConvertRegister() and friends, added `(*convertfrom)` to 22*7f296bb3SBarry Smith Mat function table to replace it 23*7f296bb3SBarry Smith 24*7f296bb3SBarry Smith```{rubric} PC: 25*7f296bb3SBarry Smith``` 26*7f296bb3SBarry Smith 27*7f296bb3SBarry Smith- Added PCGALERKIN and PCGalerkinSetRestriction/Interpolation() to 28*7f296bb3SBarry Smith allow easy creating of Galerkin-like preconditioners. 29*7f296bb3SBarry Smith- Added PCGetOperatorsSet() 30*7f296bb3SBarry Smith- Added support for the KSP/PC to auto-create the Mat(s) for you. 31*7f296bb3SBarry Smith (Which you usally set with KSP/PCSetOperators()). See manual page 32*7f296bb3SBarry Smith for KSP/PCGetOperators(). Note this is slightly speculative code 33*7f296bb3SBarry Smith currently. 34*7f296bb3SBarry Smith- PCSetOperators()/KSPSetOperators() now do reference counting on 35*7f296bb3SBarry Smith the operators you pass in. Current usage will work, however this 36*7f296bb3SBarry Smith means you NO LONGER need to keep a reference to the operators 37*7f296bb3SBarry Smith around until the KSP/PC object is destroyed. 38*7f296bb3SBarry Smith 39*7f296bb3SBarry Smith```{rubric} KSP: 40*7f296bb3SBarry Smith``` 41*7f296bb3SBarry Smith 42*7f296bb3SBarry Smith- Added KSPDefaultConvergedSetUIRNorm() and 43*7f296bb3SBarry Smith -ksp_default_converged_initial_residual_norm to go back to the pre 44*7f296bb3SBarry Smith PETSc 2.3.1 way of determiming relative tolerance for convergence. 45*7f296bb3SBarry Smith- Added KSPGetOperatorsSet() 46*7f296bb3SBarry Smith 47*7f296bb3SBarry Smith```{rubric} config/configure.py: 48*7f296bb3SBarry Smith``` 49*7f296bb3SBarry Smith 50*7f296bb3SBarry Smith- Now c++ complex version requires the options' 51*7f296bb3SBarry Smith '--with-scalar-type=complex --with-clanguage=cxx'. Specyfing only 52*7f296bb3SBarry Smith '--with-scalar-type=complex' will default to '--with-clanguage=c' 53*7f296bb3SBarry Smith i.e uses C99 complex support. 54*7f296bb3SBarry Smith 55*7f296bb3SBarry Smith```{rubric} SNES: 56*7f296bb3SBarry Smith``` 57*7f296bb3SBarry Smith 58*7f296bb3SBarry Smith- The convergence test functions for SNES now pass the current 59*7f296bb3SBarry Smith iteration in as the second argument. Also the convergence test 60*7f296bb3SBarry Smith routine is called after the initial function evaluation in SNES 61*7f296bb3SBarry Smith but before the first Newton step is computed. 62*7f296bb3SBarry Smith- Added SNESSetKSP(). 63*7f296bb3SBarry Smith 64*7f296bb3SBarry Smith```{rubric} TS: 65*7f296bb3SBarry Smith``` 66*7f296bb3SBarry Smith 67*7f296bb3SBarry Smith```{rubric} DA: 68*7f296bb3SBarry Smith``` 69*7f296bb3SBarry Smith 70*7f296bb3SBarry Smith```{rubric} DMMG: 71*7f296bb3SBarry Smith``` 72*7f296bb3SBarry Smith 73*7f296bb3SBarry Smith```{rubric} SYS: 74*7f296bb3SBarry Smith``` 75*7f296bb3SBarry Smith 76*7f296bb3SBarry Smith- Removed PetscRandomType from the prototype of PetscRandomCreate(). 77*7f296bb3SBarry Smith- Added PetscRandomSetType(), PetscRandomGetValueReal() and 78*7f296bb3SBarry Smith PetscRandomGetValueImaginary(). 79*7f296bb3SBarry Smith- Replaced RANDOM_DEFAULT, RANDOM_DEFAULT_REAL and 80*7f296bb3SBarry Smith RANDOM_DEFAULT_IMAGINARY, the type of random numbers, with 81*7f296bb3SBarry Smith PETSCRAND48, PETSCRAND etc. 82*7f296bb3SBarry Smith 83*7f296bb3SBarry Smith```{rubric} AO: 84*7f296bb3SBarry Smith``` 85*7f296bb3SBarry Smith 86*7f296bb3SBarry Smith- AODATA object and associated routines are now deprecated and 87*7f296bb3SBarry Smith scheduled for future removal 88*7f296bb3SBarry Smith 89*7f296bb3SBarry Smith```{rubric} Fortran: 90*7f296bb3SBarry Smith``` 91*7f296bb3SBarry Smith 92*7f296bb3SBarry Smith```{rubric} ExternalPackages: 93*7f296bb3SBarry Smith``` 94*7f296bb3SBarry Smith 95*7f296bb3SBarry Smith- SPRNG support added. 96