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