Skip to content

Add C-CSF free-surface core - #1268

Draft
svchb wants to merge 110 commits into
trixi-framework:mainfrom
svchb:rebuild/ccsf-free-surface-core
Draft

Add C-CSF free-surface core#1268
svchb wants to merge 110 commits into
trixi-framework:mainfrom
svchb:rebuild/ccsf-free-surface-core

Conversation

@svchb

@svchb svchb commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add CorrectedCSFSurfaceNormal, an explicit free-surface implementation of the corrected continuous-surface-force interface geometry from Vergnaud et al. (2022)
  • compute normals from the renormalized minimum-eigenvalue gradient, curvature from the corrected divergence and thin-jet filter, and the surface delta with Shepard correction
  • correct SurfaceTensionMorris to apply its local CSF acceleration once per particle while retaining the one-phase surface delta
  • wire the local Morris acceleration into WCSPH and EDAC and validate the supported model combination
  • add focused 2D/3D regressions, metadata, documentation, migration notes, and the Vergnaud citation

Stack

Depends on #1252. 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@bug_fixed...rebuild/ccsf-free-surface-core

Scope

This implements the single-fluid free-surface C-CSF core. Boundary-integral and contact-angle terms are intentionally not included.

Verification

  • C-CSF 2D geometry tests: 11/11
  • C-CSF 3D curvature tests: 4/4
  • surface-tension tests: 37/37
  • WCSPH system tests: 224/224
  • EDAC system tests: 96/96
  • RHS tests: 1197/1197
  • Aqua passed
  • documentation build passed
  • complete unit target: 22814 passed; only the established baseline set remained (1 failed, 3 errored)
  • JuliaFormatter 2.1.1 and git diff --check passed

svchb added 21 commits July 30, 2026 13:51
# Conflicts:
#	docs/src/development.md
#	docs/src/systems/boundary.md
@svchb

svchb commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator Author

Dependency note: #1282 is now the shared surface-method foundation. Before this draft advances, it should be rebased onto #1282 and CorrectedCSFSurfaceNormal should follow the new AbstractSurfaceNormalMethod / surface_method contract while providing the generic surface_activity signal. No additional intermediary stack branch 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