Skip to content

Clarify and visualize SPH surface normals - #1279

Draft
svchb wants to merge 6 commits into
trixi-framework:mainfrom
svchb:surface-normals/interface-documentation
Draft

Clarify and visualize SPH surface normals#1279
svchb wants to merge 6 commits into
trixi-framework:mainfrom
svchb:surface-normals/interface-documentation

Conversation

@svchb

@svchb svchb commented Aug 14, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • scope surface normals as general interface-geometric data rather than a surface-tension-only concept
  • allow surface-normal methods to be configured independently for analysis and VTK output
  • distinguish raw color gradients from unit normals used by Morris formulations
  • explain color-field transitions, orientation, normalization, and numerical filtering
  • add generated CairoMakie figures for a diffuse color-field profile and two-dimensional interface normals
  • scope color sanity checks to ColorfieldSurfaceNormal

Stack

Depends on #1258. Fork branches cannot be selected as bases for pull requests into the upstream repository, so this PR targets main and temporarily shows the preceding commit.

Review-only diff: svchb/TrixiParticles.jlOpen@surface-tension/akinci-core-hardening...surface-normals/interface-documentation

Verification

  • review layer: 7 files, 138 additions, 31 deletions
  • both CairoMakie figures rendered successfully with CairoMakie 0.15
  • targeted color-validation checks passed
  • JuliaFormatter 2.1.1 passed

Stack Order

Focused merge 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 - 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:

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.73684% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 90.50%. Comparing base (a720b1d) to head (02d1689).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/schemes/fluid/surface_tension.jl 89.65% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1279      +/-   ##
==========================================
+ Coverage   90.39%   90.50%   +0.10%     
==========================================
  Files         138      139       +1     
  Lines       11322    11358      +36     
==========================================
+ Hits        10234    10279      +45     
+ Misses       1088     1079       -9     
Flag Coverage Δ
total 90.50% <94.73%> (+0.10%) ⬆️
unit 77.64% <89.47%> (+0.15%) ⬆️

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-normals/interface-documentation branch from 16c5315 to 335d678 Compare August 14, 2026 12:44
@svchb
svchb force-pushed the surface-normals/interface-documentation branch from 335d678 to e347b4c Compare August 14, 2026 12:52
@svchb
svchb marked this pull request as draft August 14, 2026 12:56
@svchb
svchb force-pushed the surface-normals/interface-documentation branch from e347b4c to 02d1689 Compare August 14, 2026 16:04
@svchb

svchb commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator Author

Coordination note: #1282 now contains the generalized surface-method API, standalone configuration, common documentation, and output plumbing that overlap this draft. After #1282 settles, this PR should be reduced to any still-unique explanation/figures, or closed if those pieces are fully subsumed. No replacement stack layer is planned.

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