CHANGES in the PETSc Development Version

General:

Configure/Build:

IS:

PetscDraw:

PetscDrawBoxedString() changed to PetscDrawStringBoxed() added PetscDrawBar object for drawing bar graphs added PetscDrawStringCentered()

PF:

Vec:

VecScatter:

PetscSection:

Mat:

PC:

Removed -pc_hypre_type euclid due to bit-rot Upgraded to SuiteSparse 4.4.1; Cholmod supports using GPUs --with-cuda --download-suitesparse-gpu --with-64-bit-indices -mat_cholmod_useGPU 1 or 0; 1 by default when configured for it Added PCBDDCSetChangeOfBasisMat for user defined change of basis PCJacobiSetUseAbs() now takes a PetscBool argument allowing toggling the option PCJacobiSetUseRowMax() and PCJacobiSetUseRowSum() have been merged into PCJacobiSetType() PCFactorSetUseInplace() now takes a PetscBool argument. Added PCFactorGetUseInplace() PCFactorSetAllowDiagonalFill() now takes a PetscBool argument. Added PCFactorGetAllowDiagonalFill() PCEisenstatNoDiagonalScaling() changed to PCEisenstatSetNoDiagonalScaling() and takes a boolean

KSP:

Removed KSPSPECEST since its functionality is replaced by the esteig functionality within KSPChebyshev Unified KSPChebyshev routines that work with estimating eigenvalues with the prefix name KSPChebyshevEstEig... For example KSPChebyshevSetEstimateEigenvalues() is now KSPChebyshevEstEigSet() and KSPChebyshevSetEstimateEigenvaluesRandom() is now KSPChebyshevEstEigSetRandom() similarly -ksp_chebyshev_estimate_eigenvalues_random is -ksp_chebyshev_esteig_random. The previous for the (GMRES) KSP used to estimate the eigenvalues is now esteig_ not est_ KSPGetVecs() replaced with KSPCreateVecs() because it actually does create the Vecs that need to be destroyed

SNES:

Added KSPMonitorSNES() with command line option -ksp_monitor_snes and -ksp_monitor_snes_lg to monitor SNES residual norm at each linear iteration SNESMonitorVI() becomes SNESVIMonitor() Added SNESVIMonitorResidual() and -snes_vi_monitor_residual

SNESLineSearch:

TS:

DM/DA:

DMPlex:

PetscViewer:

SYS:

AO:

Sieve:

Fortran: