1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
|
============
Changes: 3.5
============
.. rubric:: General:
- --download-f-blas-lapack is now --download-fblaslapack.
- PETSc built with --with-precision=__float128 will now by default
read in binary files that have all 128 bits stored in the file, to
read in files with 64-bit double use the option
-binary_read_double
- PETSc options of complex numbers must be passed as
[+/-][realnumber][+/-]realnumberi with no spaces, you can no
longer pass the real and complex part with a comma between them
- PetscSynchronizedFlush() takes an additional argument, the file
pointer on rank 0
- PetscObjectStateQuery() is now corrected with
PetscObjectStateGet()
- A new PetscObjectState typedef is used by interface; 64-bit int to
prevent overflow.
- The configure option ``--with-dynamic-loading`` has been removed
since this functionality is automatically available on systems
that support it. Use the runtime option
``-dynamic_library_preload`` for similar functionality.
- Default location of externalpackages is moved from
``PETSC_DIR/externalpackages`` to
``PETSC_DIR/PETSC_ARCH/externalpackages``
- Added ``--with-clean`` option to delete the build files in
``PETSC_DIR/PETSC_ARCH`` at the beginning of the build
- The ``__SDIR__`` macro (and ``__INSDIR__``) is no longer used. We
recommend passing full paths or paths from the project root to the
compiler so that error messages contain enough context.
- The "type" argument to ``PetscMalloc2()`` through
``PetscMalloc7()``, ``PetscNew()``, and ``PetscNewLog()`` have
been removed. The type is now inferred from the pointer return
type. ``PetscMalloc1()`` is now available for allocating arrays,
and ``PetscCalloc1()`` through ``PetscCalloc7()`` have been added
for when cleared (zeroed) memory is needed.
- Moved MATLAB scripts like PetscBinaryRead.m PetscBinaryWrite.m
from bin/matlab to share/petsc/matlab
.. rubric:: IS:
- ISLocalToGlobalMappingCreate() now takes a blocksize. Added
ISLocalToGlobalMappingApplyBlock() removed
ISLocalToGlobalMappingBlock() and ISLocalToGlobalMappingUnblock()
.. rubric:: PF:
.. rubric:: Vec:
.. rubric:: VecScatter:
.. rubric:: PetscSection:
- Now only the F90 binding for VecSetValuesSection() is present
.. rubric:: Mat:
- Removed third argument to MatNullSpaceRemove(). Use VecDuplicate()
and VecCopy() if the original Vec must be kept.
- MatGetRedundantMatrix(Mat mat,PetscInt nsubcomm,MPI_Comm
subcomm,PetscInt mlocal_red,MatReuse reuse,Mat \*matredundant) is
replaced by MatRedundantMatrix(Mat mat,PetscInt nsubcomm,MPI_Comm
subcomm,MatReuse reuse,Mat \*matredundant).
- MatGetColoring() has been removed and replaced by the MatColoring
object.
.. rubric:: PC:
- PCASA has been removed, it never worked properly
- The documented, but semi-private function
``PCMGResidual_Default()`` is now public and named
``PCMGResidualDefault()``.
- PCGAMG default smoother changed from PCJACOBI to PCSOR.
- Different logic for PCBDDC APIs: added
PCBDDCSet/GetDirichlet/NeumannBoundariesLocal,
PCBDDCSetDofsSplittingLocal. Previous call to PCBDDCXXXBoundaries
should be replaced by PCBDDCXXXBoundariesLocal. The same holds for
setting the fields split. In all cases, the index sets should have
the same communicator as the PC.
- Added PCBDDCSetChangeOfBasisLocalMat for user defined change of
basis
- ``PCFieldSplitSchurPrecondition()`` deprecated (replaced in
Fortran) in favor of ``PCFieldSplitSetSchurPre()``.
.. rubric:: KSP:
- ``KSPSkipConverged()`` renamed to ``KSPConvergedSkip()``.
- ``KSPSetOperators()`` no longer has the ``MatStructure`` argument.
The Mat objects now track that information themselves. Use
``KSP/PCSetReusePreconditioner()`` to prevent the recomputation of
the preconditioner if the operator changed in the way that
``SAME_PRECONDITIONER`` did with ``KSPSetOperators()``
- ``KSPDefaultConverged()``, ``KSPDefaultConvergedDestroy()``,
``KSPDefaultConvergedCreate()``,
``KSPDefaultConvergedSetUIRNorm()``, and
``KSPDefaultConvergedSetUMIRNorm()`` are now
``KSPConvergedDefault()``, ``KSPConvergedDefaultDestroy()``,
``KSPConvergedDefaultCreate()``,
``KSPConvergedDefaultSetUIRNorm()``, and
``KSPConvergedDefaultSetUMIRNorm()``. for consistency.
.. rubric:: SNES:
- The matrix arguments to the user functions provided with
``SNESSetJacobian()`` and ``SNESSetPicard()`` are now Mat not
Mat*.
- The ``MatStructure`` argument to the user functions provided with
``SNESSetJacobian()`` and ``SNESSetPicard()`` are gone.
- ``SNESSetInitialFunctionNorm()`` is removed as it's not necessary
given that the norm is cached on the Vec. Use only
``SNESSetInitialFunction()``.
- ``SNESSetFunctionNorm()`` and ``SNESGetFunctionNorm()`` removed.
``Use SNESGetFunction()`` and ``VecNorm()`` instead.
- ``SNESSkipConverged()`` renamed to ``SNESConvergedSkip()``.
- ``SNESGetPC()``/``SNESSetPC()`` renamed to
``SNESGetNPC()``/``SNESSetNPC()``.
- ``GS`` and \_gs used for nonlinear Gauss-Sidel changed to ``NGS``
and \_ngs to match all the other nonlinear solver names.
.. rubric:: SNESLineSearch:
.. rubric:: TS:
- The matrix arguments to the user functions provided with
``TSSetRHSJacobian()`` and ``TSSetIJacobian()`` are now Mat not
Mat*.
- The ``MatStructure`` argument to the user functions provided with
``TSSetRHSJacobian()`` and ``TSSetIJacobian()`` are gone.
.. rubric:: DM/DA:
- DMDAGetLocalToGlobalMappingBlock() has been removed, the
DMDAGetLocalToGlobalMapping() now handles both block and non-block
cases
- DMDAGetGlobalIndices(DM,PetscInt*,const PetscInt*[]) and
DMDARestoreGlobalIndices(DM,PetscInt*,const PetscInt*[]) are
removed, use DMGetLocalToGlobalMapping() to get this information
- DMADDA has been removed, it never worked correctly
- The MatType argument is removed from DMCreateMatrix(), you can use
DMSetMatType() to indicate the type you want used with a DM,
defaults to MATAIJ
- ``DMDABoundaryType`` has become ``DMBoundaryType``, and all the
enumeration values have also been renamed.
.. rubric:: DMPlex:
.. rubric:: PetscViewer:
.. rubric:: SYS:
.. rubric:: AO:
.. rubric:: Sieve:
- Sieve/DMMesh has been removed entirely. Use DMPlex.
.. rubric:: Fortran:
- PETSC_DEFAULT_DOUBLE_PRECISION has been replaced with
PETSC_DEFAULT_REAL
.. rubric:: ExternalPackages:
- Configure options ``--download-umfpack`` and
``--download-cholmod`` to download UMFPACK and CHOLMOD have been
removed. Use ``--download-suitesparse`` to download these
packages.
- Added interface to PARDISO solver in Intel MKL. To use
MKL_Pardiso, PETSc should be configured with
``--blas-lapack-dir=LOCATION_OF_INTEL_MKL --with-mkl_pardiso-dir=LOCATION_OF_INTEL_MKL``
and then run the code with
``-pc_type lu -pc_factor_mat_solver_package mkl_pardiso``
|