Skip to content

Refactor Akinci surface tension foundations - #39

Closed
svchb wants to merge 1 commit into
bug_fixedfrom
surface_tension_fix
Closed

Refactor Akinci surface tension foundations#39
svchb wants to merge 1 commit into
bug_fixedfrom
surface_tension_fix

Conversation

@svchb

@svchb svchb commented Jul 31, 2026

Copy link
Copy Markdown
Owner

Summary

  • add dispatch-based surface-normal requirements so CohesionForceAkinci no longer allocates or computes unused normals
  • validate all surface-tension coefficients and stabilize Akinci wall adhesion near the support boundary
  • promote mixed ColorfieldSurfaceNormal threshold types and skip the Morris capillary restriction for a zero coefficient
  • document the dimensional limitations of Akinci kernels in 2D
  • add cohesion-only and wetting examples, and make maintained surface-tension examples use valid configurations

Stack

This is PR 1 of the surface-tension refactoring stack. It targets bug_fixed. Follow-up PRs will address Morris geometry/CSF, CSS interaction conservation and diagnostics, then model comparison and validation cases.

Findings addressed

  • C08/C32: remove unnecessary normal setup for cohesion-only Akinci
  • C09: avoid the near-support adhesion DomainError
  • C17: support mixed numeric normal thresholds
  • C19/C31: reject invalid surface-tension coefficients
  • C27: define and document the current 2D Akinci dimensional policy
  • C07/C28: keep maintained examples constructible while the final interaction matrix is developed

Verification

  • surface-tension tests: 82/82
  • surface-normal tests: 375/375
  • semidiscretization tests: 17/17
  • WCSPH tests: 224/224
  • Aqua passed
  • documentation build and doctests passed
  • JuliaFormatter and git diff --check passed
  • new examples, wetting presets, falling-spheres model matrices, oil-film, wall, and dam-break overrides passed
  • focused examples retained zero RHS allocations; cohesion also passed with four Julia threads

Notes

The oil-film example keeps surface tension disabled until the explicit two-phase interaction policy is implemented in PR 3. The published Akinci normalization is retained for compatibility and documented as empirical in 2D.

@svchb

svchb commented Jul 31, 2026

Copy link
Copy Markdown
Owner Author

Superseded by trixi-framework#1253, which targets upstream main.

@svchb svchb closed this Jul 31, 2026
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