Skip to content

Commit b2e06e6

Browse files
author
MFC Action
committed
Docs @ d74cc37
1 parent 015a7fc commit b2e06e6

277 files changed

Lines changed: 18583 additions & 15449 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

documentation/architecture.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ <h1 class="doxsection"><a class="anchor" id="autotoc_md13"></a>
429429
<li><b>Add the module to <span class="tt">docs/module_categories.json</span></b> so it appears in this page</li>
430430
</ol>
431431
<p>Follow the pattern of existing modules like <span class="tt">m_body_forces</span> (simple) or <span class="tt">m_viscous</span> (more involved) as a template.</p>
432-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-08-24</div> </div></div><!-- contents -->
432+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-08-25</div> </div></div><!-- contents -->
433433
</div><!-- PageDoc -->
434434
</div><!-- doc-content -->
435435
<div id="page-nav" class="page-nav-panel">

documentation/case.html

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,7 @@ <h4 class="doxsection"><a class="anchor" id="autotoc_md24"></a>
510510
<li><span class="tt">collision_model</span> is an integer to select the collision model being used for IB collisions. Using 0 disables collisions and collision checking. 1 enables the soft-sphere collision model, where all IBs must be circles or sphere and those IBs can collide with each other as well as walls.</li>
511511
<li><span class="tt">collision_time</span> is approximately the amount of simulation time used to resolve collisions. This is handled by modifying the spring constant used to apply collision forces.</li>
512512
<li><span class="tt">ib_coefficient_of_friction</span> is the coefficient of friction used in IB collisions.</li>
513-
<li><span class="tt">ib_neighborhood_radius</span> controls the size of the neighborhood size. This value defaults to 1, which indicates that any given rank is aware of IBs up to 1 ranks away. This parameter is required to strong-scale a case when IBs eventually grow to be larger than one full processor domain wide.</li>
513+
<li><span class="tt">ib_neighborhood_radius</span> controls the size of the neighborhood size. A value of $r$ indicates that any given rank is aware of IBs up to $r$ ranks away. This value defaults to 0, which leaves the radius unset so that it is selected automatically. This parameter is required to strong-scale a case when IBs eventually grow to be larger than one full processor domain wide.</li>
514514
</ul>
515515
<h4 class="doxsection"><a class="anchor" id="autotoc_md25"></a>
516516
Particle Clouds</h4>
@@ -521,7 +521,7 @@ <h4 class="doxsection"><a class="anchor" id="autotoc_md25"></a>
521521
<tr class="markdownTableRowOdd">
522522
<td class="markdownTableBodyRight"><span class="tt">x[y,z]_centroid</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Centre of the cloud region in the [x,y,z]-direction. </td></tr>
523523
<tr class="markdownTableRowEven">
524-
<td class="markdownTableBodyRight"><span class="tt">length_x[y,z]</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Extent of the cloud region in the [x,y,z]-direction. </td></tr>
524+
<td class="markdownTableBodyRight"><span class="tt">length_x[y,z]</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Extent of the cloud region in the [x,y,z]-direction for <span class="tt">cloud_geometry = 1</span>; ignored by <span class="tt">cloud_geometry = 2</span>. </td></tr>
525525
<tr class="markdownTableRowOdd">
526526
<td class="markdownTableBodyRight"><span class="tt">num_particles</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Number of particles to place in the region. </td></tr>
527527
<tr class="markdownTableRowEven">
@@ -531,16 +531,28 @@ <h4 class="doxsection"><a class="anchor" id="autotoc_md25"></a>
531531
<tr class="markdownTableRowEven">
532532
<td class="markdownTableBodyRight"><span class="tt">min_spacing</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Minimum surface-to-surface gap between particles (centres are <span class="tt">2*radius + min_spacing</span> apart). </td></tr>
533533
<tr class="markdownTableRowOdd">
534-
<td class="markdownTableBodyRight"><span class="tt">moving_ibm</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Motion flag applied to every particle (see <span class="tt">patch_ib(j)%moving_ibm</span>). </td></tr>
534+
<td class="markdownTableBodyRight"><span class="tt">cloud_geometry</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Shape of the cloud region. </td></tr>
535535
<tr class="markdownTableRowEven">
536-
<td class="markdownTableBodyRight"><span class="tt">seed</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Random seed for reproducible placement (used by <span class="tt">packing_method = 1</span>). </td></tr>
536+
<td class="markdownTableBodyRight"><span class="tt">shell_inner_radius</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Inner radius for hemisphere-shell clouds (<span class="tt">cloud_geometry = 2</span>). </td></tr>
537+
<tr class="markdownTableRowOdd">
538+
<td class="markdownTableBodyRight"><span class="tt">shell_outer_radius</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Outer radius for hemisphere-shell clouds (<span class="tt">cloud_geometry = 2</span>). </td></tr>
539+
<tr class="markdownTableRowEven">
540+
<td class="markdownTableBodyRight"><span class="tt">moving_ibm</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Motion flag applied to every particle (see <span class="tt">patch_ib(j)%moving_ibm</span>). </td></tr>
537541
<tr class="markdownTableRowOdd">
542+
<td class="markdownTableBodyRight"><span class="tt">seed</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Random seed for reproducible placement (used by <span class="tt">packing_method = 1</span>). </td></tr>
543+
<tr class="markdownTableRowEven">
538544
<td class="markdownTableBodyRight"><span class="tt">packing_method</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Algorithm used to place the particles. </td></tr>
539545
</table>
540546
<ul>
547+
<li><span class="tt">cloud_geometry</span> selects the cloud region:<ul>
548+
<li><span class="tt">1</span> (box) uses <span class="tt">x[y,z]_centroid</span> and <span class="tt">length_x[y,z]</span> to define the region.</li>
549+
<li><span class="tt">2</span> uses <span class="tt">x[y,z]_centroid</span>, <span class="tt">shell_inner_radius</span>, and <span class="tt">shell_outer_radius</span> to define a half-annulus in 2D and a hemisphere shell in 3D. Particle centres are sampled between <span class="tt">shell_inner_radius + radius</span> and <span class="tt">shell_outer_radius - radius</span>, and the flat plane is kept clear by one particle radius. The flat face is fixed at <span class="tt">y_centroid</span> in 2D and <span class="tt">z_centroid</span> in 3D; the filled region opens toward positive <span class="tt">y</span> in 2D and positive <span class="tt">z</span> in 3D. The full shell extent (<span class="tt">x[y,z]_centroid +/- shell_outer_radius</span> 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 (<span class="tt">n &gt; 0</span>).</li>
550+
</ul>
551+
</li>
541552
<li><span class="tt">packing_method</span> selects how the <span class="tt">num_particles</span> are positioned within the cloud region:<ul>
542553
<li><span class="tt">1</span> (rejection sampling) draws random positions and rejects any that violate <span class="tt">min_spacing</span>, producing a disordered bed. <span class="tt">seed</span> makes the placement reproducible.</li>
543554
<li><span class="tt">2</span> (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 (<span class="tt">num_particles</span> over the region area/volume); if that spacing is below the required <span class="tt">2*radius + min_spacing</span>, the region is too dense and the run aborts.</li>
555+
<li>Hemisphere-shell clouds currently support rejection sampling only; <span class="tt">cloud_geometry = 2</span> with <span class="tt">packing_method = 2</span> is rejected during input validation.</li>
544556
</ul>
545557
</li>
546558
</ul>

documentation/case_constraints.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -855,7 +855,7 @@ <h2 class="doxsection"><a class="anchor" id="quick-parameter-reference"></a>
855855
<b>ib_neighborhood_radius</b> (<span class="tt">ib_neighborhood_radius</span>)</summary>
856856
<p></p>
857857
<p><b>Schema constraints:</b></p><ul>
858-
<li>Min: 1</li>
858+
<li>Min: 0</li>
859859
</ul>
860860
<p></p>
861861
</details>
@@ -1072,9 +1072,9 @@ <h2 class="doxsection"><a class="anchor" id="quick-parameter-reference"></a>
10721072
<li>Min: 0</li>
10731073
</ul>
10741074
<p><b>Requirements</b> (errors):</p><ul>
1075+
<li>particle_cloud(i)periodic requires positive box lengths in each active dimension</li>
10751076
<li>z_domainbeg must be set when p &gt; 0</li>
10761077
<li>z_domainend must be set when p &gt; 0</li>
1077-
<li>down sample requires 3D (p &gt; 0)</li>
10781078
</ul>
10791079
<p><b>Incompatibilities</b> (errors):</p><ul>
10801080
<li>6-equation model (model_eqns = 3) does not support cylindrical coordinates (cyl_coord = T and p != 0)</li>
@@ -1500,7 +1500,7 @@ <h2 class="doxsection"><a class="anchor" id="physics-warnings"></a>
15001500
</table>
15011501
<hr />
15021502
<p>💡 <b>Tip:</b> If you encounter a validation error, check the relevant section above or review <a href="https://github.com/MFlowCode/MFC/blob/master/toolchain/mfc/case_validator.py"><span class="tt">case_validator.py</span></a> for complete validation logic.</p>
1503-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-08-24</div> </div></div><!-- contents -->
1503+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-08-25</div> </div></div><!-- contents -->
15041504
</div><!-- PageDoc -->
15051505
</div><!-- doc-content -->
15061506
<div id="page-nav" class="page-nav-panel">

documentation/cli-reference.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -991,7 +991,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md80"></a>
991991
<h3 class="doxsection"><a class="anchor" id="autotoc_md81"></a>
992992
Debug Logging (<span class="tt">-d, --debug-log</span>)</h3>
993993
<p>Enables debug logging for the Python toolchain (mfc.sh internals). This is for troubleshooting the build system, not the MFC simulation code.</p>
994-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-08-24</div> </div></div><!-- contents -->
994+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-08-25</div> </div></div><!-- contents -->
995995
</div><!-- PageDoc -->
996996
</div><!-- doc-content -->
997997
<div id="page-nav" class="page-nav-panel">

documentation/examples.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md311"></a>
630630
<ul>
631631
<li>Papanastasiou, T. C. (1987). Flows of materials with yield. <em>J. Rheol.</em> 31, 385.</li>
632632
</ul>
633-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-08-24</div> </div></div><!-- contents -->
633+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-08-25</div> </div></div><!-- contents -->
634634
</div><!-- PageDoc -->
635635
</div><!-- doc-content -->
636636
<div id="page-nav" class="page-nav-panel">

0 commit comments

Comments
 (0)