Skip to content

Add interface-aware surface pressure - #1283

Draft
svchb wants to merge 4 commits into
trixi-framework:mainfrom
svchb:integration/corrections-surface-method
Draft

Add interface-aware surface pressure#1283
svchb wants to merge 4 commits into
trixi-framework:mainfrom
svchb:integration/corrections-surface-method

Conversation

@svchb

@svchb svchb commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

Stack status

This draft depends on #1282 and the correction implementation layers #1284 and #1285. The validation-only #1286 is related but does not block this PR. The current branch still contains the pre-split dependency commits because the correction and surface-method changes overlap in the fluid-system constructors. After the dependencies merge, this branch will be rebased so the review delta is only commit f16070658 (14 files).

Summary

  • Add opt-in SurfacePressureDifference() support to WCSPH and EDAC.
  • Blend conservative pressure acceleration with a first-order consistent pressure-difference operator using the target particle surface_activity.
  • Restrict blending to same-fluid-system interactions; boundary and cross-fluid interactions remain conservative.
  • Support GradientCorrection and MixedKernelGradientCorrection and reject unsupported configurations.
  • Keep transport-velocity shifting on its conservative pseudo-pressure path.
  • Add configuration, metadata, documentation, focused dynamic tests, and manufactured-solution validation.

Numerical behavior

The difference operator removes the constant-pressure free-surface defect but is intentionally nonconservative where activity is nonzero. The validation records the expected momentum residual and confirms that it decreases under refinement.

Validation

  • Complete unit suite passes.
  • Pressure acceleration: 39/39.
  • Focused dam-break correction matrix: 42/42, including both supported surface-pressure corrections with zero RHS allocations.
  • Manufactured solution: approximately first-order boundary and second-order interior convergence; constant-pressure boundary error is zero.
  • git diff --check passes.

@codecov

codecov Bot commented Aug 15, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.21739% with 54 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.33%. Comparing base (a720b1d) to head (f160706).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/schemes/fluid/surface_normal_sph.jl 89.04% 16 Missing ⚠️
src/io/io.jl 57.89% 8 Missing ⚠️
src/general/corrections.jl 89.28% 6 Missing ⚠️
src/schemes/fluid/fluid.jl 57.14% 6 Missing ⚠️
src/schemes/fluid/surface_tension.jl 0.00% 4 Missing ⚠️
src/general/custom_quantities.jl 62.50% 3 Missing ⚠️
src/schemes/structure/rigid_body/system.jl 40.00% 3 Missing ⚠️
.../schemes/boundary/wall_boundary/dummy_particles.jl 90.47% 2 Missing ⚠️
src/schemes/fluid/pressure_acceleration.jl 94.44% 2 Missing ⚠️
src/general/semidiscretization.jl 75.00% 1 Missing ⚠️
... and 3 more

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

HEAD has 1 upload less than BASE
Flag BASE (a720b1d) HEAD (f160706)
total 1 0
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1283       +/-   ##
===========================================
- Coverage   90.39%   80.33%   -10.06%     
===========================================
  Files         138      139        +1     
  Lines       11322    11729      +407     
===========================================
- Hits        10234     9423      -811     
- Misses       1088     2306     +1218     
Flag Coverage Δ
total ?
unit 80.33% <90.21%> (+2.85%) ⬆️

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.

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