Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
109 commits
Select commit Hold shift + click to select a range
ef67faa
correct language and general update pass
svchb Mar 9, 2026
a84e50c
improve maths
svchb Mar 9, 2026
1182397
improve the formatting
svchb Mar 9, 2026
54502ee
better overview page
svchb Mar 15, 2026
9d9a040
add
svchb Mar 15, 2026
e211388
Merge branch 'main' into add_tutorial_for_STL_geoms
svchb Mar 15, 2026
1397926
Merge remote-tracking branch 'origin/main' into improve_docs
svchb Mar 19, 2026
b9c01c4
Merge branch 'main' into improve_docs
svchb Mar 19, 2026
daf705a
Merge branch 'main' into improve_docs
svchb Mar 30, 2026
5ae6ea5
Merge branch 'main' into improve_docs
svchb Apr 15, 2026
91ef5c6
Refactor boundary model initialization to use high-level builders for…
svchb Apr 17, 2026
3482840
format
svchb Apr 17, 2026
234d80a
Merge branch 'main' into improve_docs
svchb Apr 27, 2026
cca7c02
Clarify GPU support for devices
svchb Apr 27, 2026
f203727
Merge branch 'main' into improve_docs
svchb Apr 29, 2026
b489783
Merge branch 'main' into api/high-level-boundary-builders
svchb Apr 29, 2026
7d75830
Merge branch 'main' into api/high-level-boundary-builders
svchb May 4, 2026
2d10888
fix regression
svchb May 4, 2026
e926518
format
svchb May 4, 2026
a17bdd8
missing state equation for IISHP
svchb May 4, 2026
4d68c33
Merge branch 'improve_docs' into check_math_in_docs
svchb May 11, 2026
c1ff9b9
Merge branch 'check_math_in_docs' into formatting
svchb May 11, 2026
cfbe73b
Fix custom quantity reductions
svchb May 12, 2026
b34d761
Merge branch 'main' into fix/custom-quantities-active-particles
svchb May 12, 2026
4ad609d
Close 2D geometry curves by default
svchb May 12, 2026
99df83b
Normalize preprocessing point inputs
svchb May 12, 2026
bc478e6
Rebuild geometry data after face deletion
svchb May 12, 2026
09347e4
Avoid NaN normals for degenerate triangles
svchb May 12, 2026
2fc14ac
detect unclosed curves
svchb May 17, 2026
217ca63
add comments
svchb May 17, 2026
495543a
fix
svchb May 17, 2026
f47d55f
fix
svchb May 17, 2026
c382bce
cleanup
svchb May 17, 2026
8433ea1
Fix rectangular shape input handling
svchb May 17, 2026
0b678dd
Fix rectangular tank validation and overlap
svchb May 17, 2026
ca4fe12
Fix complex boundary sampling bounds
svchb May 17, 2026
af3e52a
Validate shape cutout and extrusion inputs
svchb May 17, 2026
700ebcd
Fix open-boundary characteristic zone handling
svchb May 17, 2026
2ffebc9
Validate 3D open-boundary face geometry
svchb May 17, 2026
6927e67
format
svchb May 26, 2026
a895243
Merge branch 'main' into fix/rectangular-shape-inputs
svchb May 26, 2026
eaf401d
Merge branch 'fix/rectangular-shape-inputs' of https://github.com/svc…
svchb May 26, 2026
da0ee32
Merge branch 'main' into fix/rectangular-tank-validation-overlap
svchb May 26, 2026
98a62a0
Merge branch 'main' into fix/complex-shape-sample-boundary
svchb May 26, 2026
75458e4
Merge branch 'main' into fix/setup-shape-extrude-validation
svchb May 26, 2026
c0a73ef
Merge branch 'main' into fix/boundary-zone-geometry-validation
svchb May 26, 2026
6397b86
Merge branch 'main' into fix/open-boundary-characteristics
svchb May 26, 2026
14192e4
review
svchb May 26, 2026
5721f18
review
svchb May 26, 2026
fed6d70
review
svchb May 26, 2026
d40be92
review
svchb May 26, 2026
e1b580e
review
svchb May 26, 2026
4ed8dec
review
svchb May 26, 2026
537edd7
review
svchb May 26, 2026
2c132c8
Fix EDAC restart pressure row
svchb May 26, 2026
d7d71b5
Validate fluid surface tension consistency
svchb May 26, 2026
30c7ba4
Fix IISPH density error accounting
svchb May 26, 2026
691219a
Fix IISPH neighbor coordinate wrapping
svchb May 26, 2026
bb26a60
Reject IISPH EDAC mixing
svchb May 26, 2026
25428e9
Update EDAC correction caches
svchb May 26, 2026
a16e0a4
fix tests
svchb May 27, 2026
82e6d99
Merge branch 'main' into preprocessing/fix-deleteat-geometry-cache-co…
svchb May 27, 2026
6317c25
format
svchb May 27, 2026
3d0974a
Merge branch 'main' into fix/rectangular-shape-inputs
svchb May 27, 2026
0f089a2
Merge remote-tracking branch 'upstream/main' into add_tutorial_for_ST…
svchb Jul 6, 2026
bed33ff
fix
svchb Jul 6, 2026
6583c15
fix geom
svchb Jul 6, 2026
4f8d3e3
format
svchb Jul 7, 2026
9bcf0ec
fix docs
svchb Jul 7, 2026
ae4b14b
fixes
svchb Jul 7, 2026
5131cd0
Merge remote-tracking branch 'upstream/main' into check_math_in_docs
svchb Jul 7, 2026
22522ac
Merge remote-tracking branch 'upstream/main' into check_math_in_docs
svchb Jul 7, 2026
c86c514
Merge branch 'check_math_in_docs' of https://github.com/trixi-framewo…
svchb Jul 7, 2026
7e6967b
Clarify SPH docs wording
svchb Jul 7, 2026
c79d885
fixes
svchb Jul 7, 2026
cba6a95
Merge branch 'main' into fix/edac-restart-continuity-density
svchb Jul 7, 2026
ae2403b
Merge branch 'main' into fix/iisph-density-error-accounting
svchb Jul 7, 2026
9b46c0a
Merge branch 'main' into fix/iisph-neighbor-coordinate-wrap
svchb Jul 7, 2026
a9cc49e
Merge branch 'main' into fix/iisph-reject-edac-mixing
svchb Jul 7, 2026
d7c46e9
Merge branch 'main' into fix/edac-update-corrections
svchb Jul 7, 2026
865bfa8
Merge branch 'main' into api/high-level-boundary-builders
svchb Jul 23, 2026
e43c6fb
Merge branch 'main' into fix/custom-quantities-active-particles
svchb Jul 23, 2026
5b42943
Merge branch 'main' into fix/open-boundary-characteristics
svchb Jul 23, 2026
95dcfbe
Merge branch 'main' into preprocessing/fix-deleteat-geometry-cache-co…
svchb Jul 30, 2026
baab2ff
Merge branch 'main' into fix/fluid-surface-tension-config
svchb Jul 30, 2026
0bd170c
Merge PR #1184: Fix custom quantity reductions
svchb Jul 30, 2026
df7fc01
Merge PR #1191: Avoid NaN normals for degenerate triangles
svchb Jul 30, 2026
b012b5d
Merge PR #1188: Normalize preprocessing point inputs
svchb Jul 30, 2026
605c3f5
Merge PR #1187: Close 2D geometry curves by default
svchb Jul 30, 2026
03c28f4
Merge PR #1190: Rebuild geometry data after face deletion
svchb Jul 30, 2026
fe69cab
Merge PR #1196: Fix rectangular shape input handling
svchb Jul 30, 2026
d0f59b0
Merge PR #1198: Fix rectangular tank validation and overlap
svchb Jul 30, 2026
0a3b545
Merge PR #1199: Fix complex boundary sampling bounds
svchb Jul 30, 2026
7ccd359
Merge PR #1145: Add high-level boundary builders
svchb Jul 30, 2026
8d89fca
Merge PR #1094: Add geometry tutorial
svchb Jul 30, 2026
678aa11
Merge PR #1086: Correct mathematical documentation
svchb Jul 30, 2026
44009e7
Fix merged PR integration regressions
svchb Jul 30, 2026
0a693d0
Merge PR #1087: Format documentation
svchb Jul 30, 2026
65b035e
Merge PR #1200: Validate shape cutout and extrusion inputs
svchb Jul 30, 2026
fa29adf
Merge PR #1202: Validate 3D open-boundary face geometry
svchb Jul 30, 2026
0bf4d37
Merge PR #1203: Fix open-boundary characteristic zone handling
svchb Jul 30, 2026
bb73289
Merge PR #1213: Fix EDAC restart pressure row
svchb Jul 30, 2026
8abecf8
Merge PR #1214: Validate fluid surface tension consistency
svchb Jul 30, 2026
bb0e15d
Merge PR #1215: Fix IISPH density error accounting
svchb Jul 30, 2026
0e280b3
Merge PR #1216: Fix IISPH neighbor coordinate wrapping
svchb Jul 30, 2026
970a937
Merge PR #1217: Reject IISPH EDAC mixing
svchb Jul 30, 2026
89b6882
Merge PR #1218: Update EDAC correction caches
svchb Jul 30, 2026
5dcbffa
Harden Akinci surface tension models
svchb Jul 31, 2026
40263be
stop
svchb Aug 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
.vscode
.DS_Store
.opencode
graphify-out
Manifest.toml
out
out_*
Expand Down
48 changes: 45 additions & 3 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,51 @@ used in the Julia ecosystem. Notable changes will be documented in this file for

