Skip to content

Commit fe67230

Browse files
author
MFC Action
committed
Docs @ c2fc9fa
1 parent a10e89e commit fe67230

429 files changed

Lines changed: 26292 additions & 21378 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
@@ -427,7 +427,7 @@ <h1 class="doxsection"><a class="anchor" id="autotoc_md13"></a>
427427
<li><b>Add the module to <span class="tt">docs/module_categories.json</span></b> so it appears in this page</li>
428428
</ol>
429429
<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>
430-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-07-09</div> </div></div><!-- contents -->
430+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-07-10</div> </div></div><!-- contents -->
431431
</div><!-- PageDoc -->
432432
</div><!-- doc-content -->
433433
<div id="page-nav" class="page-nav-panel">

documentation/case.html

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,7 +1415,39 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md36"></a>
14151415
<ul>
14161416
<li>These parameters are for NVIDIA Grace-Hopper and similar architectures with hardware-managed unified memory. They allow MFC to run problems larger than GPU memory by paging data between host and device.</li>
14171417
</ul>
1418-
<h2 class="doxsection"><a class="anchor" id="autotoc_md37"></a>
1418+
<h3 class="doxsection"><a class="anchor" id="autotoc_md37"></a>
1419+
20. Synthetic Turbulence</h3>
1420+
<table class="markdownTable">
1421+
<tr class="markdownTableHead">
1422+
<th class="markdownTableHeadRight">Parameter </th><th class="markdownTableHeadCenter">Type </th><th class="markdownTableHeadLeft">Description </th></tr>
1423+
<tr class="markdownTableRowOdd">
1424+
<td class="markdownTableBodyRight"><span class="tt">synthetic_turbulence</span> </td><td class="markdownTableBodyCenter">Logical </td><td class="markdownTableBodyLeft">Enable synthetic turbulence forcing </td></tr>
1425+
<tr class="markdownTableRowEven">
1426+
<td class="markdownTableBodyRight"><span class="tt">synth_seed</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Random seed for wave vector generation </td></tr>
1427+
<tr class="markdownTableRowOdd">
1428+
<td class="markdownTableBodyRight"><span class="tt">synth_n_shells</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Number of energy shells </td></tr>
1429+
<tr class="markdownTableRowEven">
1430+
<td class="markdownTableBodyRight"><span class="tt">synth_U_inf</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Advection velocity for the synthetic turbulence field </td></tr>
1431+
<tr class="markdownTableRowOdd">
1432+
<td class="markdownTableBodyRight"><span class="tt">synth_n_waves_per_shell(s)</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Number of random wave vectors in shell <span class="tt">s</span> </td></tr>
1433+
<tr class="markdownTableRowEven">
1434+
<td class="markdownTableBodyRight"><span class="tt">synth_k_shell(s)</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Wave-number magnitude of shell <span class="tt">s</span> </td></tr>
1435+
<tr class="markdownTableRowOdd">
1436+
<td class="markdownTableBodyRight"><span class="tt">synth_amp_shell(s)</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Forcing amplitude of shell <span class="tt">s</span> </td></tr>
1437+
<tr class="markdownTableRowEven">
1438+
<td class="markdownTableBodyRight"><span class="tt">num_turbulent_sources</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Number of Gaussian forcing zones </td></tr>
1439+
<tr class="markdownTableRowOdd">
1440+
<td class="markdownTableBodyRight"><span class="tt">turb_pos(i,1[,2,3])</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Center of forcing zone <span class="tt">i</span> (x[,y,z]) </td></tr>
1441+
<tr class="markdownTableRowEven">
1442+
<td class="markdownTableBodyRight"><span class="tt">synth_L(i,1[,2,3])</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Full extent of forcing zone <span class="tt">i</span> (x[,y,z]) </td></tr>
1443+
</table>
1444+
<ul>
1445+
<li><span class="tt">synthetic_turbulence</span> superimposes a divergence-free, time-advected sum of Fourier modes onto the momentum and energy equations to mimic isotropic turbulence entering the domain.</li>
1446+
<li>Each of the <span class="tt">synth_n_shells</span> energy shells is defined by a wave-number magnitude <span class="tt">synth_k_shell(s)</span>, a forcing amplitude <span class="tt">synth_amp_shell(s)</span>, and <span class="tt">synth_n_waves_per_shell(s)</span> randomly oriented wave vectors drawn using <span class="tt">synth_seed</span>.</li>
1447+
<li><span class="tt">synth_U_inf</span> advects the turbulent field in the x-direction at a constant velocity.</li>
1448+
<li>Forcing is applied only within Gaussian-windowed zones. Each of the <span class="tt">num_turbulent_sources</span> zones must specify its center <span class="tt">turb_pos(i,:)</span> and full extents <span class="tt">synth_L(i,:)</span> for every active dimension (x, and y, z if <span class="tt">n &gt; 0</span>/<span class="tt">p &gt; 0</span>).</li>
1449+
</ul>
1450+
<h2 class="doxsection"><a class="anchor" id="autotoc_md38"></a>
14191451
Enumerations</h2>
14201452
<h3 class="doxsection"><a class="anchor" id="boundary-conditions"></a>
14211453
Boundary conditions</h3>
@@ -1455,7 +1487,7 @@ <h3 class="doxsection"><a class="anchor" id="boundary-conditions"></a>
14551487
</table>
14561488
<p>*: This boundary condition is only used for <span class="tt">bc_y%beg</span> when using cylindrical coordinates (<span class="tt">cyl_coord = 'T'</span> and 3D). For axisymmetric problems, use <span class="tt">bc_y%beg = -2</span> with <span class="tt">cyl_coord = 'T'</span> in 2D.</p>
14571489
<p>The boundary condition supported by the MFC are listed in table <a class="el" href="#boundary-conditions" title="Boundary conditions">Boundary Conditions</a>. Their number (<span class="tt">#</span>) corresponds to the input value in <span class="tt">input.py</span> labeled <span class="tt">bc_[x,y,z]%[beg,end]</span> (see table <a class="el" href="#sec-simulation-algorithm" title="6. Simulation Algorithm">Simulation Algorithm Parameters</a>). The entries labeled "Characteristic." are characteristic boundary conditions based on Thompson <a class="el" href="citelist.html#CITEREF_thompson87">[48]</a> and Thompson <a class="el" href="citelist.html#CITEREF_thompson90">[49]</a>.</p>
1458-
<h3 class="doxsection"><a class="anchor" id="autotoc_md38"></a>
1490+
<h3 class="doxsection"><a class="anchor" id="autotoc_md39"></a>
14591491
Generalized Characteristic Boundary conditions</h3>
14601492
<table class="markdownTable">
14611493
<tr class="markdownTableHead">
@@ -1601,7 +1633,7 @@ <h3 class="doxsection"><a class="anchor" id="acoustic-supports"></a>
16011633
<li><span class="tt">%support = 10</span> specifies an annular transducer array in 2D axisymmetric simulation. It is identical to <span class="tt">%support = 9</span> in terms of simulation parameters. It physically represents the a annulus obtained by revolving the arc in <span class="tt">%support = 9</span> around the x-axis.</li>
16021634
<li><span class="tt">%support = 11</span> specifies a circular transducer array in 3D simulation. The total aperture of the array is <span class="tt">%aperture</span>, which is similar to <span class="tt">%support = 7</span>. The parameters <span class="tt">%num_elements</span>, <span class="tt">%element_polygon_ratio</span>, and <span class="tt">%rotate_angle</span> specify the number of transducer elements, the ratio of the polygon side length to the transducer element radius, and the rotation angle of the array. The polygon side length is calculated by using the total aperture as the circumcicle diameter, and the number of sides of the polygon as <span class="tt">%num_elements</span>. The ratio is used specify the aperture size of each transducer element in the array, as a ratio of the total aperture. The rotation angle is optional and defaults to 0. Physically it represents a circular ring of transducer elements.</li>
16031635
</ul>
1604-
<h3 class="doxsection"><a class="anchor" id="autotoc_md39"></a>
1636+
<h3 class="doxsection"><a class="anchor" id="autotoc_md40"></a>
16051637
Conservative Variables Ordering</h3>
16061638
<table class="markdownTable">
16071639
<tr class="markdownTableHead">
@@ -1627,7 +1659,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md39"></a>
16271659
<td class="markdownTableBodyNone">hypoelastic variables </td><td class="markdownTableBodyNone">N/A </td></tr>
16281660
</table>
16291661
<p>The above variables correspond to optional physics.</p>
1630-
<h3 class="doxsection"><a class="anchor" id="autotoc_md40"></a>
1662+
<h3 class="doxsection"><a class="anchor" id="autotoc_md41"></a>
16311663
Primitive Variables Ordering</h3>
16321664
<table class="markdownTable">
16331665
<tr class="markdownTableHead">

documentation/case_constraints.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
<div class="headertitle"><div class="title">Case Creator Guide </div></div>
158158
</div><!--header-->
159159
<div class="contents">
160-
<div class="textblock"><h1 class="doxsection"><a class="anchor" id="autotoc_md41"></a>
160+
<div class="textblock"><h1 class="doxsection"><a class="anchor" id="autotoc_md42"></a>
161161
Case Creator Guide</h1>
162162
<blockquote class="doxtable">
163163
<p><b>Quick reference</b> for building MFC cases: working examples, compatibility rules, and configuration requirements. </p>
@@ -170,7 +170,7 @@ <h2 class="doxsection"><a class="anchor" id="case-design-playbook"></a>
170170
<blockquote class="doxtable">
171171
<p><b>Learn by example:</b> The cases below are curated from MFC's <span class="tt">examples/</span> directory and are validated, working configurations. Use them as blueprints for building your own simulations. </p>
172172
</blockquote>
173-
<h3 class="doxsection"><a class="anchor" id="autotoc_md42"></a>
173+
<h3 class="doxsection"><a class="anchor" id="autotoc_md43"></a>
174174
🟢 Beginner Examples</h3>
175175
<details >
176176
<summary >
@@ -196,7 +196,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md42"></a>
196196
</ul>
197197
<p></p>
198198
</details>
199-
<h3 class="doxsection"><a class="anchor" id="autotoc_md43"></a>
199+
<h3 class="doxsection"><a class="anchor" id="autotoc_md44"></a>
200200
🟡 Intermediate Examples</h3>
201201
<details >
202202
<summary >
@@ -329,7 +329,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md43"></a>
329329
</ul>
330330
<p></p>
331331
</details>
332-
<h3 class="doxsection"><a class="anchor" id="autotoc_md44"></a>
332+
<h3 class="doxsection"><a class="anchor" id="autotoc_md45"></a>
333333
🔴 Advanced Examples</h3>
334334
<details >
335335
<summary >
@@ -1462,7 +1462,7 @@ <h2 class="doxsection"><a class="anchor" id="physics-warnings"></a>
14621462
</table>
14631463
<hr />
14641464
<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>
1465-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-07-09</div> </div></div><!-- contents -->
1465+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-07-10</div> </div></div><!-- contents -->
14661466
</div><!-- PageDoc -->
14671467
</div><!-- doc-content -->
14681468
<div id="page-nav" class="page-nav-panel">

documentation/cli-reference.html

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -157,16 +157,16 @@
157157
<div class="headertitle"><div class="title">CLI Reference </div></div>
158158
</div><!--header-->
159159
<div class="contents">
160-
<div class="textblock"><h1 class="doxsection"><a class="anchor" id="autotoc_md46"></a>
160+
<div class="textblock"><h1 class="doxsection"><a class="anchor" id="autotoc_md47"></a>
161161
CLI Reference</h1>
162162
<blockquote class="doxtable">
163163
<p><b>Auto-generated</b> from <span class="tt">toolchain/mfc/cli/commands.py</span></p>
164164
<p>Regenerate with: <span class="tt">./mfc.sh generate</span> </p>
165165
</blockquote>
166-
<h2 class="doxsection"><a class="anchor" id="autotoc_md47"></a>
166+
<h2 class="doxsection"><a class="anchor" id="autotoc_md48"></a>
167167
Overview</h2>
168168
<p>Welcome to the MFC master script. This tool automates and manages building, testing, running, and cleaning of MFC in various configurations on all supported platforms. The README documents this tool and its various commands in more detail. To get started, run <span class="tt">./mfc.sh build -h</span>.</p>
169-
<h2 class="doxsection"><a class="anchor" id="autotoc_md48"></a>
169+
<h2 class="doxsection"><a class="anchor" id="autotoc_md49"></a>
170170
Quick Reference</h2>
171171
<table class="markdownTable">
172172
<tr class="markdownTableHead">
@@ -218,7 +218,7 @@ <h2 class="doxsection"><a class="anchor" id="autotoc_md48"></a>
218218
<tr class="markdownTableRowOdd">
219219
<td class="markdownTableBodyNone"><code>fp-stability</code> </td><td class="markdownTableBodyNone">- </td><td class="markdownTableBodyNone">Run floating-point stability tests using Verrou. </td></tr>
220220
</table>
221-
<h2 class="doxsection"><a class="anchor" id="autotoc_md49"></a>
221+
<h2 class="doxsection"><a class="anchor" id="autotoc_md50"></a>
222222
Commands</h2>
223223
<h3 class="doxsection"><a class="anchor" id="build"></a>
224224
build</h3>
@@ -503,7 +503,7 @@ <h3 class="doxsection"><a class="anchor" id="validate"></a>
503503
<div class="line"># Rewrite integer codes to named values</div>
504504
<div class="line">./mfc.sh validate case.py --migrate</div>
505505
</div><!-- fragment --><hr />
506-
<h2 class="doxsection"><a class="anchor" id="autotoc_md55"></a>
506+
<h2 class="doxsection"><a class="anchor" id="autotoc_md56"></a>
507507
Utility Commands</h2>
508508
<h3 class="doxsection"><a class="anchor" id="new"></a>
509509
new</h3>
@@ -679,7 +679,7 @@ <h3 class="doxsection"><a class="anchor" id="packer"></a>
679679
<div class="line"># Compare two packed files</div>
680680
<div class="line">./mfc.sh packer compare a.pack b.pack</div>
681681
</div><!-- fragment --><p><b>Subcommands:</b></p>
682-
<h4 class="doxsection"><a class="anchor" id="autotoc_md59"></a>
682+
<h4 class="doxsection"><a class="anchor" id="autotoc_md60"></a>
683683
packer pack</h4>
684684
<p>Pack a case into a single file.</p>
685685
<p>Arguments:</p><ul>
@@ -692,7 +692,7 @@ <h4 class="doxsection"><a class="anchor" id="autotoc_md59"></a>
692692
<tr class="markdownTableRowOdd">
693693
<td class="markdownTableBodyNone"><span class="tt">-o</span>, <span class="tt">--output</span> </td><td class="markdownTableBodyNone">Base name of output file. </td><td class="markdownTableBodyNone">- </td></tr>
694694
</table>
695-
<h4 class="doxsection"><a class="anchor" id="autotoc_md60"></a>
695+
<h4 class="doxsection"><a class="anchor" id="autotoc_md61"></a>
696696
packer compare</h4>
697697
<p>Compare two cases.</p>
698698
<p>Arguments:</p><ul>
@@ -760,7 +760,7 @@ <h3 class="doxsection"><a class="anchor" id="generate"></a>
760760
<div class="line"># Generate JSON Schema for IDE support</div>
761761
<div class="line">./mfc.sh generate --json-schema</div>
762762
</div><!-- fragment --><hr />
763-
<h2 class="doxsection"><a class="anchor" id="autotoc_md65"></a>
763+
<h2 class="doxsection"><a class="anchor" id="autotoc_md66"></a>
764764
Development Commands</h2>
765765
<h3 class="doxsection"><a class="anchor" id="lint"></a>
766766
lint</h3>
@@ -872,7 +872,7 @@ <h3 class="doxsection"><a class="anchor" id="count_diff"></a>
872872
<td class="markdownTableBodyNone"><span class="tt">--reldebug</span>, <span class="tt">--no-reldebug</span> </td><td class="markdownTableBodyNone">Build with lightweight debug flags (CI) </td><td class="markdownTableBodyNone"><span class="tt">false</span> </td></tr>
873873
</table>
874874
<hr />
875-
<h2 class="doxsection"><a class="anchor" id="autotoc_md72"></a>
875+
<h2 class="doxsection"><a class="anchor" id="autotoc_md73"></a>
876876
CI Commands</h2>
877877
<h3 class="doxsection"><a class="anchor" id="bench"></a>
878878
bench</h3>
@@ -938,7 +938,7 @@ <h3 class="doxsection"><a class="anchor" id="bench_diff"></a>
938938
<td class="markdownTableBodyNone"><span class="tt">--reldebug</span>, <span class="tt">--no-reldebug</span> </td><td class="markdownTableBodyNone">Build with lightweight debug flags (CI) </td><td class="markdownTableBodyNone"><span class="tt">false</span> </td></tr>
939939
</table>
940940
<hr />
941-
<h2 class="doxsection"><a class="anchor" id="autotoc_md75"></a>
941+
<h2 class="doxsection"><a class="anchor" id="autotoc_md76"></a>
942942
Other Commands</h2>
943943
<h3 class="doxsection"><a class="anchor" id="load"></a>
944944
load</h3>
@@ -956,10 +956,10 @@ <h3 class="doxsection"><a class="anchor" id="interactive"></a>
956956
<p>Launch an interactive menu for MFC operations.</p>
957957
<p><b>Usage:</b> <span class="tt">./mfc.sh interactive [OPTIONS]</span></p>
958958
<hr />
959-
<h2 class="doxsection"><a class="anchor" id="autotoc_md78"></a>
959+
<h2 class="doxsection"><a class="anchor" id="autotoc_md79"></a>
960960
Common Options</h2>
961961
<p>Many commands share common option sets:</p>
962-
<h3 class="doxsection"><a class="anchor" id="autotoc_md79"></a>
962+
<h3 class="doxsection"><a class="anchor" id="autotoc_md80"></a>
963963
Target Selection (<span class="tt">-t, --targets</span>)</h3>
964964
<p>Available targets:</p><ul>
965965
<li><span class="tt">pre_process</span> - Pre-processor</li>
@@ -968,7 +968,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md79"></a>
968968
<li><span class="tt">syscheck</span> - System check utility</li>
969969
<li><span class="tt">documentation</span> - Build documentation</li>
970970
</ul>
971-
<h3 class="doxsection"><a class="anchor" id="autotoc_md80"></a>
971+
<h3 class="doxsection"><a class="anchor" id="autotoc_md81"></a>
972972
Build Configuration Flags</h3>
973973
<table class="markdownTable">
974974
<tr class="markdownTableHead">
@@ -988,18 +988,18 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md80"></a>
988988
<tr class="markdownTableRowOdd">
989989
<td class="markdownTableBodyNone"><span class="tt">--mixed</span> / <span class="tt">--no-mixed</span> </td><td class="markdownTableBodyNone">Mixed precision </td></tr>
990990
</table>
991-
<h3 class="doxsection"><a class="anchor" id="autotoc_md81"></a>
991+
<h3 class="doxsection"><a class="anchor" id="autotoc_md82"></a>
992992
Verbosity (<span class="tt">-v, --verbose</span>)</h3>
993993
<p>Controls output verbosity level:</p>
994994
<ul>
995995
<li><span class="tt">-v</span> - Basic verbose output</li>
996996
<li><span class="tt">-vv</span> - Show build commands</li>
997997
<li><span class="tt">-vvv</span> - Full verbose output including CMake details</li>
998998
</ul>
999-
<h3 class="doxsection"><a class="anchor" id="autotoc_md82"></a>
999+
<h3 class="doxsection"><a class="anchor" id="autotoc_md83"></a>
10001000
Debug Logging (<span class="tt">-d, --debug-log</span>)</h3>
10011001
<p>Enables debug logging for the Python toolchain (mfc.sh internals). This is for troubleshooting the build system, not the MFC simulation code.</p>
1002-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-07-09</div> </div></div><!-- contents -->
1002+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-07-10</div> </div></div><!-- contents -->
10031003
</div><!-- PageDoc -->
10041004
</div><!-- doc-content -->
10051005
<div id="page-nav" class="page-nav-panel">

0 commit comments

Comments
 (0)