Skip to content

Commit 595f2fc

Browse files
author
MFC Action
committed
Docs @ a8a1cc5
1 parent 88bda68 commit 595f2fc

721 files changed

Lines changed: 47560 additions & 44361 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
@@ -403,7 +403,7 @@ <h1 class="doxsection"><a class="anchor" id="autotoc_md13"></a>
403403
<li><b>Add the module to <span class="tt">docs/module_categories.json</span></b> so it appears in this page</li>
404404
</ol>
405405
<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>
406-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-04-22</div> </div></div><!-- contents -->
406+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-04-23</div> </div></div><!-- contents -->
407407
</div><!-- PageDoc -->
408408
</div><!-- doc-content -->
409409
<div id="page-nav" class="page-nav-panel">

documentation/case.html

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1306,7 +1306,22 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md33"></a>
13061306
<li><span class="tt">cantera_file</span> specifies the chemical mechanism file. If the file is part of the standard Cantera library, only the filename is required. Otherwise, the file must be located in the same directory as your <span class="tt">case.py</span> file</li>
13071307
</ul>
13081308
<h3 class="doxsection"><a class="anchor" id="autotoc_md34"></a>
1309-
18. GPU Performance (NVIDIA UVM)</h3>
1309+
18. Chemistry-Specific Boundary Conditions</h3>
1310+
<table class="markdownTable">
1311+
<tr class="markdownTableHead">
1312+
<th class="markdownTableHeadRight">Parameter </th><th class="markdownTableHeadCenter">Type </th><th class="markdownTableHeadLeft">Description </th></tr>
1313+
<tr class="markdownTableRowOdd">
1314+
<td class="markdownTableBodyRight"><span class="tt">bc_[x,y,z]%isothermal_in</span> </td><td class="markdownTableBodyCenter">Logical </td><td class="markdownTableBodyLeft">Enable isothermal wall at the domain entrance (minimum coordinate). </td></tr>
1315+
<tr class="markdownTableRowEven">
1316+
<td class="markdownTableBodyRight"><span class="tt">bc_[x,y,z]%isothermal_out</span> </td><td class="markdownTableBodyCenter">Logical </td><td class="markdownTableBodyLeft">Enable isothermal wall at the domain exit (maximum coordinate). </td></tr>
1317+
<tr class="markdownTableRowOdd">
1318+
<td class="markdownTableBodyRight"><span class="tt">bc_[x,y,z]%Twall_in</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Temperature [K] of the entrance isothermal wall. </td></tr>
1319+
<tr class="markdownTableRowEven">
1320+
<td class="markdownTableBodyRight"><span class="tt">bc_[x,y,z]%Twall_out</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Temperature [K] of the exit isothermal wall. </td></tr>
1321+
</table>
1322+
<p>This boundary condition can be used for fixed-temperature (isothermal) walls at the domain extremities. It is exclusively available for reacting flows and requires chemistry to be enabled. It properly evaluates heat and species fluxes at the interface when <span class="tt">chemistry = 'T'</span>, <span class="tt">chem_params%diffusion = 'T'</span>, and the corresponding domain boundary is set to a slip wall (<span class="tt">bc_[x,y,z]%%[beg,end]</span> = -15) or a no-slip wall (<span class="tt">bc_[x,y,z]%%[beg,end]</span> = -16).</p>
1323+
<h3 class="doxsection"><a class="anchor" id="autotoc_md35"></a>
1324+
19. GPU Performance (NVIDIA UVM)</h3>
13101325
<table class="markdownTable">
13111326
<tr class="markdownTableHead">
13121327
<th class="markdownTableHeadRight">Parameter </th><th class="markdownTableHeadCenter">Type </th><th class="markdownTableHeadLeft">Description </th></tr>
@@ -1320,7 +1335,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md34"></a>
13201335
<ul>
13211336
<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>
13221337
</ul>
1323-
<h2 class="doxsection"><a class="anchor" id="autotoc_md35"></a>
1338+
<h2 class="doxsection"><a class="anchor" id="autotoc_md36"></a>
13241339
Enumerations</h2>
13251340
<h3 class="doxsection"><a class="anchor" id="boundary-conditions"></a>
13261341
Boundary conditions</h3>
@@ -1360,7 +1375,7 @@ <h3 class="doxsection"><a class="anchor" id="boundary-conditions"></a>
13601375
</table>
13611376
<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>
13621377
<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">[47]</a> and Thompson <a class="el" href="citelist.html#CITEREF_thompson90">[48]</a>.</p>
1363-
<h3 class="doxsection"><a class="anchor" id="autotoc_md36"></a>
1378+
<h3 class="doxsection"><a class="anchor" id="autotoc_md37"></a>
13641379
Generalized Characteristic Boundary conditions</h3>
13651380
<table class="markdownTable">
13661381
<tr class="markdownTableHead">
@@ -1509,7 +1524,7 @@ <h3 class="doxsection"><a class="anchor" id="acoustic-supports"></a>
15091524
<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>
15101525
<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>
15111526
</ul>
1512-
<h3 class="doxsection"><a class="anchor" id="autotoc_md37"></a>
1527+
<h3 class="doxsection"><a class="anchor" id="autotoc_md38"></a>
15131528
Conservative Variables Ordering</h3>
15141529
<table class="markdownTable">
15151530
<tr class="markdownTableHead">
@@ -1535,7 +1550,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md37"></a>
15351550
<td class="markdownTableBodyNone">hypoelastic variables </td><td class="markdownTableBodyNone">N/A </td></tr>
15361551
</table>
15371552
<p>The above variables correspond to optional physics.</p>
1538-
<h3 class="doxsection"><a class="anchor" id="autotoc_md38"></a>
1553+
<h3 class="doxsection"><a class="anchor" id="autotoc_md39"></a>
15391554
Primitive Variables Ordering</h3>
15401555
<table class="markdownTable">
15411556
<tr class="markdownTableHead">

