Skip to content

Add hemisphere shell particle cloud packing#1667

Draft
BCKim55 wants to merge 1 commit into
MFlowCode:masterfrom
BCKim55:feature/particle-cloud-hemi-shell
Draft

Add hemisphere shell particle cloud packing#1667
BCKim55 wants to merge 1 commit into
MFlowCode:masterfrom
BCKim55:feature/particle-cloud-hemi-shell

Conversation

@BCKim55

@BCKim55 BCKim55 commented Jul 22, 2026

Copy link
Copy Markdown

Description

Adds a hemisphere-shell particle cloud packing option for immersed-boundary particle clouds.

This introduces particle_cloud(i)%packing_method = 3, which randomly places spherical/circular IBM particles inside a hemisphere-shell region while enforcing:

  • inner and outer shell-radius clearance,
  • hemisphere plane clearance,
  • bounding-box clearance,
  • particle-particle non-overlap using the existing spatial hash approach.

This also adds shell_inner_radius and shell_outer_radius particle cloud parameters and a small MIBM example case.

Type of change

  • New feature

Testing

  • ./mfc.sh format
  • ./mfc.sh validate examples/*/case.py
  • ./mfc.sh validate examples/3D_mibm_particle_cloud_hemi_shell/case.py
  • ./mfc.sh run examples/3D_mibm_particle_cloud_hemi_shell/case.py --clean --no-debug

Additional local checks:

  • Verified generated ib_state_0.dat particle positions.
  • Confirmed no shell-boundary violations.
  • Confirmed no particle overlap violations.
  • Confirmed VF 0.2 succeeds with min_spacing=0.02.
  • Confirmed VF 0.3 succeeds when min_spacing=0.0.

Checklist

  • I added or updated tests for new behavior
  • I updated documentation if user-facing behavior changed
GPU changes (expand if you modified src/simulation/)
  • GPU results match CPU results
  • Tested on NVIDIA GPU or AMD GPU

@BCKim55
BCKim55 requested a review from sbryngelson as a code owner July 22, 2026 06:52
@sbryngelson
sbryngelson marked this pull request as draft July 22, 2026 13:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant