Skip to content

Commit e82e381

Browse files
author
MFC Action
committed
Docs @ 4a73bf3
1 parent fd96f09 commit e82e381

829 files changed

Lines changed: 43940 additions & 39024 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: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -305,10 +305,12 @@ <h2 class="doxsection"><a class="anchor" id="autotoc_md8"></a>
305305
<tr class="markdownTableRowEven">
306306
<td class="markdownTableBodyNone"><span class="tt">m_ibm</span> </td><td class="markdownTableBodyNone">Ghost-node immersed boundary method: locates ghost/image points, computes interpolation coefficients, and corrects the flow state </td></tr>
307307
<tr class="markdownTableRowOdd">
308-
<td class="markdownTableBodyNone"><span class="tt">m_igr</span> </td><td class="markdownTableBodyNone">Iterative ghost rasterization (IGR) for sharp immersed boundary treatment </td></tr>
308+
<td class="markdownTableBodyNone"><span class="tt">m_particle_bed</span> </td><td class="markdownTableBodyNone">Generates particle beds by converting particle_bed patch specifications into individual immersed boundary patches before domain reduction </td></tr>
309309
<tr class="markdownTableRowEven">
310-
<td class="markdownTableBodyNone"><span class="tt">m_ib_patches</span> </td><td class="markdownTableBodyNone">Immersed boundary patch geometry constructors for 2D and 3D shapes </td></tr>
310+
<td class="markdownTableBodyNone"><span class="tt">m_igr</span> </td><td class="markdownTableBodyNone">Iterative ghost rasterization (IGR) for sharp immersed boundary treatment </td></tr>
311311
<tr class="markdownTableRowOdd">
312+
<td class="markdownTableBodyNone"><span class="tt">m_ib_patches</span> </td><td class="markdownTableBodyNone">Immersed boundary patch geometry constructors for 2D and 3D shapes </td></tr>
313+
<tr class="markdownTableRowEven">
312314
<td class="markdownTableBodyNone"><span class="tt">m_compute_levelset</span> </td><td class="markdownTableBodyNone">Computes signed-distance level-set fields and surface normals for immersed-boundary patch geometries </td></tr>
313315
</table>
314316
<h2 class="doxsection"><a class="anchor" id="autotoc_md9"></a>
@@ -405,7 +407,7 @@ <h1 class="doxsection"><a class="anchor" id="autotoc_md13"></a>
405407
<li><b>Add the module to <span class="tt">docs/module_categories.json</span></b> so it appears in this page</li>
406408
</ol>
407409
<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>
408-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-01</div> </div></div><!-- contents -->
410+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-02</div> </div></div><!-- contents -->
409411
</div><!-- PageDoc -->
410412
</div><!-- doc-content -->
411413
<div id="page-nav" class="page-nav-panel">

documentation/case.html

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -429,6 +429,10 @@ <h3 class="doxsection"><a class="anchor" id="sec-immersed-boundary-patches"></a>
429429
<tr class="markdownTableRowOdd">
430430
<td class="markdownTableBodyRight"><span class="tt">num_ibs</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Number of immersed boundary patches </td></tr>
431431
<tr class="markdownTableRowEven">
432+
<td class="markdownTableBodyRight"><span class="tt">num_particle_beds</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Number of particle bed specifications to generate immersed boundary patches from </td></tr>
433+
<tr class="markdownTableRowOdd">
434+
<td class="markdownTableBodyRight"><span class="tt">ib_neighborhood_radius</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Parameter that controls the neighborhood size for IB detection. </td></tr>
435+
<tr class="markdownTableRowEven">
432436
<td class="markdownTableBodyRight"><span class="tt">geometry</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Geometry configuration of the patch. </td></tr>
433437
<tr class="markdownTableRowOdd">
434438
<td class="markdownTableBodyRight"><span class="tt">x[y,z]_centroid</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Centroid of the applied geometry in the [x,y,z]-direction. </td></tr>
@@ -494,6 +498,7 @@ <h4 class="doxsection"><a class="anchor" id="autotoc_md24"></a>
494498
<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 collisiono 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>
495499
<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 gonstant used to apply collision forces.</li>
496500
<li><span class="tt">ib_coefficient_of_friction</span> is the coefficient of friction used in IB collisions.</li>
501+
<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 IB's up to 1 ranks away. This parameter is required to strong-scale a case when IB's eventually grow to be larger than one full processor domain wide.</li>
497502
</ul>
498503
<h3 class="doxsection"><a class="anchor" id="sec-fluid-materials"></a>
499504
5. Fluid Material's</h3>
@@ -786,7 +791,7 @@ <h3 class="doxsection"><a class="anchor" id="sec-formatted-output"></a>
786791
<tr class="markdownTableRowOdd">
787792
<td class="markdownTableBodyRight"><span class="tt">heat_ratio_wrt</span> </td><td class="markdownTableBodyCenter">Logical </td><td class="markdownTableBodyLeft">Add the specific heat ratio to the database </td></tr>
788793
<tr class="markdownTableRowEven">
789-
<td class="markdownTableBodyRight"><span class="tt">ib_state_wrt</span> </td><td class="markdownTableBodyCenter">Logical </td><td class="markdownTableBodyLeft">Write IB state and loads to a datafile at each time step </td></tr>
794+
<td class="markdownTableBodyRight"><span class="tt">ib_state_wrt</span> </td><td class="markdownTableBodyCenter">Logical </td><td class="markdownTableBodyLeft">Parameter to handle writing IB state on saves and outputting the state as a point mesh to SILO files. </td></tr>
790795
<tr class="markdownTableRowOdd">
791796
<td class="markdownTableBodyRight"><span class="tt">pi_inf_wrt</span> </td><td class="markdownTableBodyCenter">Logical </td><td class="markdownTableBodyLeft">Add the liquid stiffness function to the database </td></tr>
792797
<tr class="markdownTableRowEven">
@@ -879,7 +884,7 @@ <h3 class="doxsection"><a class="anchor" id="sec-formatted-output"></a>
879884
<li><span class="tt">schlieren_alpha(i)</span> specifies the intensity of the numerical Schlieren of $i$-th component.</li>
880885
<li><span class="tt">fd_order</span> specifies the order of the finite difference scheme used to compute the vorticity from the velocity field and the numerical schlieren from the density field using an integer of 1, 2, and 4. <span class="tt">fd_order = 1</span>, <span class="tt">2</span>, and <span class="tt">4</span> correspond to the first, second, and fourth-order finite difference schemes.</li>
881886
<li><span class="tt">probe_wrt</span> activates the output of state variables at coordinates specified by <span class="tt">probe(i)%[x;y,z]</span>.</li>
882-
<li><span class="tt">ib_state_wrt</span> activates the output of data specified by patch_ib(i)force(:) (and torque, vel, angular_vel, angles, [x,y,z]_centroid) into a single binary datafile for all IBs at all timesteps. During post_processing, this file is converted into separate time histories for each IB.</li>
887+
<li><span class="tt">ib_state_wrt</span> is used to trigger post-processing of the IB state to be written out as a point mesh in the SILO files. When no IBs are moving, it also triggers force and torque calculation so that those values may be written to the output state files.</li>
883888
<li><span class="tt">output_partial_domain</span> activates the output of part of the domain specified by <span class="tt">[x,y,z]_output%beg</span> and <span class="tt">[x,y,z]_output%end</span>. This is useful for large domains where only a portion of the domain is of interest. It is not supported when <span class="tt">precision = 1</span> and <span class="tt">format = 1</span>. It also cannot be enabled with <span class="tt">flux_wrt</span>, <span class="tt">heat_ratio_wrt</span>, <span class="tt">pres_inf_wrt</span>, <span class="tt">c_wrt</span>, <span class="tt">omega_wrt</span>, <span class="tt">ib</span>, <span class="tt">schlieren_wrt</span>, <span class="tt">qm_wrt</span>, or 'liutex_wrt'.</li>
884889
</ul>
885890
<h3 class="doxsection"><a class="anchor" id="sec-acoustic-source"></a>