documentation/case_constraints.html

Lines changed: 10 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_md39"></a>
160+
<div class="textblock"><h1 class="doxsection"><a class="anchor" id="autotoc_md40"></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_md40"></a>
173+
<h3 class="doxsection"><a class="anchor" id="autotoc_md41"></a>
174174
🟢 Beginner Examples</h3>
175175
<details >
176176
<summary >
@@ -196,7 +196,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md40"></a>
196196
</ul>
197197
<p></p>
198198
</details>
199-
<h3 class="doxsection"><a class="anchor" id="autotoc_md41"></a>
199+
<h3 class="doxsection"><a class="anchor" id="autotoc_md42"></a>
200200
🟡 Intermediate Examples</h3>
201201
<details >
202202
<summary >
@@ -329,7 +329,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md41"></a>
329329
</ul>
330330
<p></p>
331331
</details>
332-
<h3 class="doxsection"><a class="anchor" id="autotoc_md42"></a>
332+
<h3 class="doxsection"><a class="anchor" id="autotoc_md43"></a>
333333
🔴 Advanced Examples</h3>
334334
<details >
335335
<summary >
@@ -757,6 +757,11 @@ <h2 class="doxsection"><a class="anchor" id="quick-parameter-reference"></a>
757757
<p><b>Dependencies:</b></p><ul>
758758
<li>When enabled, requires: <span class="tt">cantera_file</span></li>
759759
</ul>
760+
<p><b>Requirements</b> (errors):</p><ul>
761+
<li>Isothermal In (bc_xisothermal_in) requires both chemistry='T' and chem_paramsdiffusion='T' to calculate heat conduction.</li>
762+
<li>Isothermal Out (bc_xisothermal_out) requires both chemistry='T' and chem_paramsdiffusion='T' to calculate heat conduction.</li>
763+
<li>Isothermal In (bc_yisothermal_in) requires both chemistry='T' and chem_paramsdiffusion='T' to calculate heat conduction.</li>
764+
</ul>
760765
<p></p>
761766
</details>
762767
<details >
@@ -1429,7 +1434,7 @@ <h2 class="doxsection"><a class="anchor" id="physics-warnings"></a>
14291434
</table>
14301435
<hr />
14311436
<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>
1432-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-04-22</div> </div></div><!-- contents -->
1437+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-04-23</div> </div></div><!-- contents -->
14331438
</div><!-- PageDoc -->
14341439
</div><!-- doc-content -->
14351440
<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_md44"></a>
160+
<div class="textblock"><h1 class="doxsection"><a class="anchor" id="autotoc_md45"></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_md45"></a>
166+
<h2 class="doxsection"><a class="anchor" id="autotoc_md46"></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_md46"></a>
169+
<h2 class="doxsection"><a class="anchor" id="autotoc_md47"></a>
170170
Quick Reference</h2>
171171
<table class="markdownTable">
172172
<tr class="markdownTableHead">
@@ -216,7 +216,7 @@ <h2 class="doxsection"><a class="anchor" id="autotoc_md46"></a>
216216
<tr class="markdownTableRowEven">
217217
<td class="markdownTableBodyNone"><a class="el" href="#count_diff" title="count_diff"><code>count_diff</code></a> </td><td class="markdownTableBodyNone">- </td><td class="markdownTableBodyNone">Compare LOC between branches. </td></tr>
218218
</table>
219-
<h2 class="doxsection"><a class="anchor" id="autotoc_md47"></a>
219+
<h2 class="doxsection"><a class="anchor" id="autotoc_md48"></a>
220220
Commands</h2>
221221
<h3 class="doxsection"><a class="anchor" id="build"></a>
222222
build</h3>
@@ -488,7 +488,7 @@ <h3 class="doxsection"><a class="anchor" id="validate"></a>
488488
<div class="line"># Validate with toolchain debug output</div>
489489
<div class="line">./mfc.sh validate case.py -d</div>
490490
</div><!-- fragment --><hr />
491-
<h2 class="doxsection"><a class="anchor" id="autotoc_md53"></a>
491+
<h2 class="doxsection"><a class="anchor" id="autotoc_md54"></a>
492492
Utility Commands</h2>
493493
<h3 class="doxsection"><a class="anchor" id="new"></a>
494494
new</h3>
@@ -664,7 +664,7 @@ <h3 class="doxsection"><a class="anchor" id="packer"></a>
664664
<div class="line"># Compare two packed files</div>
665665
<div class="line">./mfc.sh packer compare a.pack b.pack</div>
666666
</div><!-- fragment --><p><b>Subcommands:</b></p>
667-
<h4 class="doxsection"><a class="anchor" id="autotoc_md57"></a>
667+
<h4 class="doxsection"><a class="anchor" id="autotoc_md58"></a>
668668
packer pack</h4>
669669
<p>Pack a case into a single file.</p>
670670
<p>Arguments:</p><ul>
@@ -677,7 +677,7 @@ <h4 class="doxsection"><a class="anchor" id="autotoc_md57"></a>
677677
<tr class="markdownTableRowOdd">
678678
<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>
679679
</table>
680-
<h4 class="doxsection"><a class="anchor" id="autotoc_md58"></a>
680+
<h4 class="doxsection"><a class="anchor" id="autotoc_md59"></a>
681681
packer compare</h4>
682682
<p>Compare two cases.</p>
683683
<p>Arguments:</p><ul>
@@ -745,7 +745,7 @@ <h3 class="doxsection"><a class="anchor" id="generate"></a>
745745
<div class="line"># Generate JSON Schema for IDE support</div>
746746
<div class="line">./mfc.sh generate --json-schema</div>
747747
</div><!-- fragment --><hr />
748-
<h2 class="doxsection"><a class="anchor" id="autotoc_md63"></a>
748+
<h2 class="doxsection"><a class="anchor" id="autotoc_md64"></a>
749749
Development Commands</h2>
750750
<h3 class="doxsection"><a class="anchor" id="lint"></a>
751751
lint</h3>
@@ -857,7 +857,7 @@ <h3 class="doxsection"><a class="anchor" id="count_diff"></a>
857857
<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>
858858
</table>
859859
<hr />
860-
<h2 class="doxsection"><a class="anchor" id="autotoc_md70"></a>
860+
<h2 class="doxsection"><a class="anchor" id="autotoc_md71"></a>
861861
CI Commands</h2>
862862
<h3 class="doxsection"><a class="anchor" id="bench"></a>
863863
bench</h3>
@@ -923,7 +923,7 @@ <h3 class="doxsection"><a class="anchor" id="bench_diff"></a>
923923
<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>
924924
</table>
925925
<hr />
926-
<h2 class="doxsection"><a class="anchor" id="autotoc_md73"></a>
926+
<h2 class="doxsection"><a class="anchor" id="autotoc_md74"></a>
927927
Other Commands</h2>
928928
<h3 class="doxsection"><a class="anchor" id="load"></a>
929929
load</h3>
@@ -941,10 +941,10 @@ <h3 class="doxsection"><a class="anchor" id="interactive"></a>
941941
<p>Launch an interactive menu for MFC operations.</p>
942942
<p><b>Usage:</b> <span class="tt">./mfc.sh interactive [OPTIONS]</span></p>
943943
<hr />
944-
<h2 class="doxsection"><a class="anchor" id="autotoc_md76"></a>
944+
<h2 class="doxsection"><a class="anchor" id="autotoc_md77"></a>
945945
Common Options</h2>
946946
<p>Many commands share common option sets:</p>
947-
<h3 class="doxsection"><a class="anchor" id="autotoc_md77"></a>
947+
<h3 class="doxsection"><a class="anchor" id="autotoc_md78"></a>
948948
Target Selection (<span class="tt">-t, --targets</span>)</h3>
949949
<p>Available targets:</p><ul>
950950
<li><span class="tt">pre_process</span> - Pre-processor</li>
@@ -953,7 +953,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md77"></a>
953953
<li><span class="tt">syscheck</span> - System check utility</li>
954954
<li><span class="tt">documentation</span> - Build documentation</li>
955955
</ul>
956-
<h3 class="doxsection"><a class="anchor" id="autotoc_md78"></a>
956+
<h3 class="doxsection"><a class="anchor" id="autotoc_md79"></a>
957957
Build Configuration Flags</h3>
958958
<table class="markdownTable">
959959
<tr class="markdownTableHead">
@@ -973,18 +973,18 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md78"></a>
973973
<tr class="markdownTableRowOdd">
974974
<td class="markdownTableBodyNone"><span class="tt">--mixed</span> / <span class="tt">--no-mixed</span> </td><td class="markdownTableBodyNone">Mixed precision </td></tr>
975975
</table>
976-
<h3 class="doxsection"><a class="anchor" id="autotoc_md79"></a>
976+
<h3 class="doxsection"><a class="anchor" id="autotoc_md80"></a>
977977
Verbosity (<span class="tt">-v, --verbose</span>)</h3>
978978
<p>Controls output verbosity level:</p>
979979
<ul>
980980
<li><span class="tt">-v</span> - Basic verbose output</li>
981981
<li><span class="tt">-vv</span> - Show build commands</li>
982982
<li><span class="tt">-vvv</span> - Full verbose output including CMake details</li>
983983
</ul>
984-
<h3 class="doxsection"><a class="anchor" id="autotoc_md80"></a>
984+
<h3 class="doxsection"><a class="anchor" id="autotoc_md81"></a>
985985
Debug Logging (<span class="tt">-d, --debug-log</span>)</h3>
986986
<p>Enables debug logging for the Python toolchain (mfc.sh internals). This is for troubleshooting the build system, not the MFC simulation code.</p>
987-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-04-22</div> </div></div><!-- contents -->
987+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-04-23</div> </div></div><!-- contents -->
988988
</div><!-- PageDoc -->
989989
</div><!-- doc-content -->
990990
<div id="page-nav" class="page-nav-panel">

0 commit comments

Comments
 (0)