You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 3a9bb76
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/documentation/case.md
+8-1Lines changed: 8 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -423,18 +423,25 @@ A particle cloud is a compact specification of a bed of identical circular (2D)
423
423
| Parameter | Type | Description |
424
424
| ---: | :----: | :--- |
425
425
|`x[y,z]_centroid`| Real | Centre of the cloud region in the [x,y,z]-direction. |
426
-
|`length_x[y,z]`| Real | Extent of the cloud region in the [x,y,z]-direction. |
426
+
|`length_x[y,z]`| Real | Extent of the cloud region in the [x,y,z]-direction for `cloud_geometry = 1`; ignored by `cloud_geometry = 2`. |
427
427
|`num_particles`| Integer | Number of particles to place in the region. |
428
428
|`radius`| Real | Radius of every particle in the cloud. |
429
429
|`mass`| Real | Mass of every particle in the cloud. |
430
430
|`min_spacing`| Real | Minimum surface-to-surface gap between particles (centres are `2*radius + min_spacing` apart). |
431
+
|`cloud_geometry`| Integer | Shape of the cloud region. |
432
+
|`shell_inner_radius`| Real | Inner radius for hemisphere-shell clouds (`cloud_geometry = 2`). |
433
+
|`shell_outer_radius`| Real | Outer radius for hemisphere-shell clouds (`cloud_geometry = 2`). |
431
434
|`moving_ibm`| Integer | Motion flag applied to every particle (see `patch_ib(j)%%moving_ibm`). |
432
435
|`seed`| Integer | Random seed for reproducible placement (used by `packing_method = 1`). |
433
436
|`packing_method`| Integer | Algorithm used to place the particles. |
434
437
438
+
-`cloud_geometry` selects the cloud region:
439
+
-`1` (box) uses `x[y,z]_centroid` and `length_x[y,z]` to define the region.
440
+
-`2` uses `x[y,z]_centroid`, `shell_inner_radius`, and `shell_outer_radius` to define a half-annulus in 2D and a hemisphere shell in 3D. Particle centres are sampled between `shell_inner_radius + radius` and `shell_outer_radius - radius`, and the flat plane is kept clear by one particle radius. The flat face is fixed at `y_centroid` in 2D and `z_centroid` in 3D; the filled region opens toward positive `y` in 2D and positive `z` in 3D. The full shell extent (`x[y,z]_centroid +/- shell_outer_radius` on the open side, and one particle radius of clearance on the flat-face side) must lie inside the computational domain; a hemisphere shell also requires at least two dimensions (`n > 0`).
435
441
-`packing_method` selects how the `num_particles` are positioned within the cloud region:
436
442
-`1` (rejection sampling) draws random positions and rejects any that violate `min_spacing`, producing a disordered bed. `seed` makes the placement reproducible.
437
443
-`2` (lattice) places the particles on the optimally dense lattice for the geometry — a triangular lattice in 2D and a face-centered cubic lattice in 3D. The lattice spacing is derived from the particle density (`num_particles` over the region area/volume); if that spacing is below the required `2*radius + min_spacing`, the region is too dense and the run aborts.
444
+
- Hemisphere-shell clouds currently support rejection sampling only; `cloud_geometry = 2` with `packing_method = 2` is rejected during input validation.
0 commit comments