documentation/case_constraints.html

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -815,8 +815,17 @@ <h2 class="doxsection"><a class="anchor" id="quick-parameter-reference"></a>
815815
<li>output_partial_domain is incompatible with certain output flags</li>
816816
</ul>
817817
<p><b>Valid values</b> (errors):</p><ul>
818-
<li>num_ibs must be &gt;= 1 when ib is enabled</li>
819-
<li>num_ibs must be &lt;= num_ib_patches_max (num_ib_patches_max in m_constants.fpp)</li>
818+
<li>num_ibs must be &gt;= 1 when ib is enabled (or specify at least one particle_bed with num_particles &gt; 0)</li>
819+
<li>num_ibs must be &lt;= num_ib_patches_max (num_ib_patches_max_namelist in m_constants.fpp)</li>
820+
</ul>
821+
<p></p>
822+
</details>
823+
<details >
824+
<summary >
825+
<b>ib_neighborhood_radius</b> (<span class="tt">ib_neighborhood_radius</span>)</summary>
826+
<p></p>
827+
<p><b>Schema constraints:</b></p><ul>
828+
<li>Min: 1</li>
820829
</ul>
821830
<p></p>
822831
</details>
@@ -997,8 +1006,8 @@ <h2 class="doxsection"><a class="anchor" id="quick-parameter-reference"></a>
9971006
<li>Min: 0</li>
9981007
</ul>
9991008
<p><b>Valid values</b> (errors):</p><ul>
1000-
<li>num_ibs must be &gt;= 1 when ib is enabled</li>
1001-
<li>num_ibs must be &lt;= num_ib_patches_max (num_ib_patches_max in m_constants.fpp)</li>
1009+
<li>num_ibs must be &gt;= 1 when ib is enabled (or specify at least one particle_bed with num_particles &gt; 0)</li>
1010+
<li>num_ibs must be &lt;= num_ib_patches_max (num_ib_patches_max_namelist in m_constants.fpp)</li>
10021011
</ul>
10031012
<p></p>
10041013
</details>
@@ -1453,7 +1462,7 @@ <h2 class="doxsection"><a class="anchor" id="physics-warnings"></a>
14531462
</table>
14541463
<hr />
14551464
<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>
1456-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-01</div> </div></div><!-- contents -->
1465+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-02</div> </div></div><!-- contents -->
14571466
</div><!-- PageDoc -->
14581467
</div><!-- doc-content -->
14591468
<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
@@ -994,7 +994,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md80"></a>
994994
<h3 class="doxsection"><a class="anchor" id="autotoc_md81"></a>
995995
Debug Logging (<span class="tt">-d, --debug-log</span>)</h3>
996996
<p>Enables debug logging for the Python toolchain (mfc.sh internals). This is for troubleshooting the build system, not the MFC simulation code.</p>
997-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-01</div> </div></div><!-- contents -->
997+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-02</div> </div></div><!-- contents -->
998998
</div><!-- PageDoc -->
999999
</div><!-- doc-content -->
10001000
<div id="page-nav" class="page-nav-panel">

0 commit comments

Comments
 (0)