github trilinos/Trilinos trilinos-release-17-2-0
Trilinos 17.2.0

5 hours ago

The test results from Trilinos testing (PRs and nightly builds) are now posted
to a public CDash dashboard:
https://my.cdash.org/index.php?project=Trilinos

Amesos2:

  • new "partial-factorization" option (to improve performance of computing
    local Schur complement) with PardisoMKL & MUMPS
    #15404
    #15484

Belos:

  • Solvers now provide more more detailed solve status reporting.
    The "Unconverged" return type has been split into "MaxItersReached",
    "MaxRestartsReached". "OrthonormFailure", "NaNDetected", "BreakdownDetected",
    "LossOfAccuracyDetected", "NonspecificException", "InconsistentState",
    "Undetermined".
    #15231

Galeri:

  • Added the creation of finite element mass matrices for use in testing.
    #15318

Kokkos, KokkosKernels:

Ifpack2:

  • Cache local CRS structure in par_ILUT to improve setup related costs
    #15439

  • Use KSPTRSV as default triangular solver on GPU platforms
    #15490

Intrepid2:

  • Redesigned PointInclusion tools to expose parametric distance and
    extended CellTools to support beam and shell elements, including mappings
    from (D+1)-dimensional physical space to D-dimensional reference space.
    #15269

  • Refactored Intrepid2 operators to improve performance by introducing an
    orientation operator that stores subcell orientation matrices in
    compressed-row storage format.
    #14450

  • Improved the parallel implementation of Basis::getValues.
    #15234

Krino:

Minitensor:

  • New capability: quaternions and conversions among rotation
    representations (rotation matrix, unit quaternion, principal rotation
    vector), using a singularity-free Spurrier extraction, along with a
    helper that keeps a rotation vector continuous across the 2 pi
    boundary and the axial vector operator vee(). Also new are exp_sym()
    and exp_eig_sym(), the eigendecomposition exponential of a symmetric
    tensor, mirroring the existing log_sym() and log_eig_sym().
    #15532
    #15514

  • The general log() and exp() now follow the current published
    algorithms. For dimensions three and lower, log() uses Gauss-Legendre
    partial-fraction Pade evaluation inside the Pade trust region and
    Schur-based inverse scaling and squaring (Al-Mohy and Higham, SIAM J.
    Sci. Comput. 34(4), 2012) outside it, and exp() uses the parameter
    selection of Al-Mohy and Higham, SIAM J. Matrix Anal. Appl. 31(3),
    2009. Measured against an 80-bit eigendecomposition reference, log()
    is 1.8 to 4.3 times more accurate and 1.4 to 4.7 times faster away
    from the identity, with no failures in 17,500 samples.
    #15515

  • Correctness and robustness fixes. log() no longer aborts in debug
    builds or writes out of bounds in release builds on ill-conditioned
    symmetric positive definite tensors, where a catastrophically
    cancelling determinant produced a non-finite scaling factor: 39
    percent of random SPD tensors at condition 1e14 used to fail, none do
    now. eig_sym() returns a consistent (V, D) pair in two dimensions,
    the 2x2 singular value decomposition canonicalizes its singular
    values, operations that require symmetric positive definite input now
    fail loudly instead of returning garbage, and the 2x2 eigenvalue and
    square root scaling is safe for Sacado FAD scalars, which repaired
    downstream code that instantiates log() on a tensor of FAD scalars.
    #15513
    #15393
    #15397
    #15398
    #15520

  • The headers were reorganized, with no change in functionality. The
    .i.h and .t.h sub-headers were merged into their parents. The
    TeuchosCore and KokkosKernels dependencies were dropped. Code that
    includes MiniTensor.h is unaffected.
    #15523
    #15527
    #15529

  • The package is now documented.
    https://trilinos.github.io/docs/minitensor/index.html
    #15531
    #15533

  • The tests were split by module, property-based tests were added for
    the matrix decompositions, and every public header is now compiled on
    its own so that it stays self-contained.
    #15395
    #15534

MueLu:

  • Improve support for Teko-based smoothers via specifying smoother: type = teko
    #15238

  • Add a new stength-of-connection matrix that leverages an approximate inverse
    of a mass matrix.
    #15239

Panzer:

  • Large update to the documenation
    #15503

STK:

  • Inclusion of version 5.31.3
    #15427
    #15530

    Trilinos/packages/stk/CHANGELOG.md

    Lines 3 to 41 in 8aec0c9

    5.31.3 (STK_VERSION 5310300)
    stk_util: Deprecate 'double_complex_sum_op()' in MPI.hpp and rename
    internal supporting function in MPI.cc (to avoid duplicate
    symbol error with empire/xyce linking).
    cmake: Allow Intrepid2 to be an optional dependency of stk_search_util
    (Fixes an issue where stk_search_util failed to compile if
    Intrepid2 was not enabled.)
    5.31.2 (STK_VERSION 5310200)
    stk_mesh: improve behavior of for_each_entity_run when OpenMP is enabled
    stk_transfer: enable transfers between 2D and 3D mesh, as well as
    axisymmetric transfers
    stk_mesh: make field_blas functions work on Rocm when unified memory is
    enabled
    stk_transfer: enable stk_transfer executable to use Intrepid2 master elements
    stk_mesh: move DeviceMesh connectivity data out of buckets and into
    separate data structure
    stk_mesh: change DeviceMesh to sort the entities in the same order
    as BulkData
    stk_transfer: add optional coordinate transform to receive mesh
    wrapper to enable transfers between similar but
    not identical meshes
    stk_mesh: make field state rotation work on device for fields
    where some states do not have device data
    stk_transfer: enable transfers to repeat the search when directed
    by the user mesh wrappers. Makes stk_transfer
    usable for adaptive mesh refinement.
    stk_mesh: reduce size of FieldData objects and improve the
    performance of creating them
    5.27.4 (STK_VERSION 5270400) 1/6/26
    stk_mesh: parallel_sum/min/max and '_including_ghosts' versions
    now use single consolidated code-path for both CPU and
    GPU builds. Also fixes a Kokkos 5 build error related
    to '::HostMirror' vs '::host_mirror_type'.
    stk_mesh: Reduced size of device FieldData objects.
    stk_mesh: Fixed the 'STK_USE_DEVICE_MESH' build (which is used for
    debugging device code-paths in a non-GPU build).

Tempus:

  • The tutorial pages and documentation have been updated and extended.
    #15365
    #15387
    #15423

Teko:

  • Port ProbingPreconditionerFactory to Tpetra
    #15386

  • Port majority of tests/examples to Tpetra

Zoltan2:

  • Provide option to opt-out of potentially expensive symmetrization in metis algorithm
    #15496

Don't miss a new Trilinos release

NewReleases is sending notifications on new releases.