Skip to content

Add wetted-area contact angle - #1276

Draft
svchb wants to merge 117 commits into
trixi-framework:mainfrom
svchb:rebuild/wetted-area-contact-angle
Draft

Add wetted-area contact angle#1276
svchb wants to merge 117 commits into
trixi-framework:mainfrom
svchb:rebuild/wetted-area-contact-angle

Conversation

@svchb

@svchb svchb commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add exported WettedAreaContactAngle(theta) as an explicit ColorfieldSurfaceNormal contact model
  • discretize Young wall energy from the fluid colorfield and the generic boundary surface_measure quadrature introduced in Add boundary surface quadrature #1275
  • fuse the explicit fluid-wall derivative and symmetric continuity-density conjugate term into the existing WCSPH and EDAC interactions
  • accumulate equal-and-opposite fixed-wall reactions with thread-local reduction and transfer rigid-body reactions through force_per_particle for force and torque conservation
  • validate the supported 3D Wendland C2, h/dx=1.4, ContinuityDensity, Morris CSS, one-fluid, zero-boundary-color, connected-patch configuration
  • preserve the no-contact default and make 90 degrees an exact zero-energy, zero-force, zero-reaction case
  • expose contact metadata and document setup, formulation, costs, and limitations

Stack

Depends directly on #1275. #1275 depends on #1274, #1273, #1272, #1271, #1269, #1268, and #1252. C-CSF planar boundary geometry #1270 remains a sibling substack and is not required here.

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@rebuild/boundary-quadrature...rebuild/wetted-area-contact-angle

Scope

This PR contains the supported production wetted-area model only. It does not generate boundary quadrature, add C-CSF boundary-integral or contact-normal operators, add empirical contact models, or include prototype examples, calibration scripts, scorecards, or validation studies. Omitting contact_model preserves existing surface-normal and force behavior without wetted-area fluid caches.

Verification

  • surface-tension tests: 186/186, including 54 wetted-area constructor, configuration, force, reaction, covariance, prescribed-motion, and variational-derivative checks
  • dummy-particle tests: 90/90
  • wall-boundary system tests: 46/46
  • rigid-body system tests: 182/182
  • RHS conservation tests: 1197/1197
  • WCSPH and EDAC force balance, fixed-wall reaction balance, rigid force/torque transfer, multiple boundaries, Float32 conversion, exact 90-degree no-op, and finite-difference energy consistency passed
  • Aqua passed
  • documentation build and doctests passed
  • complete unit target: 23064 passed, 0 failed; only the three established PointNeighbors neighborhood-search errors remained
  • JuliaFormatter 2.1.1 and git diff --check passed

svchb added 29 commits July 30, 2026 13:47
# Conflicts:
#	docs/src/development.md
#	docs/src/systems/boundary.md
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