v2025.06.0
-
New features / API changes:
- The tpl-manager.py is completely overhauled to include the following:
- Utilize the Spheral Spack environments.
- Handle some build cache functionality.
- Do things Uberenv did like download and install Spack itself.
- Implicit time integration is now supported.
- CrankNicolsonIntegrator is the current implicit default
- The Physics package interface has been augmented to support implicit integration with two important
methods that must be provide:- Physics::dtImplicit to provide a maximum bounding time step
- Physics::maxResidual should provide a maximum dimensionles residual change to check for convergence
- Sundials is now an optional (but default) third-party lib in Spheral, and provides a non-linear solver
we now wrap in a new Solver interface in Spheral (wrapping Sundials KINSOL solver).
- FSISPH has a new flag (decoupleDamagedMaterial, default True) which can be turned off to more tightly
couple damaged to undamaged material.- planeStrain has been removed as an option in FSISPH as part of unifying deviatoric evolution with other
hydros.
- planeStrain has been removed as an option in FSISPH as part of unifying deviatoric evolution with other
- LEOS (Livermore Equation Of State) package now available in Spheral. Requires access to the LEOS
package itself, which most folks outside LLNL will not have. - gtest suite integration for writing minimal c++ unit tests on the host and device without needing to
compile large potions of the code. - Both ASPH and ASPHClassic now allow the user to override the final H evolution through optional functors added to the classes:
- HidealFilter
- RadialFunctor
- FacetedSurfaceASPHHydro has been removed in favor of providing user filters to the ASPH methods (i.e., the RadialFunctor method).
- Field resizing operations have been removed from the public interface.
- Performance analysis tools are improved.
- Added an "advance" Caliper timer to be used in the future as the default reference timer.
- Added a deploy CI stage to create a GitLab page with the historical performance benchmarks.
- The tpl-manager.py is completely overhauled to include the following:
-
Build changes / improvements:
- Native Spack environments are now being used.
- Uberenv is no longer used.
- Adds logic to simplify building on non-LC systems; tries to find existing installed compilers and packages.
- Adds spack.yaml environment files for current LC systems and a dev_pkg environment, which is used for creating the build cache.
- Local Spack packages for TPLs are removed or simplified when possible since the builtin Spack packages are no longer replaced.
- The upstream Spack instance is no longer used when creating the build cache.
- The package.yaml for Spheral is improved to allow full Spheral installation through Spack.
- Centralizes things like upstream location, compiler types and versions, and specs in the environments and configs.
- Native Spack environments are now being used.
-
Bug Fixes / improvements:
- ATS submodule is updated to fix bug with latest Flux update on LC systems.
- Update Polytope version.
- TPL manager removes the symoblic links to the install directory.
- Consolidated CMake configured files into SpheralConfigs.py.in.
- Deviatoric stress evolution in lower dimensions (1 and 2D) now consistent with other solid hydros.
- Changes the
SPHERAL_TEST_INSTALL_PREFIX
to be relative toCMAKE_INSTALL_PREFIX/tests
directory. - Fixed bug where performance tests would incorrectly move a benchmark directory if rerunning failed jobs.
- Cleaned out some old unused code.
- Fixed bugs related to DEM timestep, redistribution, and thread safety.
What's Changed
- 2025.01.0 Release Changes by @mdavis36 in #328
- RTD build fix. by @mdavis36 in #329
- Splitting Artificial viscosity out of hydrodynamics packages into its own physics package by @jmikeowen in #317
- Introducing Spack environments by @ldowen in #331
- Make the Spheral license detectable by @tgamblin in #338
- Adding implicit time integrators for general use in Spheral by @jmikeowen in #339
- Adding LEOS interface by @jmikeowen in #340
- Generalizing the user overridable H evolution options for ASPH and ASPHClassic. by @jmikeowen in #343
- Improve external builds/update polytope by @ldowen in #337
- Set appropriate
amdgpu_target
by @ldowen in #345 - Gtest Suite Infrastructure. by @mdavis36 in #342
- Improve performance analysis tool by @ldowen in #330
- Fix bug in gathering historical timing data by @ldowen in #347
- Jacamar Bugfix by @ldowen in #349
- Ale3d by @ptsuji in #335
- Feature/cleanup by @jmikeowen in #348
- Feature/dem/updates by @jmpearl in #344
- Removing pandas version requirement by @ldowen in #351
- Reduce CI resource use by @ldowen in #352
- Bugfix/remove perf resource by @ldowen in #354
- Rc v2025.06.0 by @mdavis36 in #366
New Contributors
Full Changelog: v2025.01.0...v2025.06.0