Add PressureBoundaries for IISPH - #946
Merged
efaulhaber merged 47 commits intoNov 4, 2025
Merged
Conversation
…nction into iisph_source_term
…s with julia version 1.12
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR adds PressureBoundaries, a new boundary density calculator specifically designed for IISPH systems. The main innovation is extending IISPH's pressure Poisson equation (PPE) to include boundary particles directly in the linear system, rather than approximating their pressures separately.
Key changes:
- Introduces PressureBoundaries density calculator for natural pressure distribution across fluid-boundary interfaces
- Makes IISPH compatible with AdamiPressureExtrapolation and BernoulliPressureExtrapolation
- Refactors IISPH system functions to support new boundary handling and adds calculate_d_ji function
Reviewed Changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| test/examples/examples_fluid.jl | Adds test cases for IISPH with new boundary density calculators |
| src/schemes/fluid/implicit_incompressible_sph/system.jl | Major refactoring of IISPH system to support PressureBoundaries and improved boundary handling |
| src/schemes/fluid/implicit_incompressible_sph/pressure_boundaries.jl | New file implementing PressureBoundaries density calculator with PPE support |
| src/schemes/fluid/implicit_incompressible_sph/implicit_incompressible_sph.jl | Includes new pressure boundaries module |
| src/schemes/boundary/wall_boundary/dummy_particles.jl | Extends boundary model to support PressureBoundaries with cache and pressure initialization |
| src/general/semidiscretization.jl | Adds comment for IISPH system update |
| src/TrixiParticles.jl | Exports new PressureBoundaries type |
| examples/fluid/dam_break_2d_pressure_boundaries.jl | New example demonstrating PressureBoundaries usage |
| docs/src/systems/implicit_incompressible_sph.md | Comprehensive documentation updates explaining boundary handling and new PressureBoundaries method |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
efaulhaber
requested changes
Oct 9, 2025
… same results as before
efaulhaber
requested changes
Oct 13, 2025
efaulhaber
requested changes
Oct 13, 2025
efaulhaber
requested changes
Oct 23, 2025
efaulhaber
left a comment
Member
There was a problem hiding this comment.
Please also add the pressure boundaries example to the example tests.
svchb
requested changes
Oct 23, 2025
LasNikas
reviewed
Oct 27, 2025
efaulhaber
requested changes
Nov 3, 2025
efaulhaber
approved these changes
Nov 4, 2025
Member
|
/run-gpu-tests |
LasNikas
self-requested a review
November 4, 2025 10:02
LasNikas
approved these changes
Nov 4, 2025
svchb
approved these changes
Nov 4, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a new boundary density calculator PressureBoundaries, that can only be used with IISPH.
The implementation is located in
pressure_boundaries.jl, and a corresponding example has been added indam_break_2d_pressure_boundaries.jl.Also makes IISPH compatible with AdamiPressureExtrapolation and BernoulliPressureExtrapolation.
To support the new boundary density calculators, a few modifications were made in the iisph
system.jl, including the addition of the new calculate_d_ji function.