## Version 0.5.3

### Features

- Added `flush` keyword argument to `InfoCallback` to flush `stdout` after each output,
### API Changes

- Akinci cohesion and adhesion kernels now use dimensionally consistent, integral-matched
normalizations in 2D. To preserve previous pairwise kernel contributions at compact-support
radius `h_c`, multiply the surface-tension coefficient by `627 / (790 * h_c)` and the
adhesion coefficient by `42 / (65 * h_c)`; migrated kernel coefficients are
resolution-independent.
- `SurfaceTensionAkinci` now defaults to fluid-only colorfield normals, matching Equation 2
of Akinci et al. (2013). Pass a finite `boundary_contact_threshold` to
`ColorfieldSurfaceNormal` explicitly to include boundary neighbors.
- Corrected `SurfaceTensionMorris` to apply its local CSF acceleration once per particle and
retain the required one-phase surface delta. Previous coefficients compensated implicitly
for a dimensionally incomplete force repeated once per fluid neighbor and must be recalibrated.
- For Morris and CSS models, `ideal_density_threshold` now denotes a fraction of the continuous
complete-support kernel moment instead of an integer neighbor-count fraction. The default zero
still disables interior filtering; validation configurations migrate the previous explicit
value `0.9` to `0.95`.

### Features

- Reworked `SurfaceTensionMomentumMorris` as a balanced one-phase CSS model. The model now
retains the physical color-gradient surface delta, applies a conservative scalar reproducing
correction without another neighbor pass, and evaluates stress on demand.
- Added the explicit `WettedAreaContactAngle` model for validated 3D CSS wetting. It applies the
complete derivative of Young's corrected wetted-area energy, including equal-and-opposite wall
and rigid-body reactions. The no-contact default is unchanged. The rejected, unshipped
geometric-normal and contact-line-force candidates were removed.
- Added C1 interface activation for Morris CSF and CSS. The color-gradient and continuous
support-moment indicators taper the physical surface delta without an extra neighbor pass;
CSS retains exact pairwise linear-momentum conservation.
- Added opt-in `CorrectedCSFSurfaceNormal` for the single-fluid free-surface core of the C-CSF
method. It provides renormalized eigenvalue-gradient normals, curvature, and a Shepard-corrected
surface delta for `SurfaceTensionMorris`. A finite contact angle enables planar boundary-integral
geometry on dummy-particle walls with explicit face measures and normal offsets. Hydrodynamic wall
coupling continues to use the configured dummy-particle model.
- Added opt-in one-pass activity-weighted Shepard smoothing for `ColorfieldSurfaceNormal` directions.
Interface activation, surface-delta magnitudes, and particle-shifting normals remain unsmoothed.
- Added opt-in `FreeSurfaceTangentialShifting` for Sun particle shifting with Morris CSF and CSS.
It reuses the smooth color-field interface activity, retains full consistent shifting in the
interior, and projects shifting onto the local tangent plane at the free surface. Closed-system
shifting defaults are unchanged.
- Added the opt-in 3D `SurfaceTensionAkinciCohesionPhysical` model. It converts a physical
surface tension in N/m to the resolution-dependent Akinci cohesion coefficient, supports
same-kernel Young-Dupre wall ratios, and contributes a capillary time-step restriction.
- Added `flush` keyword argument to `InfoCallback` to flush `stdout` after each output,
useful for monitoring progress in real-time on clusters or batch systems (#1246).
- Added the computation of boundary normals for `RectangularTank`s and `SphereShape`s.

Expand Down
3 changes: 3 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ WriteVTK = "64499a7a-5c06-52f2-abe2-ccb03c286192"

[weakdeps]
CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba"
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
OrdinaryDiffEqCore = "bbf590c4-e513-4bbe-9b18-05decba2e5d8"
OrdinaryDiffEqLowStorageRK = "b0944070-b475-4768-8dec-fb6eb410534d"
OrdinaryDiffEqSymplecticRK = "fa646aed-7ef9-47eb-84c4-9443fc8cbfa8"
Expand All @@ -43,6 +44,7 @@ Static = "aedffcd0-7271-4cad-89d0-dc628f76c6d3"
[extensions]
TrixiParticlesOrdinaryDiffEqSymplecticRKExt = ["OrdinaryDiffEqSymplecticRK", "OrdinaryDiffEqCore"]
TrixiParticlesCUDAExt = "CUDA"
TrixiParticlesMakieExt = "Makie"

[compat]
Accessors = "0.1.43"
Expand All @@ -60,6 +62,7 @@ GPUArraysCore = "0.2"
JSON = "1"
KernelAbstractions = "0.9"
LinearAlgebra = "1"
Makie = "0.24"
OrdinaryDiffEqLowStorageRK = "3"
OrdinaryDiffEqCore = "4"
OrdinaryDiffEqSymplecticRK = "2"
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,24 +45,24 @@ It offers intuitive configuration, robust pre- and post-processing, and vendor-a
We provide several example simulation setups in the `examples` folder (which can be accessed from Julia via `examples_dir()`).

<table align="center" border="0">
<tr>
</tr>
<tr>
<td align="center">
<img src="https://github.com/trixi-framework/TrixiParticles.jl/assets/10238714/683e9363-5705-49cc-9a5c-3b47d73ea4b8" style="width: 80% !important;"/><br><figcaption>2D Dam Break</figcaption>
<img src="https://github.com/trixi-framework/TrixiParticles.jl/assets/10238714/683e9363-5705-49cc-9a5c-3b47d73ea4b8" style="width: 80% !important;"/><br />
<figcaption>2D Dam Break</figcaption>
</td>
<td align="center">
<img src="https://github.com/trixi-framework/TrixiParticles.jl/assets/10238714/c10faddf-0400-47c9-b225-f5d286a8ecb8" style="width: 80% !important;"/><br><figcaption>Moving Wall</figcaption>
<img src="https://github.com/trixi-framework/TrixiParticles.jl/assets/10238714/c10faddf-0400-47c9-b225-f5d286a8ecb8" style="width: 80% !important;"/><br />
<figcaption>Moving Wall</figcaption>
</td>
</tr>
<tr>
</tr>
<tr>
<td align="center">
<img src="https://github.com/trixi-framework/TrixiParticles.jl/assets/10238714/e05ace63-e330-441a-a391-eda3d2764074" style="width: 80% !important;"/><br><figcaption>Oscillating Beam</figcaption>
<img src="https://github.com/trixi-framework/TrixiParticles.jl/assets/10238714/e05ace63-e330-441a-a391-eda3d2764074" style="width: 80% !important;"/><br />
<figcaption>Oscillating Beam</figcaption>
</td>
<td align="center">
<img src="https://github.com/trixi-framework/TrixiParticles.jl/assets/10238714/ada0d554-e0ba-44ed-923d-2b77ef252258" style="width: 80% !important;"/><br><figcaption>Dam Break with Elastic Plate</figcaption>
<img src="https://github.com/trixi-framework/TrixiParticles.jl/assets/10238714/ada0d554-e0ba-44ed-923d-2b77ef252258" style="width: 80% !important;"/><br />
<figcaption>Dam Break with Elastic Plate</figcaption>
</td>
</tr>
</table>
Expand Down
2 changes: 2 additions & 0 deletions compare_akinci/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/Manifest.toml
!/*.png
Binary file added compare_akinci/1-s2.0-S0045782521005892-main.pdf
Binary file not shown.
Loading