Skip to content

Fix Akinci free-surface correction with continuity density - #1261

Draft
svchb wants to merge 13 commits into
trixi-framework:mainfrom
svchb:fix/akinci-free-surface-correction
Draft

Fix Akinci free-surface correction with continuity density#1261
svchb wants to merge 13 commits into
trixi-framework:mainfrom
svchb:fix/akinci-free-surface-correction

Conversation

@svchb

@svchb svchb commented Aug 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • reconstruct the auxiliary kernel-summation density required by AkinciFreeSurfaceCorrection when WCSPH or EDAC uses ContinuityDensity
  • use the reconstructed density for free-surface classification, corrected surface normals, and symmetric correction factors without replacing the integrated pressure density
  • include dummy boundary masses so wall-adjacent particles are not misclassified as a free surface
  • refresh the Akinci-specific EDAC correction data after density updates without importing unrelated cache changes
  • require AkinciFreeSurfaceCorrection whenever the combined SurfaceTensionAkinci model is selected, while keeping cohesion-only use independent of normals and correction
  • migrate affected examples and add constructor, reconstruction, wall, WCSPH, and EDAC regressions

Stack

Depends on #1259. 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-2d-kernels...fix/akinci-free-surface-correction

Verification

  • complete unit test target passed
  • aggregate surface-tension tests: 175/175
  • continuity-density reconstruction, wall classification, constructor rejection, and WCSPH/EDAC force assembly passed
  • JuliaFormatter 2.1.1 and 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 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.75655% with 14 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.53%. Comparing base (a720b1d) to head (8b326b4).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/schemes/fluid/surface_normal_sph.jl 90.24% 4 Missing ⚠️
src/preprocessing/particle_packing/system.jl 50.00% 3 Missing ⚠️
src/schemes/fluid/surface_tension.jl 93.47% 3 Missing ⚠️
src/general/semidiscretization.jl 81.81% 2 Missing ⚠️
src/schemes/fluid/fluid.jl 75.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1261      +/-   ##
==========================================
+ Coverage   90.39%   90.53%   +0.14%     
==========================================
  Files         138      139       +1     
  Lines       11322    11546     +224     
==========================================
+ Hits        10234    10453     +219     
- Misses       1088     1093       +5     
Flag Coverage Δ
total 90.54% <94.75%> (+0.14%) ⬆️
unit 78.07% <92.88%> (+0.59%) ⬆️

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 fix/akinci-free-surface-correction branch from c18d51a to 294fe17 Compare August 14, 2026 12:45
@svchb
svchb force-pushed the fix/akinci-free-surface-correction branch from 294fe17 to efb0578 Compare August 14, 2026 12:53
@svchb
svchb force-pushed the fix/akinci-free-surface-correction branch from efb0578 to aca3d92 Compare August 14, 2026 16:04
@svchb
svchb force-pushed the fix/akinci-free-surface-correction branch from aca3d92 to 17b313f Compare August 14, 2026 16:12
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