1*7f296bb3SBarry Smith# Changes: 2.3.3 2*7f296bb3SBarry Smith 3*7f296bb3SBarry Smith```{rubric} General: 4*7f296bb3SBarry Smith``` 5*7f296bb3SBarry Smith 6*7f296bb3SBarry Smith- PetscInitialize() will now also check for options in .petscrc 7*7f296bb3SBarry Smith unless -skip_petscrc is used (note that since the file options are 8*7f296bb3SBarry Smith checked before the command line you cannot pass -skip_petscrc on 9*7f296bb3SBarry Smith the command line it must be passed in the file passed into 10*7f296bb3SBarry Smith PetscInitialize(). 11*7f296bb3SBarry Smith- When a filename is passed into PetscInitialize() ~/.petscrc and 12*7f296bb3SBarry Smith .petscrc are checked ALSO (they used to be skipped when a filename 13*7f296bb3SBarry Smith was passed in) unless -skip_petscrc is passed in the input file 14*7f296bb3SBarry Smith- PetscMapInitialize() has been split into PetscMapInitialize() that 15*7f296bb3SBarry Smith is called before the Map is ever used and then PetscMapSetUp() 16*7f296bb3SBarry Smith which is called after the blocksize and local or global size is 17*7f296bb3SBarry Smith set and determines the ranges etc. 18*7f296bb3SBarry Smith- When a filename is passed into PetscInitialize() ~/.petscrc and 19*7f296bb3SBarry Smith .petscrc are checked ALSO (they used to be skipped when a filename 20*7f296bb3SBarry Smith was passed in) unless -skip_petscrc is passed in the input file 21*7f296bb3SBarry Smith- PetscMapInitialize() has been split into PetscMapInitialize() that 22*7f296bb3SBarry Smith is called before the Map is ever used and then PetscMapSetUp() 23*7f296bb3SBarry Smith which is called after the blocksize and local or global size is 24*7f296bb3SBarry Smith set and determines the ranges etc. 25*7f296bb3SBarry Smith- Changed the use of mpirun throughout the source to mpiexec; this 26*7f296bb3SBarry Smith includes petscmpirun -> petscmpiexec. Of course, PETSc will still 27*7f296bb3SBarry Smith work fine with MPI implementations that use mpirun. 28*7f296bb3SBarry Smith- Add fortran interface to PetscBag routines 29*7f296bb3SBarry Smith 30*7f296bb3SBarry Smith```{rubric} config/configure.py: 31*7f296bb3SBarry Smith``` 32*7f296bb3SBarry Smith 33*7f296bb3SBarry Smith- F90 interface is now enabled by default [if the compiler is 34*7f296bb3SBarry Smith detected to be a f90 compiler]. i.e --with-f90-interface options 35*7f296bb3SBarry Smith is not required. The f90 interface impl used is a new universal 36*7f296bb3SBarry Smith one. However if you wish to use the old compiler specific one, 37*7f296bb3SBarry Smith then specify --with-f90-interface=nof90src [for configure to 38*7f296bb3SBarry Smith autodetect] or specify the appropriate one - like: 39*7f296bb3SBarry Smith --with-f90-interface=intel8 40*7f296bb3SBarry Smith 41*7f296bb3SBarry Smith```{rubric} IS: 42*7f296bb3SBarry Smith``` 43*7f296bb3SBarry Smith 44*7f296bb3SBarry Smith- changed IS_COLORING_LOCAL to IS_COLORING_GLOBAL 45*7f296bb3SBarry Smith 46*7f296bb3SBarry Smith```{rubric} Vec: 47*7f296bb3SBarry Smith``` 48*7f296bb3SBarry Smith 49*7f296bb3SBarry Smith```{rubric} VecScatter: 50*7f296bb3SBarry Smith``` 51*7f296bb3SBarry Smith 52*7f296bb3SBarry Smith- Change prototype for VecScatterBegin() and VecScatterEnd() [now 53*7f296bb3SBarry Smith the first argument is VecScatter] 54*7f296bb3SBarry Smith 55*7f296bb3SBarry Smith```{rubric} Mat: 56*7f296bb3SBarry Smith``` 57*7f296bb3SBarry Smith 58*7f296bb3SBarry Smith- moved most of SNESMF implementation into mat/impls/mffd 59*7f296bb3SBarry Smith- MatMFFD is now a regular matrix type registered in 60*7f296bb3SBarry Smith MatRegisterAll() 61*7f296bb3SBarry Smith- changed SNESMF to MFFD for all previous SNESMF routines, except 62*7f296bb3SBarry Smith MatCreateSNESMF() 63*7f296bb3SBarry Smith- -snes_mf_option changed to -mat_mffd_option except for -snes_mf 64*7f296bb3SBarry Smith and -snes_mf_operator 65*7f296bb3SBarry Smith- SNES_KSP_EW... changed to SNESKSPWE... and SNES_KSP_EW_ConvCtx to 66*7f296bb3SBarry Smith SNESKSPEW 67*7f296bb3SBarry Smith- MatGetRowIJ(), MatGetColumnIJ(), MatRestoreRowIJ(), 68*7f296bb3SBarry Smith MatRestoreColumnIJ() now take an extra argument 69*7f296bb3SBarry Smith 70*7f296bb3SBarry Smith```{rubric} PC: 71*7f296bb3SBarry Smith``` 72*7f296bb3SBarry Smith 73*7f296bb3SBarry Smith- changed PCMGSetCycles() and PCMGSetCyclesOnLevel() to 74*7f296bb3SBarry Smith PCMGSetCycleType() and PCMGSetCycleTypeOnLevel() that take a 75*7f296bb3SBarry Smith PCMGCycleType as argument and changed -pc_mg_cycles 1 or 2 to 76*7f296bb3SBarry Smith -pc_mg_cycle_type v or w 77*7f296bb3SBarry Smith- added PCMGMultiplicativeSetCycles() and 78*7f296bb3SBarry Smith -pc_mg_multiplicative_cycles 79*7f296bb3SBarry Smith- PCMGSetInterpolate() --> PCMGSetInterpolation() 80*7f296bb3SBarry Smith- added PCREDUNDANT type, PCRedundantSetNumber() and 81*7f296bb3SBarry Smith -pc_redundant_number 82*7f296bb3SBarry Smith 83*7f296bb3SBarry Smith```{rubric} KSP: 84*7f296bb3SBarry Smith``` 85*7f296bb3SBarry Smith 86*7f296bb3SBarry Smith- Changed KSPNormTypes to have consistent naming , i.e 87*7f296bb3SBarry Smith 88*7f296bb3SBarry Smith - KSP_NO_NORM -> KSP_NORM_NO 89*7f296bb3SBarry Smith - KSP_PRECONDITIONED_NORM -> KSP_NORM_PRECONDITIONED 90*7f296bb3SBarry Smith - KSP_UNPRECONDITIONED_NORM -> KSP_NORM_UNPRECONDITIONED 91*7f296bb3SBarry Smith - KSP_NATURAL_NORM -> KSP_NORM_NATURAL 92*7f296bb3SBarry Smith 93*7f296bb3SBarry Smith- The following function names are changed to be consistent: 94*7f296bb3SBarry Smith 95*7f296bb3SBarry Smith - KSPSetMonitor -> KSPMonitorSet 96*7f296bb3SBarry Smith - KSPClearMonitor -> KSPMonitorCancel 97*7f296bb3SBarry Smith - KSPSingularValueMonitor -> KSPMonitorSingularValue 98*7f296bb3SBarry Smith - KSPDefaultMonitor -> KSPMonitorDefault 99*7f296bb3SBarry Smith - KSPTrueMonitor -> KSPMonitorTrueResidualNorm 100*7f296bb3SBarry Smith - KSPDefaultSMonitor -> KSPMonitorDefaultShort 101*7f296bb3SBarry Smith - KSPVecViewMonitor -> KSPMonitorSolution 102*7f296bb3SBarry Smith - KSPGMRESKrylovMonitor -> KSPGMRESMonitorKrylov 103*7f296bb3SBarry Smith - KSPLGMonitorCreate -> KSPMonitorLGCreate 104*7f296bb3SBarry Smith - KSPLGMonitor -> KSPMonitorLG 105*7f296bb3SBarry Smith - KSPLGMonitorDestroy -> KSPMonitorLGDestroy 106*7f296bb3SBarry Smith - KSPLGTrueMonitorCreate -> KSPMonitorLGTrueResidualNormCreate 107*7f296bb3SBarry Smith - KSPLGTrueMonitor -> KSPMonitorLGTrueResidualNorm 108*7f296bb3SBarry Smith - KSPLGTrueMonitorDestroy -> KSPMonitorLGTrueResidualNormDestroy 109*7f296bb3SBarry Smith 110*7f296bb3SBarry Smith- Following names are changed 111*7f296bb3SBarry Smith 112*7f296bb3SBarry Smith - KSP_CONVERGED_STCG_NEG_CURVE -> KSP_CONVERGED_CG_NEG_CURVE 113*7f296bb3SBarry Smith - KSP_CONVERGED_STCG_CONSTRAINED -> KSP_CONVERGED_CG_CONSTRAINED 114*7f296bb3SBarry Smith 115*7f296bb3SBarry Smith```{rubric} SNES: 116*7f296bb3SBarry Smith``` 117*7f296bb3SBarry Smith 118*7f296bb3SBarry Smith```{rubric} TS: 119*7f296bb3SBarry Smith``` 120*7f296bb3SBarry Smith 121*7f296bb3SBarry Smith- TSSetRHSMatrix() and TSSetLHSMatrix() were replaced by 122*7f296bb3SBarry Smith TSSetMatrices() 123*7f296bb3SBarry Smith- TSGetRHSMatrix() was replaced by TSGetMatrices() 124*7f296bb3SBarry Smith 125*7f296bb3SBarry Smith```{rubric} DA: 126*7f296bb3SBarry Smith``` 127*7f296bb3SBarry Smith 128*7f296bb3SBarry Smith```{rubric} DMMG: 129*7f296bb3SBarry Smith``` 130*7f296bb3SBarry Smith 131*7f296bb3SBarry Smith```{rubric} SYS: 132*7f296bb3SBarry Smith``` 133*7f296bb3SBarry Smith 134*7f296bb3SBarry Smith```{rubric} AO: 135*7f296bb3SBarry Smith``` 136*7f296bb3SBarry Smith 137*7f296bb3SBarry Smith- AOData object and corresponding functionality is now removed for 138*7f296bb3SBarry Smith PETSc 139*7f296bb3SBarry Smith 140*7f296bb3SBarry Smith```{rubric} Sieve: 141*7f296bb3SBarry Smith``` 142*7f296bb3SBarry Smith 143*7f296bb3SBarry Smith- Added support for 2D and 3D mesh generation and refinement 144*7f296bb3SBarry Smith- Added support for mesh partitioning and distribution 145*7f296bb3SBarry Smith- Added support for partitioning based upon arbitrary dimensional 146*7f296bb3SBarry Smith entities, e.g. vertices, faces, etc. 147*7f296bb3SBarry Smith- Added support for FIAT element generation 148*7f296bb3SBarry Smith- Added support for higher order elements 149*7f296bb3SBarry Smith- Added Poisson problem example in separate repository 150*7f296bb3SBarry Smith 151*7f296bb3SBarry Smith```{rubric} Fortran: 152*7f296bb3SBarry Smith``` 153*7f296bb3SBarry Smith 154*7f296bb3SBarry Smith```{rubric} ExternalPackages: 155*7f296bb3SBarry Smith``` 156*7f296bb3SBarry Smith 157*7f296bb3SBarry Smith- Hypre interface is updated to use version 2.0.0 158*7f296bb3SBarry Smith- Mumps interface is updated to use version 4.7.3 159*7f296bb3SBarry Smith- fftw interface is updated to use v3.2alpha2 160