Releases: LLNL/spheral
v2024.06.1
Version v2024.06.1 -- Release date 2024-07-09
-
Important Notes:
- This is a patch release for v2024.06.0.
-
Bug Fixes / improvements:
- CD pipeline hotfix for installing release builds on LC machines.
- Fixes an issue with the use of the axom::quest::SignedDistance interface.
What's Changed
Full Changelog: v2024.06.0...v2024.06.1
v2024.06.0
Version v2024.06.0 -- Release date 2024-06-27
- Important Notes:
- External users of the code will need to supply config files for tpl-manager to find system libraries correctly. Steps to do this are detailed in the external user build guide.
Notable changes include:
-
New features / API changes:
- Added MFV hydro from Hopkins 2015 with extension for ALE options.
- Adding optional user specified smoothing scale method for SPH, FSISPH, and CRKSPH.
-
Build changes / improvements:
- PYBind11 libraries no longer depend on the structure of the PYB11 source directory.
- CMake interface for adding PYBind11 target libraries is modified to more closely match how C++ libraries are created.
- Multiple Spheral Python modules / CMake targets can be specified for a single directory.
- KernelIntegrator and FieldList directories are divided into 2 modules / targets.
- tpl-manager.py will no longer use generic x86_64 configs for non LC systems. Users will be required to supply their own configs for pointing spack at external packages.
- Spack version is increased from 0.19 to 0.22.
- Spack upstream is updated.
- Removed the python 3 module load for the Gitlab CI to fix an issue with pkg-config changing.
- Zlib target and TPL cmake file is removed.
- PYB11Generator repo is updated.
- Spack config and package files inside Spheral are updated to accommodate Spack 0.22.
- Package recipes for py-numpy-stl, py-pillow, py-pipreqs, td, and tk are removed.
- Versions for python dependencies in the Spheral spack recipe are fixed and updated (in some cases).
- PYBind11 libraries no longer depend on the structure of the PYB11 source directory.
-
Bug Fixes / improvements:
- Corrected an erroneous VERIFY in the P-alpha porosity constructor (with Fields of porosity and sound speed) that forced runs to stop even with correct input parameters
- Fixed a bug in the standard ASPH hydros (ASPH, SolidASPH, and RZ varieties) that gave incorrect results. FSI ad CRK models with ASPH smoothing scales were OK, but standard
SPH using ASPH smoothing scales were simply incorrect for non-unit aspect ratio H's. Also added ATS tests to help catch such errors going forward.
v2024.01.1
Version v2024.01.1 -- Release date 2024-02-17
- Important Notes:
- This is a patch release for v2024.01.0.
Notable changes include:
-
New features/ API changes:
- Adding an optional second-stage problem start-up hook to the Physics package interface: Physics::initializeProblemStartupDependencies. The idea is to keep basic sizing
of arrays and such in the first stage (Physics::initializeProblemStartup), while this new hook is used for updating any initial Physics state (and therefore provides a
State and StateDerivatives object).
- Adding an optional second-stage problem start-up hook to the Physics package interface: Physics::initializeProblemStartupDependencies. The idea is to keep basic sizing
-
Build changes / improvements:
* -
Bug Fixes / improvements:
- Fixed bug with ConstantBoundary in the presence of porosity with the new porosity models introduced in v2024.01.00.
- Updating header lists for including Spheral modules in external projects.
- Adding effective viscous pressure back to FSISPH.
- Initial volumes for damage models were incorrectly not taking into account pore space when computing failure statistics for seeding flaws. Fixed.
What's Changed
- 2024.01.0 Release changes back to develop by @mdavis36 in #257
- Bugfix/fsisph ale3 d by @jmpearl in #259
- Add make_policy.hh to the DataBase CMakeList.txt by @ldowen in #260
- Bugfix/initialize problem startup dependencies by @jmikeowen in #261
- Fixes some initialization problems with the damage models volume definitions. by @jmikeowen in #264
- v2024.01.1 Patch Release by @mdavis36 in #263
Full Changelog: v2024.01.0...v2024.01.1
v2024.01.0
Version v2024.01.0 -- Release date 2024-01-19
- Important Notes:
- The PolyClipper, BLT, and PYB11Generator submodules have been modified. Be sure to recursively update the submodules.
Notable changes include:
-
New features/ API changes:
- Adding P-alpha porosity model.
- Updating treatment of various state variables in the presence of porosity.
- Introduced a new common base class for porosity physics (PorosityModel), which PalphaPorosity and StrainPorosity share.
- Revamped interaction UpdatePolicies with FieldLists:
- UpdatePolicies have a new virtual method: clonePerField: True means when registering a FieldList copy the Policy for each Field in the FieldList; False means register the FieldList for update itself with the single instance of the Policy.
- This change removes most of our redundant Field/FieldList update policies, and allows us to be more granular in applying different policies to single Field values in a FieldList.
- Adding more Shadow Python interfaces wrapping our C++ classes, in particular PalphaPorosity and StrainPorosity.
- EquationOfState now requires instances to provide \partial P/\partial \rho and \partial P/\partial \epsilon. All current equations of state have been updated accordingly.
- Tillotson and Gruneisen EOSs implementations updated a bit in the revamping.
- Added more material options to MaterialPropertiesLib.py (mostly from Melosh's 89 book).
-
Build changes / improvements:
- Spheral now provides First Class CMake support (using the BLT nomenclature). Spheral and its dependencies are now exported to simplify importing the project. To import Spheral into another project using CMake, use:
find_package(Spheral_CXX <path_to_spheral_installation>)
- CMake variables have a more consistent naming convention. Unused variables are removed.
- Added ENABLE_DEV_BUILD option to improve build times during code development.
- Upped our required C++ standard to 17.
- Spheral now provides First Class CMake support (using the BLT nomenclature). Spheral and its dependencies are now exported to simplify importing the project. To import Spheral into another project using CMake, use:
-
Bug Fixes / improvements:
- Fixed melt behavior in Steinberg-Guinan strength model, which was ignoring melt for damaged material.
- Fixed range of dimensionless melt temperature for Johnson-Cook strength.
- FSISPH new features and modifications to method.
- NOTE constructor inputs have changed.
- strength implementation modified.
- new features added including plane strain option and settable minP for interfaces.
- new, more rigorous, interface and free surface tracking.
- Fixed initialization of longitudinal sound speed and Youngs modulus for damage models.
- Corrected some minor bugs/inconsistencies in the Tillotson EOS.
- lcats updated to work with current TOSS4 machine configurations.
- Updated various tests to make out automated testing more robust.
What's Changed
- 2023.06.0 release changes back to develop by @mdavis36 in #234
- Added toss_4 designation to .gitignore by @ldowen in #233
- Fix banner bug by @ldowen in #236
- Feature/cmake export targets by @ldowen in #238
- Bugfix/melt strength by @jmikeowen in #240
- Correcting release number by @jmikeowen in #242
- Bugfix/demtests by @jmpearl in #243
- Fix external PolyClipper and add dev build feature by @ldowen in #244
- Make ArtificialConduction, ExternalForce, and Gravity packages optional by @adayton1 in #241
- CMake find_package Python bugfix. by @mdavis36 in #250
- Feature/fsisphInterfaces by @jmpearl in #239
- P-alpha porosity by @jmikeowen in #246
- Remove unnecessary forward declarations by @adayton1 in #247
- flipped the pressure names by @jmpearl in #253
- Setting more unique output test paths for planar porosity compaction by @jmikeowen in #251
- Always include the git hash in the Spheral python banner by @ldowen in #254
- Release Candidate v2024.01.0 (APPROVAL PR) by @mdavis36 in #256
New Contributors
Full Changelog: v2023.06.0...v2024.01.0
v2023.06.0
- Important Notes:
- This is the first release using Python 3.
- Restart files are not backwards compatible with prior releases.
Notable changes include:
-
New features/ API changes:
- We now use Python 3 rather than Python 2. The conversion from Python 2->3 is larger than most prior Python updates, which is part of why we held off for so long on this conversion. Python 2 is no longer supported however, and most other Python packages are only Python 3 now as well. Python comes with a tool (2to3) which can do most of the work converting a Python 2 script to Python 3, so we recommend when updating one of your old Python 2 run scripts or utilities you first let run 2to3 over that script.
- FileIO has been simplified in how it handles Fields, which has reduced the API of FileIO. However, this has two compromises:
- Restart files are not backwards compatible with older releases.
- Fields in restart files are pretty much binary blobs, and so are not easily inspected by hand.
- We have removed support for the Python interface to Gnuplot, since the Python Gnuplot package had significant interface changes. Please convert such interactive graphics to Matplotlib, which has very similar support to our older Gnuplot utilities by importing SpheralMatplotlib.
-
Build changes / improvements:
- PYB11Generator and PolyClipper are now submodules (in extern/)
- Converted our PYB11 generator build rules to use the newly provided PYB11Generator Cmake rules.
- toss_4_x86_64_ib system compatibility.
- Updated spack version to v0.19.1
--debug
and--no-spec
options added to tpl-manager.py for outputing debug and skippingspack spec
step.--init-only
option in tpl-manager.py will only initialize a local spack instance, skipping any TPL configuration.- TOSS4 compatibility for LC systems.
- "risky" builds are installed on LC machines through gitlab CI.
-
Bug Fixes / improvements:
- Fixed numerous compiler warnings with newer compilers such as G++ 9.4.
- r-path for additional TPLs can be propogated to Spheral libraries with
SPHERAL_ADDITIONAL_RPATHS
. - The DEM package has received a significant updated.
- Added simple analytic solid boundaries (planes,cylinder,sphere).
- User given more control over DEM fast time stepping.
- Simplified initialization and improved robustness.
What's Changed
- python3 feature tk fix by @mdavis36 in #199
- Release Candidate 2023.03.0 by @mdavis36 in #203
- Merge main into develop after 2023.03.0 release. by @mdavis36 in #204
- Patches for building on TOSS4 with spack v0.19.1. by @mdavis36 in #200
- Python3 port of Spheral by @jmikeowen in #206
- pyb11 install bug by @mdavis36 in #219
- Feature/ruby toss4 by @mdavis36 in #220
- Flat connectivity updates and axom 0.7.0 by @brbass in #205
- Continuous Deployment (CD) Pipelines by @mdavis36 in #222
- Update/dem by @jmpearl in #215
- Bugfix/dem by @jmpearl in #228
- cmake logic switch for cmake v3.21+ by @mdavis36 in #227
Full Changelog: v2023.03.0...v2023.06.0
v2023.03.2
This is a patch release. It propagates changes to allow 2023.03.0 to build and install on LC TOSS4 systems.
Note: This release fails to install py-scipy spack dependency for clang v14.0.6, LC release builds are installed w/ gcc. The clang spack build will not be fixed for this patch release.
Full Changelog: v2023.03.0...v2023.03.2
v2023.03.0
Version v2023.03.0 -- Release date 2023-03-29
This release contains ...
- Important Notes:
- Spheral now requires C++ 14
- Spheral C++ libs are compiled into a single library (Spheral_CXX)
Notable changes include:
-
New features/ API changes:
- New Discrete Element Model (DEM) physics package with linear-damped spring approach.
- Adding a CUDA smoke test that can be called from the Spheral python API.
- NVCC / CUDA 11 gitlab-ci jobs.
- ATS default filters for non-MPI, debug and CUDA builds are injected into spheral-atstest script.
- Latest Develop docker containers hosted on ghcr.io/llnl/spheral:latest.
- External / offline builds are tested through github actions.
- New polyhedral gravity solver.
- Improved DEM timestep choice, so that points that do not overlap do not overly constrain the timestep.
- Point potential gravity solver can now have non-unit metrics.
- Pair-max damage algorithm now decouples points in different NodeLists or with different fragmentIDs.
- Added direct support for FacetedVolumes to FileIO interface.
-
Build changes / improvements:
- The C++ library interface is compiled into a single Spheral_CXX library.
- Previous Spheral C++ libraries are still CMAKE targets, but are "ojbect" libraries.
- ATS bumped to version 7.0.9 for blueos smpi option support.
- Eigen bumped to 3.4.0 for NVCC compatiblity.
- C++ flag suppression is gaurded with build time CMake generators to only apply to C++ compilers.
- Python runtime libraries are now managed through Spack / tpl-manager.
- Added ENABLE_NAN_EXCEPTIONS (default OFF) Cmake flag to raise an exception when a NAN occurs (Gnu only).
- Byte-compiling python installed in virtual spheral environment.
- Invoking spheral no longer byte-compiles Python imported in a spheral script.
- HDF5 links as a shared library. Static lib usage can be forced with ENABLE_STATIC_TPL.
-
Bug Fixes / improvements:
- spheral-atstest scripts always point to locally installed ATS instance.
- gitlab-ci report-results script for analyzing ATS CI runs.
- Support for offline Spheral builds (provided TPLs are installed).
- Fixes for restarting without regenerating the original node positions in the Python script.
- Protected from division by zero in DEM when points coincide.
- Corrected support for minimum pressure (intact and damaged) with porous materials.
- Removed term driving damaged material to the reference density in solid hydros.
- Added verbose flag to EquationOfState::specificThermalEnergyForPressure so users can see how the iterative search proceeds.
v2022.06.1
Version v2022.06.1 -- Release date 2022-06-24
This is a bugfix release, which corrects a path problem that broke our convenient ANEOS
constructors using the provided input for quartz, dunite, and serpentine.
Changes from 2022.06.0:
Version v2022.06.0 -- Release date 2022-06-09
This release contains new features, bugfixes, and build improvements. Please see the
Spheral Documentation for more information about items in this release.
- Important Notes: This Spheral release is the first release to support the new Spack based TPL (Third Party Library) management system. The previous CMake based TPL system has been deprecated and removed. The documentation has detailed instructions on how to use this new TPL
system.
Notable changes include:
-
New features/ API changes:
- Spack TPL management system.
- Support for Gitlab-CI testing with Spheral.
- Addition of SidreFileIO.
- Support for Sidre Parallel IO (SPIO).
- Full Documentation re-organization.
- GSPH now has it's own pure-virtual GenericHydro class.
- Adding some persistent state to the hydro objects to remeber criteria for diagnostics.
- Moved inferace fields of SlideSurface class into the Hydro class.
- FSISPH handles same-material damaged strength similarly to Spheral's default SPH solver.
- New ProbabilisticDamageModel, which should be used in place of our prior Grady-Kipp implementations.
- More Damage application options, and new defaults
- Artificial viscosity for SPH variants now defaults to LimitedMonaghanGingoldViscosity.
-
Build changes / improvements:
- Deleting CMake TPL system and all AutoTools Build system artifacts.
- Removing support for mirrors in spack tpl system.
-
Bug Fixes / improvements:
- Spheral fixed when running in Debug mode with MPI=Off.
- Typos fixed in quickstart guide. #116
- Pedantic check for expired pointer to the RestartRegistrar. Ensures we don't call into deleted objects.
- Switching GammaLaw and Polytropic EOS to the isentrpic bulk modulus for consistency w/ Solid EOS.
- Update scalar and tensor damage calc in FSISPH to be more consistent with SolidSPHHydro.
- CullenDehnen segfault fix.
Full Changelog: 2022.2.0-pre-spack...v2022.6.0
v2022.06.0
Version v2022.06.0 -- Release date 2022-06-09
This release contains new features, bugfixes, and build improvements. Please see the Spheral Documentation for more information about items in this release.
- Important Notes: This Spheral release is the first release to support the new Spack based TPL (Third Party Library) management system. The previous CMake based TPL system has been deprecated and removed. The documentation has detailed instructions on how to use this new TPL system.
Notable changes include:
-
New features/ API changes:
- Spack TPL management system.
- Support for Gitlab-CI testing with Spheral.
- Addition of SidreFileIO.
- Support for Sidre Parallel IO (SPIO).
- Full Documentation re-organization.
- GSPH now has it's own pure-virtual GenericHydro class.
- Adding some persistent state to the hydro objects to remeber criteria for diagnostics.
- Moved inferace fields of SlideSurface class into the Hydro class.
- FSISPH handles same-material damaged strength similarly to Spheral's default SPH solver.
- New ProbabilisticDamageModel, which should be used in place of our prior Grady-Kipp implementations.
- More Damage application options, and new defaults
- Artificial viscosity for SPH variants now defaults to LimitedMonaghanGingoldViscosity.
-
Build changes / improvements:
- Deleting CMake TPL system and all AutoTools Build system artifacts.
- Removing support for mirrors in spack tpl system.
-
Bug Fixes / improvements:
- Spheral fixed when running in Debug mode with MPI=Off.
- Typos fixed in quickstart guide. #116
- Pedantic check for expired pointer to the RestartRegistrar. Ensures we don't call into deleted objects.
- Switching GammaLaw and Polytropic EOS to the isentrpic bulk modulus for consistency w/ Solid EOS.
- Update scalar and tensor damage calc in FSISPH to be more consistent with SolidSPHHydro.
- CullenDehnen segfault fix.
Full Changelog: 2022.2.0-pre-spack...v2022.06.0
v2022.02.0
Summary (Pre-Spack)
The latest state of Spheral before the transition to a spack
based TPL management system. This will be the final version of Spheral where the CMake TPL management system is guaranteed to work.
What's Changed
- Adding NodePairList data structure to ConnectivityMap. by @mdavis36 in #4
- PB11 integration of NodePairList by @mdavis36 in #5
- BLT/CMAKE build system by @mdavis36 in #6
- Fixing BLT installation path option. by @mdavis36 in #11
- Build time dependency checking on pybind module files by @mdavis36 in #10
- CMake build time TPLs by @mdavis36 in #14
- Fixing cmake python build with mpicxx by @mdavis36 in #15
- Feature/extra tpls by @mdavis36 in #16
- Llnl prep by @jmikeowen in #18
- Protecting from a horrible bug that allowed scripts to redefine by @jmikeowen in #19
- Adding zlib TPL by @mdavis36 in #21
- Bugfix/squash warnings for RK by @mdavis36 in #20
- Wsl2 port by @jmikeowen in #23
- Adding Axom as a TPL by @mdavis36 in #24
- Wsl2 port by @jmikeowen in #25
- Squashing warnings for ENABLE_CXXONLY by @mdavis36 in #22
- TPL build dependencies by @mdavis36 in #26
- [WIP] Squashed Warnings Pyb11 Modules by @mdavis36 in #27
- Bugfix/vizfiles by @jmikeowen in #28
- Fixing error with debug build in DBC by @mdavis36 in #29
- Squashing debug mode warnings by @mdavis36 in #30
- Feature/damage by @jmikeowen in #32
- Feature/damage by @jmikeowen in #33
- Clang Build Fixing Errors and Warnings by @mdavis36 in #31
- Adding MD5 hashes for all ExternalProject TPLs. by @mdavis36 in #35
- CXXTest Build Fix by @mdavis36 in #37
- Fixing conduit and axom external project src directory. by @mdavis36 in #39
- Python virtual-env ; gapps TPLs ; lc-build scripts by @mdavis36 in #34
- Fixing install scripts w/ srun on LC. by @mdavis36 in #40
- Named timing output file by @mdavis36 in #41
- Fixing a compile time bug when compiling with Timer enabled. Also simplified the Timer::TimerSummary a bit to a single function spec with a default argument. by @jmikeowen in #42
- Removing expensive timers from SPHEvaluateDerivatives. by @mdavis36 in #44
- GCC 8.1 lc-scripts for tpls and build; R-Path fix for TPL local Spheral builds; Script directory name changes. by @mdavis36 in #45
- Adding the option to cull timers that didn't fire from the summary output by @jmikeowen in #47
- Update building.rst by @as1m0n in #48
- Removing native PolyClipper and adopting standalone PolyClipper library as third party source by @jmikeowen in #53
- added the map from RZ space to 2d into the finalize and initialize me… by @jmpearl in #54
- Feature/expanding domain by @jmpearl in #52
- Enable polyclipper shared tpl by @mdavis36 in #57
- Switched StrainPorosity velocity gradient by @jmpearl in #58
- TPL hash install dirs by @mdavis36 in #62
- Update SynchronousRK2.cc by @jmpearl in #63
- Bugfix/build without network by @jmikeowen in #66
- Feature/variable resolution damage by @jmikeowen in #68
- Updating PolyClipper from 1.2.1 to 1.2.2 by @jmikeowen in #69
- Water EOS by @jmpearl in #67
- Sphinx path fix by @mdavis36 in #71
- Feature/timer fixes by @jmikeowen in #73
- Fix ats & gnuplot install bug. by @mdavis36 in #75
- Sidre data collection test re-org by @mdavis36 in #76
- Bugfix to return exit status codes from Spheral process. by @jmikeowen in #80
- Fsisph by @jmpearl in #77
- Added a circle-3d line-2d clipping feature for inflow by @jmpearl in #65
- Fixing testPolygon tests. by @mdavis36 in #82
- Fix for Neighbor tests by @mdavis36 in #85
- test_uniform_random fix. by @mdavis36 in #83
- Added missing timers for fsisph. by @brbass in #84
- Feature/sidre data collection by @MishaZakharchanka in #64
- graphics flag caused ATS fail w/out X-forwarding terminal by @jmpearl in #87
- Fsisph update by @jmpearl in #86
- Feature/spherical sph by @jmikeowen in #55
- stiffened gas eos sound speed and entropy were off by @jmpearl in #90
- error in stiffened gas bulk mod made it way too large by @jmpearl in #91
- Changes for Blast by @brbass in #92
- Sod test generalization by @jmpearl in #89
- Axom mpi build by @mdavis36 in #95
- Fsisph update 2 by @jmpearl in #97
- GSPH module by @jmpearl in #94
- GSPH added more tests by @jmpearl in #100
- Feature/pmin damage by @jmikeowen in #99
- Refactor/testing by @MishaZakharchanka in #98
- Fsisph diffuse mod by @jmpearl in #103
- Bug fix/gsph units error by @jmpearl in #102
- Update KelvinHelmholtz-2d_McNally.py by @jmpearl in #105
- Fix to just install files under version control for tests directory by @jmikeowen in #104
- Fixing Debug & MPI-Off builds by @mdavis36 in #106
- Bugfix/compiler warnings by @jmikeowen in #110
New Contributors
- @jmikeowen made their first contribution in #18
- @as1m0n made their first contribution in #48
- @jmpearl made their first contribution in #54
- @brbass made their first contribution in #84
- @MishaZakharchanka made their first contribution in #64
Full Changelog: https://github.com/LLNL/spheral/commits/2022.2.0-pre-spack