Skip to content

Add Akinci surface tension support to IISPH - #1267

Draft
svchb wants to merge 15 commits into
trixi-framework:mainfrom
svchb:surface-tension/akinci-iisph-support
Draft

Add Akinci surface tension support to IISPH#1267
svchb wants to merge 15 commits into
trixi-framework:mainfrom
svchb:surface-tension/akinci-iisph-support

Conversation

@svchb

@svchb svchb commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • support CohesionForceAkinci and SurfaceTensionAkinci in ImplicitIncompressibleSPHSystem
  • support AkinciFreeSurfaceCorrection with the current IISPH summation density
  • enforce the required correction when the combined SurfaceTensionAkinci model is selected
  • include Akinci surface tension and wall adhesion in the predicted velocity and final non-pressure momentum RHS
  • update surface normals after summation densities are current and assemble predicted velocities before predicted densities
  • add constructor, force-assembly, correction, wall-adhesion, and momentum regressions

Stack

Depends on #1266, which in turn depends on #1261. Fork branches cannot be selected as bases for pull requests into the upstream repository, so this PR targets main and temporarily shows the preceding commits.

Review-only diff: svchb/TrixiParticles.jlOpen@surface-tension/akinci-normal-force-normalization...surface-tension/akinci-iisph-support

Verification

  • complete unit test target passed
  • IISPH system tests: 155/155
  • aggregate surface-tension tests: 182/182
  • standard IISPH behavior, Akinci prediction/RHS parity, correction assembly, and wall adhesion passed
  • JuliaFormatter 2.1.1 and per-layer git diff --check passed

Stack Order

  1. Harden surface tension model configuration #1258 - surface-tension configuration hardening
  2. Clarify and visualize SPH surface normals #1279 - surface-normal scoping, explanation, and visualization
  3. Implement multicolor surface normals and threshold handling #1280 - multicolor gradients and threshold handling
  4. Add dimensionally consistent 2D Akinci kernels #1259 - dimensionally consistent 2D Akinci kernels
  5. Fix Akinci free-surface correction with continuity density #1261 - required WCSPH and EDAC free-surface correction support
  6. Use conservative Akinci pair forces across resolutions #1266 - conservative adaptive-resolution Akinci pair forces
  7. Add Akinci surface tension support to IISPH #1267 - Akinci surface tension and correction support in IISPH

Supporting views: #1262 is the aggregate implementation view, #1263 is validation, and #1253 is the historical umbrella.

All focused PRs target upstream main because GitHub cannot use contributor-fork branches as upstream PR bases. Each PR links a fork comparison that isolates its own review layer.

@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.15205% with 20 lines in your changes missing coverage. Please review.
✅ Project coverage is 79.69%. Comparing base (a720b1d) to head (f42b1fa).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/preprocessing/particle_packing/system.jl 16.66% 5 Missing ⚠️
src/schemes/fluid/fluid.jl 37.50% 5 Missing ⚠️
src/schemes/fluid/surface_normal_sph.jl 92.68% 3 Missing ⚠️
src/schemes/fluid/surface_tension.jl 94.91% 3 Missing ⚠️
src/general/semidiscretization.jl 81.81% 2 Missing ⚠️
src/io/io.jl 0.00% 2 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (a720b1d) and HEAD (f42b1fa). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (a720b1d) HEAD (f42b1fa)
total 1 0
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1267       +/-   ##
===========================================
- Coverage   90.39%   79.69%   -10.70%     
===========================================
  Files         138      139        +1     
  Lines       11322    11581      +259     
===========================================
- Hits        10234     9230     -1004     
- Misses       1088     2351     +1263     
Flag Coverage Δ
total ?
unit 79.69% <94.15%> (+2.21%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@svchb
svchb force-pushed the surface-tension/akinci-iisph-support branch from 5fc3355 to 52b4d2b Compare August 14, 2026 12:46
@svchb
svchb force-pushed the surface-tension/akinci-iisph-support branch from 52b4d2b to 45a4d4e Compare August 14, 2026 12:54
@svchb
svchb force-pushed the surface-tension/akinci-iisph-support branch from 45a4d4e to f79308a Compare August 14, 2026 16:04
@svchb
svchb force-pushed the surface-tension/akinci-iisph-support branch from f79308a to f42b1fa Compare August 14, 2026 16:12
@svchb
svchb force-pushed the surface-tension/akinci-iisph-support branch from f42b1fa to 0e83e06 Compare August 14, 2026 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant