v0.5.0
Peridynamics v0.5.0
Breaking Changes
- Constitutive models: Removed
MooneyRivlinand addedNeoHookePenaltyas a replacement - RKC Materials: Improved regularization for the inversion of the moment matrix; therefore, the
regfactorkeyword argument inRKCMaterialandRKCRMaterialhas been removed and replaced with the newlambdaandbetakeywords - Default constitutive model:
CMaterial,BACMaterial,RKCMaterial, andRKCRMaterialnow default toSaintVenantKirchhoff()instead ofLinearElastic()
New Features
- Generalized Bond-Based Material: New
GBBMaterial(also called GPMB in literature) using weighted volume approach instead of spherical neighborhood assumption - Parameter Study Framework: New
Studytype for managing multiple simulation configurations with automatic progress tracking and resume capability viasubmit!andprocess_each_job - Newton-Raphson Solver: Experimental implicit quasi-static solver
NewtonRaphsonwith a new displacement boundary conditions functiondisplacement_bc!
General Improvements
- Enhanced Export:
- New export fields, such as
strain_energy_densityor stress tensors for correspondence materials - Exported fields that are not necessary for the force density computations are only computed on demand for the time steps where they are exported
- New export fields, such as
- Enhanced Logging:
- Improved error logging in
submit(job)andsubmit!(study)for better tracking and debugging on HPC systems - Better path and vector formatting in logs with line wrapping support
- Export options now logged at simulation start
- Improved error logging in
- MPI Handling:
- New
barrierkeyword argument forprocess_each_export - New
mpi_barrierfunction for explicitly placing MPI barriers
- New
- Bug Fixes:
- Fixed force density initialization in data handlers
- Each material model now uses its own strain energy density calculation methods for surface correction
- Corrected stress tensor exports for correspondence materials
- Fixed boundary condition application order
- Documentation Updates:
- Reorganized API reference (separate sections for types, functions, macros, and experimental features)
- Added experimental feature warnings
- Improved constitutive model documentation with mathematical formulations
- Enhanced RKC material documentation with more regularization details
- Internal Changes:
- Refactored condition handling with new
ConditionHandlertype - Enhanced storage field management across different solvers
- Better separation of solver-specific and material-specific storage fields
- Enhanced degree-of-freedom management with new utility functions (
get_n_dof,each_dof, etc.)
- Refactored condition handling with new
Merged pull requests:
- Bump actions/checkout from 4 to 5 (#233) (@dependabot[bot])
- Introducing a boundary condition handler (#234) (@kaipartmann)
- Custom export fields (#236) (@kaipartmann)
- Constitutive models (#237) (@kaipartmann)
- Enhanced stress support for correspondence-based models (#238) (@kaipartmann)
- Surface correction with model-specific strain energy density (#239) (@kaipartmann)
- Experimental: Newton Raphson solver (only serial) (#240) (@kaipartmann)
- Test coverage (#243) (@kaipartmann)
- Create parameter study framework (#244) (@kaipartmann)
- Restarted studies now fixed (#245) (@kaipartmann)
- Fix the ESC bug (#247) (@kaipartmann)
- Fix incorrect init in Dual Horizon BB (#248) (@kaipartmann)
- Improvements of the RKC- and RKCRMaterial (#249) (@kaipartmann)
- Logging during simulations and MPI handling (#252) (@kaipartmann)
- Generalized bond-based material (#253) (@kaipartmann)
Closed issues: