Conversation
…on. Ready to collide
|
Claude Code Review Head SHA: 0e3fca9 Files changed:
Findings: [Critical]
[High]
"collision_model": {
"when_set": {
"requires": ["ib", "coefficient_of_restitution", "collision_time"],
}
},
[High]
- max_index=NUM_PATCHES_MAX, # was 1000
+ max_index=NIB, # now 50000The comment directly above this line states: "max_index is None so the parameter registry stays compact (no enumeration)". The previous value of [High]
print *, "IB Restart File Exists: ", file_exist
print *, "iostat ", iosPer project convention, debug output must use [Medium]
num_ib_patches_max = get_fortran_constants().get("num_ib_patches_max", 100000)The Fortran constant is [Low] Stray Doxygen group tag on
$:GPU_DECLARE(create='[ib_bc_x, ib_bc_y, ib_bc_z]')
!> @}ib_bc_zThe closing group tag should be |
Description
Added a soft-sphere collision model for sphere/circle IB patches to collide with each other and walls. Collisions with friction were validated against references to obtain reasonable results. This code was also run on 64 MPI ranks to simulate a 10k particle case in a shock tube. Adding this feature also required the ability to restart from previous data, which was added and integrated with existing file reading. That required some refactoring of the existing IB state writing, and will require more modifications to write in parallel.
Fixes #1108
Type of change
Testing
Ran a 10k particle case as well as the new example to compare rebound angles and collision energies.
Checklist
See the developer guide for full coding standards.
AI code reviews
Reviews are not triggered automatically. To request a review, comment on the PR:
@coderabbitai review— incremental review (new changes only)@coderabbitai full review— full review from scratch/review— Qodo review/improve— Qodo code suggestions@claude full review— Claude full review (also triggers on PR open/reopen/ready)claude-full-review— Claude full review via label