Skip to content

Releases: LLNL/spheral

v2024.06.1

11 Jul 14:56
8f20d80
Compare
Choose a tag to compare

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

01 Jul 18:17
cdd7c1d
Compare
Choose a tag to compare

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).
  • 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

14 Feb 01:21
ffd0e97
Compare
Choose a tag to compare

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).
  • 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

20 Jan 00:55
017f9e5
Compare
Choose a tag to compare

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.
  • 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

New Contributors

Full Changelog: v2023.06.0...v2024.01.0

v2023.06.0

06 Jul 19:50
8c3b9db
Compare
Choose a tag to compare
  • 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 skipping spack 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

Full Changelog: v2023.03.0...v2023.06.0

v2023.03.2

21 Jun 17:56
f2de290
Compare
Choose a tag to compare

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

30 Mar 03:30
f63b33e
Compare
Choose a tag to compare

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

24 Jun 22:57
Compare
Choose a tag to compare

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

09 Jun 23:08
9a4b7e6
Compare
Choose a tag to compare

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

08 Feb 20:15
7b09560
Compare
Choose a tag to compare
v2022.02.0 Pre-release
Pre-release

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

New Contributors

Full Changelog: https://github.com/LLNL/spheral/commits/2022.2.0-pre-spack