kaipartmann/Peridynamics.jl
A Julia package for parallel peridynamics simulations
15 Releases
Latest: 6mo ago
v0.5.3Latest
📦 Peridynamics v0.5.3
- [Diff since v0.5.2](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.5.2...v0.5.3)
- Merged pull requests:
- Adaptive perturbation (#265) (@kaipartmann)
- Closed issues:
- Newton-Raphson solver (#241)
v0.5.2
📦 Peridynamics v0.5.2
- [Diff since v0.5.1](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.5.1...v0.5.2)
- Merged pull requests:
- Make job submission deadlock safe (#257) (@kaipartmann)
- Bump actions/checkout from 5 to 6 (#261) (@dependabot[bot])
- Enhanced the ZEM Stabilization of Silling (#262) (@kaipartmann)
- A parallel NewtonKrylov implementation (#264) (@kaipartmann)
v0.5.1
📦 Peridynamics v0.5.1
- [Diff since v0.5.0](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.5.0...v0.5.1)
- Merged pull requests:
- Process each export with result collection (#254) (@kaipartmann)
- Removed possible deadlock in job processing (#256) (@kaipartmann)
- Closed issues:
- Tests and MPI enforcement (#255)
v0.5.0
📦 Peridynamics v0.5.0
- [Diff since v0.4.2](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.4.2...v0.5.0)
💥 Breaking Changes
- Constitutive models: Removed `MooneyRivlin` and added `NeoHookePenalty` as a replacement
- RKC Materials: Improved regularization for the inversion of the moment matrix; therefore, the `regfactor` keyword argument in `RKCMaterial` and `RKCRMaterial` has been removed and replaced with the new `lambda` and `beta` keywords
- Default constitutive model: `CMaterial`, `BACMaterial`, `RKCMaterial`, and `RKCRMaterial` now default to `SaintVenantKirchhoff()` instead of `LinearElastic()`
✨ 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 `Study` type for managing multiple simulation configurations with automatic progress tracking and resume capability via `submit!` and `process_each_job`
- Newton-Raphson Solver: Experimental implicit quasi-static solver `NewtonRaphson` with a new displacement boundary conditions function `displacement_bc!`
📦 General Improvements
- Enhanced Export:
- New export fields, such as `strain_energy_density` or 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
- Enhanced Logging:
- Improved error logging in `submit(job)` and `submit!(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
- MPI Handling:
- + 37 more
v0.4.2
📦 Peridynamics v0.4.2
- [Diff since v0.4.1](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.4.1...v0.4.2)
- Merged pull requests:
- Developer documentation (#210) (@mdienst)
- Reproducing kernel peridynamics formulation (#220) (@kaipartmann)
- Added support for dynamic relaxation solver and multibody simulations (#222) (@kaipartmann)
- Added tests (#225) (@mdienst)
- Fix MPI tests with updated project directory specification (#226) (@kaipartmann)
- Updated the compat entry of PointNeighbors.jl (#227) (@kaipartmann)
- + 6 more
v0.4.1
📦 Peridynamics v0.4.1
- [Diff since v0.4.0](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.4.0...v0.4.1)
- Merged pull requests:
- CompatHelper: bump compat for PointNeighbors to 0.5, (keep existing compat) (#215) (@github-actions[bot])
- Fix broken example block in docstring (#217) (@mdienst)
- Added the dual-horizon bond-based formulation (#218) (@kaipartmann)
- Added the ZEM algorithm of Wan et al. (2019). (#219) (@kaipartmann)
- Additional tests for specific material models (#223) (@mdienst)
- Closed issues:
- + 2 more
v0.4.0
📦 Peridynamics v0.4.0
- [Diff since v0.3.3](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.3.3...v0.4.0)
💥 Breaking changes and new features
- Material parameter overhaul
- Failure behavior is now controlled by passing or omitting `Gc` / `epsilon_c`.
- No need to explicitly disable failure for elastic simulations.
- `no_failure!` replaces `failure_permit!`.
- Enhanced correspondence model (`CMaterial`)
- Renamed from `NOSBMaterial`. Now with:
- Kernel support: `linear_kernel`, `cubic_b_spline_kernel`
- Constitutive models: `LinearElastic`, `NeoHooke`, `MooneyRivlin`, etc.
- + 5 more
📦 Other improvements
- Use any two elastic parameters (`E`, `nu`, `lambda`, `mu`, `G`, `K`) — the rest are auto-calculated.
- `BBMaterial` now accepts `nu = 0.25`.
- Kernel functions are now available for `OSBMaterial` as well.
- New `benchmark/` folder for performance testing.
- New data boundary conditions with `velocity_databc!` and `forcedensity_databc!` (experimental).
- Started adding docstrings for key internal functions.
- Various bug fixes and documentation improvements.
- Merged pull requests:
- + 49 more
v0.3.3
📦 Peridynamics v0.3.3
- [Diff since v0.3.2](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.3.2...v0.3.3)
- Merged pull requests:
- Fixed JuliaCon review errors with the tests (#169) (@kaipartmann)
- Updated Videos in Tutorials (#172) (@mdienst)
- Wave in bar tutorial improvement (#174) (@mdienst)
- Closed issues:
- Multithreading with PointNeighbors.jl and Polyester.jl (#110)
- Tutorial fragmenting cylinder (#124)
- + 2 more
v0.3.2
📦 Peridynamics v0.3.2
- [Diff since v0.3.1](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.3.1...v0.3.2)
- Merged pull requests:
- New Tutorial & improvements on Explanation pages (#155) (@mdienst)
- Explanations on damage (#157) (@mdienst)
- Fix Wrong file order when processing exports with > 1mio time steps #160 (#161) (@kaipartmann)
- Updated ThreadPinning (#165) (@kaipartmann)
- Changed gifs with mp4 files and added cylinder to overview (#166) (@kaipartmann)
- Closed issues:
- + 4 more
v0.3.1
📦 Peridynamics v0.3.1
- [Diff since v0.3.0](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.3.0...v0.3.1)
- Merged pull requests:
- Fix VTK reading bug (#152) (@kaipartmann)
- Change multithreading backend to Base.Threads (#153) (@kaipartmann)
- Closed issues:
- HPC suitability (#14)
- The VTK read function errors if nothing is exported (#151)
v0.3.0
📦 Peridynamics v0.3.0
- [Diff since v0.2.0](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.2.0...v0.3.0)
- Merged pull requests:
- Update dev branch to state of v0.2.0 (#16) (@kaipartmann)
- Update julia versions for testing (#18) (@kaipartmann)
- Complete rewrite of the package (#19) (@kaipartmann)
- Improved documentation with theory (#20) (@mdienst)
- Merge current state into dev branch (#21) (@kaipartmann)
- Updates to current state (#23) (@kaipartmann)
- + 100 more
v0.2.0
📦 Peridynamics v0.2.0
- [Diff since v0.1.1](https://github.com/kaipartmann/Peridynamics.jl/compare/v0.1.1...v0.2.0)
- Closed issues:
- Multithreading bug with Julia 1.8 (#7)
- Question on damage computation (#11)
- Merged pull requests:
- Thread scaling (#9) (@kaipartmann)
- Reader for VTK-files (#10) (@kaipartmann)
- Dev / v0.2.0 (#12) (@kaipartmann)
v0.1.1
📦 Peridynamics v0.1.1
- [Diff since v0.1.0](https://github.com/kfrb/Peridynamics.jl/compare/v0.1.0...v0.1.1)
- Changes:
- Added tutorial for [Visualization with ParaView](https://kfrb.github.io/Peridynamics.jl/stable/paraviewtutorial/#Visualization-with-ParaView)
- Fixed multithreading bug, caused by the change to `:dynamic` scheduling in julia 1.8
v0.1.0+doc1
v0.1.0
📦 Peridynamics v0.1.0
- Merged pull requests:
- CompatHelper: add new compat entry for FileIO at version 1, (keep existing compat) (#1) (@github-actions[bot])
- CompatHelper: add new compat entry for WriteVTK at version 1, (keep existing compat) (#2) (@github-actions[bot])
