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