* Changes PETSC_ARCH definition to %_arch instead of linux-gnu-c-opt; this is in line with upstream's recommendation and what Fedora does and should be ok for openSUSE not that we no longer use hpc macros.
* Modify petsc-fix-libdir.patch to use sysconfig.get_config_vars('platlibdir') instead of sys.platlibdir for compatibility with python 3.6 (fix FTBFS on 15.6 and older).
* Actually bail out before running make when configuring fails.
OBS-URL: https://build.opensuse.org/package/show/science/petsc?expand=0&rev=147
* Add petsc-fix-install-libdir.patch: Install libraries to system arch compatible lib dir (e.g. 'lib64' for x86_64).
* Drop and add hashbangs as required for non-exec and exec python scripts respectively.
* Implement a %check section and run make check.
* Drop explicit specification of mpi library paths and allow `%setup_openmpi` to export relevant paths.
* Fix an incorrect file encoding.
OBS-URL: https://build.opensuse.org/package/show/science/petsc?expand=0&rev=144
- Update to version 3.22:
* General:
+ Add -mpiuni-allow-multiprocess-launch to allow mpiexec to
launch multiple indendent MPI-Uni jobs. Previously a sanity
check error message was always produced
* Configure/Build:
+ Add --with-openmp-kernels
+ Update to work with python-3.13
+ Change MPIU_Allreduce() to always returns an MPI error
code that should be checked with PetscCallMPI()
+ Add PetscCallReturnMPI(), PetscCallMPIReturnMPI(), and
PetscCheckReturnMPI() to check for in PETSc provided MPI
callbacks
* Sys:
+ Add PetscPragmaUseOMPKernels
+ Deprecate PetscOptionsRestoreViewer() in favor of
PetscViewerDestroy()
+ Deprecate PetscOptionsGetViewer() and PetscOptionsGetViewers()
in favor of PetscOptionsCreateViewer() and
PetscOptionsCreateViewers()
+ Deprecate PetscOptionsPushGetViewerOff(),
PetscOptionsPopGetViewerOff(), and PetscOptionsGetViewerOff()
in favor of PetscOptionsPushCreateViewerOff(),
PetscOptionsPopCreateViewerOff(), and
PetscOptionsGetCreateViewerOff()
+ Add PetscObjectContainerCompose() and
PetscObjectContainerQuery()
+ Add size_t argument to PetscMPIErrorString()
+ Add PetscCallExternalAbort() for calling external library
functions from functions not returning PetscErrorCode
+ Add PetscRandomSetOptionsPrefix()
+ Add PetscOptionsGetBool3() to get a ternary logical value
from a command line option
* PetscViewer:
+ Add PetscViewerASCIIStdoutSetFileUnit()
+ Add PetscShmgetAllocateArrayScalar(),
PetscShmgetDeallocateArrayScalar(),
PetscShmgetAllocateArrayInt(), and
PetscShmgetDeallocateArrayInt() for Fortran
* VecScatter / PetscSF:
+ Add PetscSFRegisterPersistent() and
PetscSFDeregisterPersistent() for safe optimization of
persistent communication
* Vec:
+ The IS passed to VecISAXPY() and VecISCopy(). VecISSet() and
VecISShift() must have the same communicator of the vectors used
Make VecLock API active in optimized mode
+ VecNestSetSubVec() and VecNestSetSubVecs() now take references
to input vectors rather than creating duplicates Deprecate
VecSetInf() with VecFlag()
* Mat:
+ Change MatProductSetFill() to support PETSC_DETERMINE and
PETSC_CURRENT. MatMatMult() and its friends and relations now
accept PETSC_DETERMINE and PETSC_CURRENT in the fill argument.
PETSC_DEFAULT is deprecated for those functions
+ Change the default MatType of the output Mat of
MatSchurComplementComputeExplicitOperator() to be MATDENSE.
It may be changed from the command line, e.g.,
-fieldsplit_1_explicit_operator_mat_type aij
+ Add MATOP_GET_BLOCK_DIAGONAL and MATOP_GET_VBLOCK_DIAGONAL to
set methods returning the diagonal point blocks of a matrix
* PC:
+ Add support in PCFieldSplitSetFields() including with
-pc_fieldsplit_%d_fields fields for MATNEST, making it
possible to utilize multiple levels of PCFIELDSPLIT with
MATNEST from the command line
+ Add PCCompositeSpecialSetAlphaMat() API to use a matrix
other than the identity in preconditioners based on an
alternating direction iteration, e.g., setting M for
P = (A + alpha M) M^{-1} (alpha M + B)
+ Reuse the result of T = A_{00}^-1 A_{01} in
PCApply_FieldSplit_Schur with -pc_fieldsplit_schur_fact_type
full
+ Change the option database keys for coarsening for PCGAMG to
use the prefix -pc_gamg_, for example -pc_gamg_mat_coarsen_type
+ Add PCGAMGSetGraphSymmetrize() and -pc_gamg_graph_symmetrize to
control symmetrization when coarsening the graph Add
-pc_hypre_type ilu with -pc_hypre_ilu_type,
-pc_hypre_ilu_iterative_setup_type,
-pc_hypre_ilu_iterative_setup_maxiter,
-pc_hypre_ilu_iterative_setup_tolerance,
-pc_hypre_ilu_print_level, -pc_hypre_ilu_logging,
-pc_hypre_ilu_level, -pc_hypre_ilu_max_nnz_per_row,
-pc_hypre_ilu_tol, -pc_hypre_ilu_maxiter,
-pc_hypre_ilu_drop_threshold, -pc_hypre_ilu_tri_solve,
-pc_hypre_ilu_lower_jacobi_iters,
-pc_hypre_ilu_upper_jacobi_iters, and
-pc_hypre_ilu_local_reordering
+ Improve -pc_type boomeramg with
-pc_hypre_boomeramg_smooth_num_sweeps,
-pc_hypre_boomeramg_ilu_type,
-pc_hypre_boomeramg_ilu_iterative_setup_type,
-pc_hypre_boomeramg_ilu_iterative_setup_option,
-pc_hypre_boomeramg_ilu_iterative_setup_maxiter,
-pc_hypre_boomeramg_ilu_iterative_setup_tolerance,
-pc_hypre_boomeramg_ilu_print_level,
-pc_hypre_boomeramg_ilu_logging, -pc_hypre_boomeramg_ilu_level,
-pc_hypre_boomeramg_ilu_max_nnz_per_row,
-pc_hypre_boomeramg_ilu_maxiter,
-pc_hypre_boomeramg_ilu_drop_tol,
-pc_hypre_boomeramg_ilu_tri_solve,
-pc_hypre_boomeramg_ilu_lower_jacobi_iters,
-pc_hypre_boomeramg_ilu_upper_jacobi_iters, and
-pc_hypre_boomeramg_ilu_local_reordering
* KSP:
+ Add support for PETSC_DETERMINE as an argument to
KSPSetTolerances() to set the parameter back to its initial
value when the object's type was set
+ Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for
KSPSetTolerances()
* SNES:
+ Add support for PETSC_DETERMINE as an argument to
SNESSetTolerances() to set the parameter back to its initial
value when the object's type was set
+ Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for
SNESSetTolerances()
+ Add DMAdaptorMonitor(), DMAdaptorMonitorSet(),
DMAdaptorMonitorCancel(), and DMAdaptorMonitorSetFromOptions()
+ Add DMAdaptorMonitorSize(), DMAdaptorMonitorError(),
DMAdaptorMonitorErrorDraw(),
DMAdaptorMonitorErrorDrawLGCreate(), and
DMAdaptorMonitorErrorDrawLG()
+ Add DMAdaptorMonitorRegister(), DMAdaptorMonitorRegisterAll(),
and DMAdaptorMonitorRegisterDestroy()
+ Add DMAdaptorGetCriterion() and DMAdaptorSetCriterion()
+ Add DMAdaptorSetOptionsPrefix()
+ Add Newton's method with arc length continuation: SNESNEWTONAL
with SNESNewtonALSetFunction(), SNESNewtonALGetFunction(),
SNESNewtonALComputeFunction(), SNESNewtonALGetLoadParameter(),
and SNESNewtonALSetCorrectionType()
+ Add SNESNewtonTRSetTolerances() and
SNESNewtonTRSetUpdateParameters() to programmatically set trust
region parameters Deprecate SNESSetTrustRegionTolerance() in
favor of SNESNewtonTRSetTolerances()
+ Add SNESResetCounters() to reset counters for linear iterations
and function evaluations
* TS:
+ Add Rosenbrock-W methods from :cite:`rang2015improved` with
B_{PR} stability: TSROSWR34PRW, TSROSWR3PRL2, TSROSWRODASPR,
and TSROSWRODASPR2
+ Add support for PETSC_DETERMINE as an argument to
TSSetTolerances() to set the parameter back to its initial
value when the object's type was set Deprecate PETSC_DEFAULT
in favor of PETSC_CURRENT for TSSetTolerances()
+ Add support for PETSC_DETERMINE as an argument to
TSSetMaxSteps() and TSSetMaxTime()
+ Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for
TSAdaptSetSafety()
+ Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for
TSAdaptSetClip()
+ Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for
TSAdaptSetStepLimits()
+ Add TSGetStepResize()
+ Add -ts_monitor_solution_vtk_interval to control the interval
for dumping files
+ Add a new ARKIMEX solver for fast-slow systems that are
partitioned component-wise and additively at the same time
+ Add TSRHSSplitSetIFunction(), TSRHSSplitSetIJacobian(),
TSRHSSplitSetSNES(), TSRHSSplitGetSNES(),
TSARKIMEXSetFastSlowSplit(), and TSARKIMEXGetFastSlowSplit()
to support the new solver
* TAO:
+ Add support for PETSC_DETERMINE as an argument to
TaoSetTolerances() and TaoSetConstraintTolerances() to set
the parameter back to its initial value when the object's
type was set
+ Deprecate PETSC_DEFAULT in favor of PETSC_CURRENT for
TaoSetTolerances() and TaoSetConstraintTolerances()
* DM/DA:
+ Add DMGetSparseLocalize() and DMSetSparseLocalize()
+ Add DMGeomModelRegister(), DMGeomModelRegisterAll(),
DMGeomModelRegisterDestroy(), DMSnapToGeomModel(), and
DMSetSnapToGeomModel() to support registering geometric models
+ Add DMGetOutputSequenceLength()
+ Add an additional return vector to DMCreateMassMatrixLumped()
to retrieve the local mass lumping
+ Add DMPlexMigrateGlobalToNaturalSF() modifies the NaturalSF to
map from the SF's old global section to the new global section
* DMPlex:
+ Add DMLabelGetValueBounds()
+ Add DMPlexOrientLabel()
+ Add an argument to DMPlexLabelCohesiveComplete() in order to
change behavior at surface boundary Remove
DMPlexSnapToGeomModel()
+ Add refinement argument to DMPlexCreateHexCylinderMesh()
+ Now DMPlexComputeBdIntegral() takes one function per field
+ Add DMPlexCreateEdgeNumbering()
+ Add DMPlexComputeL2FluxDiffVec() and
DMPlexComputeL2FluxDiffVecLocal()
+ Add DMAdaptorSetType(), DMAdaptorGetType(), DMAdaptorRegister(),
DMAdaptorRegisterAll(), and DMAdaptorRegisterDestroy()
+ Add DMAdaptorGetMixedSetupFunction() and
DMAdaptorSetMixedSetupFunction()
+ Add DMPlexCreateCellNumbering()
+ Add DMPlexBuildFromCellSectionParallel() and
DMPlexCreateFromCellSectionParallel()
+ Add -dm_plex_box_label to add "Face Sets" label with current
"box" conventions
+ Add "Face Sets" label to simplex meshes using current "box"
conventions Update PetscViewerExodusII object to cache variable
names for faster and more robust look-ups
+ Add PetscViewerExodusIISetNodalVariable(),
PetscViewerExodusIISetZonalVariable(),
PetscViewerExodusIIGetNodalVariable(), and
PetscViewerExodusIIGetZonalVariable() to set or get the number
of variables in a file
+ Add PetscViewerExodusIISetNodalVariableName(),
PetscViewerExodusIISetZonalVariableName(),
PetscViewerExodusIIGetNodalVariableName(), and
PetscViewerExodusIIGetZonalVariableName() to set or get a
single variable name
+ Add PetscViewerExodusIISetNodalVariablesNames(),
PetscViewerExodusIISetZonalVariablesNames(),
PetscViewerExodusIIGetNodalVariablesNames(), and
PetscViewerExodusIIGetZonalVariablesNames() to set or get all
variable names at the same time (not available in Fortran)
+ Add degree bounds to DMCopyFields(), DMCopyDS(), PetscDSCopy(),
and PetscDSSelectDiscretizations()
+ Add PetscFELimitDegree()
+ Add localizationHeight and sparseLocalize arguments to
DMPlexCreateBoxMesh() for coordinate localization on periodic
meshes
+ Add parallel CGNS reader, enabled by -dm_plex_cgns_parallel
+ Add CGNS function for VecLoad() of solutions in parallel (must
be run with -dm_plex_cgns_parallel)
+ Add PetscViewerCGNSOpen() convenience function
+ Add PetscViewerCGNSGetSolutionTime(),
PetscViewerCGNSGetSolutionName(),
PetscViewerCGNSSetSolutionIndex(), and
PetscViewerCGNSGetSolutionIndex()
+ Add DMPlexGetDepthStratumGlobalSize()
* DT:
+ Add PetscDSSetIntegrationParameters() and
PetscDSSetCellParameters()
* Fortran:
+ Add PETSC_NULL_ENUM to be used instead of PETSC_NULL_INTEGER
when a pointer to an enum is expected in a PETSc function call
+ Add PETSC_NULL_INTEGER_ARRAY, PETSC_NULL_SCALAR_ARRAY, and
PETSC_NULL_REAL_ARRAY for use instead of PETSC_NULL_INTEGER,
PETSC_NULL_SCALAR, and PETSC_NULL_REAL when an array is
expected in a PETSc function call
+ Add automatically generated interface definitions for most
PETSc functions to detect illegal usage at compile time
+ Add PetscObjectIsNull() for users to check if a PETSc
object is NULL
+ Change the PETSc Fortran API so that non-array values, v,
passed to PETSc routines expecting arrays must be cast with
[v] in the calling sequence
OBS-URL: https://build.opensuse.org/request/show/1235213
OBS-URL: https://build.opensuse.org/package/show/science/petsc?expand=0&rev=139
- Update to version 3.21:
- General:
* Add single precision support for using HYPRE and MFEM
* Require Fortran 2003 compiler with `GET_COMMAND_ARGUMENT()` support
for building PETSc with Fortran bindings
- Sys:
* Add `PetscBench` an object class for managing benchmarks in PETSc
* Deprecate `PetscVoidFunction`, `PetscVoidStarFunction`, and
`PetscErrorCodeFunction` typedefs in favor of `PetscVoidFn` and
`PetscErrorCodeFn`.
* Add `PetscOptionsBoundedReal()` and `PetscOptionsRangeReal()`.
* Rename Petsc stream types to `PETSC_STREAM_DEFAULT`,
`PETSC_STREAM_NONBLOCKING`, `PETSC_STREAM_DEFAULT`_WITH_BARRIER` and
`PETSC_STREAM_NONBLOCKING_WITH_BARRIER`. The root device context uses
`PETSC_STREAM_DEFAULT` by default.
- PetscViewer:
* Change `PetscViewerRestoreSubViewer()` to no longer need a call to
`PetscViewerFlush()` after it.
* Introduce `PetscOptionsRestoreViewer()` that must be called after
`PetscOptionsGetViewer()` and `PetscOptionsGetViewers()` to ensure
thread safety.
* Add `PetscViewerASCIIWORLDSetFileUnit()`.
- VecScatter / PetscSF:
* Add MPI-4.0 persistent neighborhood collectives support. Use
`-sf_neighbor_persistent` along with `-sf_type` neighbor to enable it.
* Add `PetscSFCreateStridedSF()` to communicate strided blocks of data/
- Vec:
* Add `VecGhostGetGhostIS()` to get the ghost indices of a ghosted vector.
* Add `-vec_mdot_use_gemv` to let `VecMDot()`, `VecMTDot()` use BLAS2
`gemv()` instead of custom unrolled kernel. Default is on.
OBS-URL: https://build.opensuse.org/request/show/1181550
OBS-URL: https://build.opensuse.org/package/show/science/petsc?expand=0&rev=133
- Update to version 3.14.5.
* Documentation & man page fixes, removal of non-existing functions.
* CPARDISO: stick to OpenMPI BLACS when needed
* bugfix for MatMatMultSymbolic_MPIAIJ_MPIDense() when Bbn1 = 0.
Bb (column block size) zero lead to infinite loop in
MatMatMultNumeric_MPIAIJ_MPIDense() with n=0.
* petscviewer: fix the fortran bindings of XXXViewFromOptions
when called with obj=PETSC_NULL_XXX.
* PetscOptionsPrefixPush: Accept numbers if the stack is not
empty.
* PetscOptionsClearValue: Also clear 'help_intro' slot.
* PetscOptionsDestroyDefault: Fix possible NULL-dereference.
* PetscOptionsUsed: Fix for case-insensitive string comparison.
* Do not use MPI_Bcast() on a single rank - This allows direct
reading of much larger files, in, for example, MatLoad_SeqAIJ_Binary.
* PCHPDDM: fix for KSPLSQR.
* DMPlexVTKWriteAll_VTU: numerous bugfixes.
* MatBAIJ: FIx specialization for size 9.
OBS-URL: https://build.opensuse.org/request/show/881044
OBS-URL: https://build.opensuse.org/package/show/science/petsc?expand=0&rev=113
- Updated to version 3.14.4 (jsc#SLE-14959)
* versionToTuple: ignore leading strings in package versions.
i.e 5.3.3consortium -> 5.3.3
* Add error checks for integer overflow for
MatSeqXAIJSetPreallocation when the user provides nnz[].
Otherwise PetscMalloc() can produce error messages with requests to
absurds amount of memory.
Improve the error message for PetscIntMultError() and other casting
routines and add more seealso entries to the manual pages.
* Update dmlocalts.c to prevent zeroing out of locX_t after being computed
in TSComputeIJacobian_DMLocal.
* nargs.Arg: Remove interactiveness; provide useful error when key is not
found.
* DMPlexLandau: fix implicit conversion.
* Allow users to mistaken use openmpi or mpich when setting mpi or mpi-dir
and consistently use local variable 'name'
* Consume -help in PetscOptionsSetValue() so it can be set from RC file etc.
* Enable search patterns to have 'src*' at start.
* Fix Matlab int32 to match changed changes in PETSc data types.
* Generate error instead of crashing when estimating eigenvalues for
Chebyshev, no right hand side vector is available and the user requested
to not use a noisy right hand side.
* Fix pcmgsetlevels() for Fortran to properly convert the C MPI communictors
to Fortran.
* Fix PCMGSetLevels_MG() to support the use of MPI_COMM_NULL for
communicators that that live on a subset of the orginal communicator.
* Add additional documentation material to PCMGSetLevels() explaining how
one must handle the restriction and interpolation operations that move
between different levels which have a different number of MPI ranks.
* Call PetscCUDAInitializeCheck() in
OBS-URL: https://build.opensuse.org/request/show/875002
OBS-URL: https://build.opensuse.org/package/show/science/petsc?expand=0&rev=111
- Fix python scripts - convert to Python 3 (bsc#1082209).
- Restructure package: factor out SAWs stuff. We cannot
support this as SAWs itself isn't available for SUSE.
- Move python files that are not stand-alone out of the
bin directory.
- Fix permissions in bin and other directories.
- Removed some unwanted scripts:
rules - make rules
sendToJenkins - this should probably be modified to print an error message
uncrustify.cfg - used by 'rules'
- Removed win32fe: DLLs for Windows
- Set '-fPIC' on ppc64.
OBS-URL: https://build.opensuse.org/request/show/582384
OBS-URL: https://build.opensuse.org/package/show/science/petsc?expand=0&rev=64