Skip to content

Commit 8a23fec

Browse files
author
MFC Action
committed
Docs @ c99ac2d
1 parent 63207b6 commit 8a23fec

250 files changed

Lines changed: 33391 additions & 27687 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: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,8 @@ <h2 class="doxsection"><a class="anchor" id="autotoc_md6"></a>
252252
<td class="markdownTableBodyNone"><span class="tt">m_muscl</span> </td><td class="markdownTableBodyNone">MUSCL reconstruction with interface sharpening for contact-preserving advection </td></tr>
253253
<tr class="markdownTableRowEven">
254254
<td class="markdownTableBodyNone"><span class="tt">m_variables_conversion</span> </td><td class="markdownTableBodyNone">Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation </td></tr>
255+
<tr class="markdownTableRowOdd">
256+
<td class="markdownTableBodyNone"><span class="tt">m_thinc</span> </td><td class="markdownTableBodyNone">THINC and MTHINC interface compression for volume fraction sharpening </td></tr>
255257
</table>
256258
<h2 class="doxsection"><a class="anchor" id="autotoc_md7"></a>
257259
Physics Models</h2>
@@ -403,7 +405,7 @@ <h1 class="doxsection"><a class="anchor" id="autotoc_md13"></a>
403405
<li><b>Add the module to <span class="tt">docs/module_categories.json</span></b> so it appears in this page</li>
404406
</ol>
405407
<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-05-07</div> </div></div><!-- contents -->
408+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-05-08</div> </div></div><!-- contents -->
407409
</div><!-- PageDoc -->
408410
</div><!-- doc-content -->
409411
<div id="page-nav" class="page-nav-panel">

documentation/case.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -597,9 +597,9 @@ <h3 class="doxsection"><a class="anchor" id="sec-simulation-algorithm"></a>
597597
<tr class="markdownTableRowOdd">
598598
<td class="markdownTableBodyRight"><span class="tt">muscl_eps</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">MUSCL limiter slope-product threshold (default: hard-coded thresholds; set to 0 for textbook behavior) </td></tr>
599599
<tr class="markdownTableRowEven">
600-
<td class="markdownTableBodyRight"><span class="tt">flux_lim</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Flux limiter for post-process: [1] minmod; [2] MUSCL; [3] OSPRE; [4] SUPERBEE </td></tr>
600+
<td class="markdownTableBodyRight"><span class="tt">int_comp</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Interface Compression [0] Off [1] THINC [2] MTHINC (default 0) </td></tr>
601601
<tr class="markdownTableRowOdd">
602-
<td class="markdownTableBodyRight"><span class="tt">int_comp</span> </td><td class="markdownTableBodyCenter">Logical </td><td class="markdownTableBodyLeft">THINC Interface Compression </td></tr>
602+
<td class="markdownTableBodyRight"><span class="tt">flux_lim</span> </td><td class="markdownTableBodyCenter">Integer </td><td class="markdownTableBodyLeft">Flux limiter for post-process: [1] minmod; [2] MUSCL; [3] OSPRE; [4] SUPERBEE </td></tr>
603603
<tr class="markdownTableRowEven">
604604
<td class="markdownTableBodyRight"><span class="tt">ic_eps</span> </td><td class="markdownTableBodyCenter">Real </td><td class="markdownTableBodyLeft">Interface compression threshold (default: 1e-4) </td></tr>
605605
<tr class="markdownTableRowOdd">
@@ -692,7 +692,7 @@ <h3 class="doxsection"><a class="anchor" id="sec-simulation-algorithm"></a>
692692
<li><span class="tt">muscl_order</span> specifies the order of the MUSCL scheme that is used for spatial reconstruction of variables by an integer of 1, or 2, that corresponds to the 1st, and 2nd order respectively. When using <span class="tt">muscl_order = 2</span>, <span class="tt">muscl_lim</span> must be defined.</li>
693693
<li><span class="tt">muscl_lim</span> specifies the slope limiter that is used in 2nd order MUSCL Reconstruction by an integer from 1 through 5. <span class="tt">muscl_lim = 1</span>, <span class="tt">2</span>, <span class="tt">3</span>, <span class="tt">4</span>, and <span class="tt">5</span> correspond to minmod, monotonized central, Van Albada, Van Leer, and SUPERBEE, respectively.</li>
694694
<li><span class="tt">muscl_eps</span> controls the slope-product activation threshold for all MUSCL limiters. When not set (default), the threshold is 1e-9 for minmod/MC, and 1e-6 for others. Setting <span class="tt">muscl_eps = 0</span> gives textbook limiter behavior where limiters activate whenever both slopes have the same sign.</li>
695-
<li><span class="tt">int_comp</span> activates interface compression using THINC used in MUSCL Reconstruction, with control parameters (<span class="tt">ic_eps</span>, and <span class="tt">ic_beta</span>).</li>
695+
<li><span class="tt">int_comp</span> activates interface compression using [1] THINC or [2] MTHINC (default off) used in variable reconstruction, with control parameters (<span class="tt">ic_eps</span>, and <span class="tt">ic_beta</span>).</li>
696696
<li><span class="tt">riemann_solver</span> specifies the choice of the Riemann solver that is used in simulation by an integer from 1 through 4. <span class="tt">riemann_solver = 1</span>, <span class="tt">2</span>, and <span class="tt">3</span> correspond to HLL, HLLC, and Exact Riemann solver, respectively (Toro <a class="el" href="citelist.html#CITEREF_toro09">[51]</a>). <span class="tt">riemann_solver = 4</span> is only for MHD simulations. It resolves 5 of the full seven-wave structure of the MHD equations (Miyoshi and Kusano <a class="el" href="citelist.html#CITEREF_miyoshi05">[35]</a>).</li>
697697
<li><span class="tt">low_Mach</span> specifies the choice of the low Mach number correction scheme for the HLLC Riemann solver. <span class="tt">low_Mach = 0</span> is default value and does not apply any correction scheme. <span class="tt">low_Mach = 1</span> and <span class="tt">2</span> apply the anti-dissipation pressure correction method (Chen et al. <a class="el" href="citelist.html#CITEREF_chen22">[11]</a>) and the improved velocity reconstruction method (Thornber et al. <a class="el" href="citelist.html#CITEREF_thornber08">[49]</a>). This feature requires <span class="tt">model_eqns = 2</span> or <span class="tt">3</span>. <span class="tt">low_Mach = 1</span> works for <span class="tt">riemann_solver = 1</span> and <span class="tt">2</span>, but <span class="tt">low_Mach = 2</span> only works for <span class="tt">riemann_solver = 2</span>.</li>
698698
<li><span class="tt">avg_state</span> specifies the choice of the method to compute averaged variables at the cell-boundaries from the left and the right states in the Riemann solver by an integer of 1 or 2. <span class="tt">avg_state = 1</span> and <span class="tt">2</span> correspond to Roe- and arithmetic averages, respectively.</li>

documentation/case_constraints.html

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -822,6 +822,19 @@ <h2 class="doxsection"><a class="anchor" id="quick-parameter-reference"></a>
822822
</details>
823823
<details >
824824
<summary >
825+
<b>int_comp</b> (<span class="tt">int_comp</span>)</summary>
826+
<p></p>
827+
<p><b>Schema constraints:</b></p><ul>
828+
<li>Choices: <span class="tt">0</span> = off, <span class="tt">1</span> = THINC, <span class="tt">2</span> = MTHINC</li>
829+
</ul>
830+
<p><b>Requirements</b> (errors):</p><ul>
831+
<li>int_comp = 2 (MTHINC) requires at least 2D (n &gt; 0)</li>
832+
<li>int_comp &gt; 0 requires num_fluids = 2</li>
833+
</ul>
834+
<p></p>
835+
</details>
836+
<details >
837+
<summary >
825838
<b>integral_wrt</b> (<span class="tt">integral_wrt</span>)</summary>
826839
<p></p>
827840
<p><b>Dependencies:</b></p><ul>
@@ -924,9 +937,9 @@ <h2 class="doxsection"><a class="anchor" id="quick-parameter-reference"></a>
924937
<li>Min: 0</li>
925938
</ul>
926939
<p><b>Requirements</b> (errors):</p><ul>
940+
<li>int_comp = 2 (MTHINC) requires at least 2D (n &gt; 0)</li>
927941
<li>Immersed Boundaries do not work in 1D (requires n &gt; 0)</li>
928942
<li>down sample requires n divisible by 3</li>
929-
<li>stretch_y requires n &gt; 0</li>
930943
</ul>
931944
<p><b>Incompatibilities</b> (errors):</p><ul>
932945
<li>Bx0 must not be set in 2D/3D MHD simulations</li>
@@ -1132,9 +1145,6 @@ <h2 class="doxsection"><a class="anchor" id="quick-parameter-reference"></a>
11321145
<p><b>Dependencies:</b></p><ul>
11331146
<li>When = 2, recommends: <span class="tt">muscl_order</span>, <span class="tt">muscl_lim</span></li>
11341147
</ul>
1135-
<p><b>Requirements</b> (errors):</p><ul>
1136-
<li>int_comp (THINC interface compression) requires recon_type = 2 (MUSCL)</li>
1137-
</ul>
11381148
<p><b>Valid values</b> (errors):</p><ul>
11391149
<li>recon_type must be 1 (WENO) or 2 (MUSCL)</li>
11401150
<li>recon_type must be 1 (WENO) or 2 (MUSCL)</li>
@@ -1450,7 +1460,7 @@ <h2 class="doxsection"><a class="anchor" id="physics-warnings"></a>
14501460
</table>
14511461
<hr />
14521462
<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>
1453-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-05-07</div> </div></div><!-- contents -->
1463+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-05-08</div> </div></div><!-- contents -->
14541464
</div><!-- PageDoc -->
14551465
</div><!-- doc-content -->
14561466
<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-05-07</div> </div></div><!-- contents -->
997+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-05-08</div> </div></div><!-- contents -->
998998
</div><!-- PageDoc -->
999999
</div><!-- doc-content -->
10001000
<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
@@ -388,7 +388,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md276"></a>
388388
Final Condition</h3>
389389
<p>This figure shows the isosurface with zero q-criterion.</p>
390390
<p><img src="result-3D_TaylorGreenVortex-example.png" alt="" height="400" class="inline"/></p>
391-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-05-07</div> </div></div><!-- contents -->
391+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-05-08</div> </div></div><!-- contents -->
392392
</div><!-- PageDoc -->
393393
</div><!-- doc-content -->
394394
<div id="page-nav" class="page-nav-panel">

documentation/parameters.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1278,7 +1278,7 @@ <h2 class="doxsection"><a class="anchor" id="general"></a>
12781278
<tr class="markdownTableRowEven">
12791279
<td class="markdownTableBodyNone"><span class="tt">igr_pres_lim</span> </td><td class="markdownTableBodyNone">Logical (T/F) </td><td class="markdownTableBodyNone">Enable IGR pressure limiting </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"><span class="tt">igr_pres_lim</span> requires <span class="tt">igr</span> to be enabled </td></tr>
12801280
<tr class="markdownTableRowOdd">
1281-
<td class="markdownTableBodyNone"><span class="tt">int_comp</span> </td><td class="markdownTableBodyNone">Logical (T/F) </td><td class="markdownTableBodyNone">Enable interface compression </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"><span class="tt">int_comp</span> (THINC interface compression) requires <span class="tt">recon_type</span> = 2 (MUSCL) </td></tr>
1281+
<td class="markdownTableBodyNone"><span class="tt">int_comp</span> </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">Interface compression: 0=off, 1=THINC, 2=MTHINC </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0=off, 1=THINC, 2=MTHINC; <span class="tt">int_comp</span> = 2 (MTHINC) requires at least 2D (n &gt; 0); <span class="tt">int_comp</span> &gt; 0 requires <span class="tt">num_fluids</span> = 2; <span class="tt">int_comp</span> must be 0 (off), 1 (THINC), or 2 (MTHINC) </td></tr>
12821282
<tr class="markdownTableRowEven">
12831283
<td class="markdownTableBodyNone"><span class="tt">integral_wrt</span> </td><td class="markdownTableBodyNone">Logical (T/F) </td><td class="markdownTableBodyNone">Write integral data </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"><span class="tt">fd_order</span> must be specified for <span class="tt">integral_wrt</span>; <span class="tt">integral_wrt</span> requires <span class="tt">bubbles_euler</span> to be enabled </td></tr>
12841284
<tr class="markdownTableRowOdd">
@@ -1364,7 +1364,7 @@ <h2 class="doxsection"><a class="anchor" id="general"></a>
13641364
<tr class="markdownTableRowOdd">
13651365
<td class="markdownTableBodyNone"><span class="tt">muscl_lim</span> </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">MUSCL limiter type </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">1=minmod, 2=MC, 3=Van Albada, 4=Van Leer, 5=SUPERBEE; <span class="tt">muscl_lim</span> must be 1, 2, 3, 4, or 5; <span class="tt">muscl_lim</span> must be defined if using <span class="tt">muscl_order</span> = 2 </td></tr>
13661366
<tr class="markdownTableRowEven">
1367-
<td class="markdownTableBodyNone"><span class="tt">muscl_order</span> </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">Order of MUSCL reconstruction </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">1=1st order, 2=2nd order; <span class="tt">muscl_order</span> must be 1 or 2; m must be at least <span class="tt">muscl_order</span> - 1 (= <span class="tt">muscl_order</span> - 1); For 2D simulation, n must be at least <span class="tt">muscl_order</span> - 1 (= <span class="tt">muscl_order</span> - 1) </td></tr>
1367+
<td class="markdownTableBodyNone"><span class="tt">muscl_order</span> </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">Order of MUSCL reconstruction </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">1=1st order, 2=2nd order; <span class="tt">int_comp</span> must be 0 (off) when <span class="tt">muscl_order</span> = 1 </td></tr>
13681368
<tr class="markdownTableRowOdd">
13691369
<td class="markdownTableBodyNone"><span class="tt">n</span> </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">Number of grid cells in the y-direction </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">Min: 0; down sample requires n divisible by 3; <span class="tt">omega_wrt</span> requires n &gt; 0 (at least 2D); <span class="tt">mom_wrt</span>(2) requires n &gt; 0 </td></tr>
13701370
<tr class="markdownTableRowEven">
@@ -1462,7 +1462,7 @@ <h2 class="doxsection"><a class="anchor" id="general"></a>
14621462
<tr class="markdownTableRowEven">
14631463
<td class="markdownTableBodyNone"><span class="tt">rdma_mpi</span> </td><td class="markdownTableBodyNone">Logical (T/F) </td><td class="markdownTableBodyNone">Enable RDMA for MPI communication (GPUs) </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"></td></tr>
14641464
<tr class="markdownTableRowOdd">
1465-
<td class="markdownTableBodyNone"><span class="tt">recon_type</span> </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">Reconstruction type </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">1=WENO, 2=MUSCL; <span class="tt">int_comp</span> (THINC interface compression) requires <span class="tt">recon_type</span> = 2 (MUSCL); <span class="tt">recon_type</span> = 2 (MUSCL) requires <span class="tt">weno_order</span> unset or 0, but got <span class="tt">weno_order</span>; <span class="tt">weno_order</span> != 1 requires <span class="tt">weno_eps</span> to be set. A typical value is 1e-6 </td></tr>
1465+
<td class="markdownTableBodyNone"><span class="tt">recon_type</span> </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">Reconstruction type </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">1=WENO, 2=MUSCL; <span class="tt">recon_type</span> = 2 (MUSCL) requires <span class="tt">weno_order</span> unset or 0, but got <span class="tt">weno_order</span>; <span class="tt">weno_order</span> != 1 requires <span class="tt">weno_eps</span> to be set. A typical value is 1e-6; <span class="tt">wenoz</span> at 7th order requires <span class="tt">wenoz_q</span> to be set (should be 2, 3, or 4) </td></tr>
14661466
<tr class="markdownTableRowEven">
14671467
<td class="markdownTableBodyNone"><span class="tt">relativity</span> </td><td class="markdownTableBodyNone">Logical (T/F) </td><td class="markdownTableBodyNone">Enable special relativity </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"><span class="tt">relativity</span> requires <span class="tt">mhd</span> to be enabled; HLLD is not available for RMHD (<span class="tt">relativity</span>) </td></tr>
14681468
<tr class="markdownTableRowOdd">
@@ -1544,7 +1544,7 @@ <h2 class="doxsection"><a class="anchor" id="general"></a>
15441544
<tr class="markdownTableRowOdd">
15451545
<td class="markdownTableBodyNone"><span class="tt">weno_eps</span> </td><td class="markdownTableBodyNone">Real </td><td class="markdownTableBodyNone">WENO epsilon parameter for smoothness </td><td class="markdownTableBodyNone">\(\varepsilon\) </td><td class="markdownTableBodyNone">Min: 0; <span class="tt">weno_order</span> != 1 requires <span class="tt">weno_eps</span> to be set. A typical value is 1e-6; <span class="tt">weno_eps</span> must be positive. A typical value is 1e-6 </td></tr>
15461546
<tr class="markdownTableRowEven">
1547-
<td class="markdownTableBodyNone"><span class="tt">weno_order</span> </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">Order of WENO reconstruction </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0=MUSCL mode, 1=1st order, 3=WENO3, 5=WENO5, 7=WENO7; <span class="tt">weno_order</span> = 1 without <span class="tt">weno_avg</span> does not support <span class="tt">fluid_pp(i)Re(j)</span> </td></tr>
1547+
<td class="markdownTableBodyNone"><span class="tt">weno_order</span> </td><td class="markdownTableBodyNone">Integer </td><td class="markdownTableBodyNone">Order of WENO reconstruction </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone">0=MUSCL mode, 1=1st order, 3=WENO3, 5=WENO5, 7=WENO7; <span class="tt">weno_order</span> = 1 without <span class="tt">weno_avg</span> does not support <span class="tt">fluid_pp(i)Re(j)</span>; <span class="tt">int_comp</span> must be 0 (off) when <span class="tt">weno_order</span> = 1 </td></tr>
15481548
<tr class="markdownTableRowOdd">
15491549
<td class="markdownTableBodyNone"><span class="tt">wenoz</span> </td><td class="markdownTableBodyNone">Logical (T/F) </td><td class="markdownTableBodyNone">Enable WENO-Z scheme </td><td class="markdownTableBodyNone"></td><td class="markdownTableBodyNone"><span class="tt">wenoz</span> at 7th order requires <span class="tt">wenoz_q</span> to be set (should be 2, 3, or 4); <span class="tt">wenoz</span> is not compatible with <span class="tt">weno_order</span> = 1; <span class="tt">wenoz_q</span> must be either 2, 3, or 4) </td></tr>
15501550
<tr class="markdownTableRowEven">
@@ -1577,7 +1577,7 @@ <h2 class="doxsection"><a class="anchor" id="autotoc_md393"></a>
15771577
<div class="line"> </div>
15781578
<div class="line"># Filter by type</div>
15791579
<div class="line">./mfc.sh params -t real weno</div>
1580-
</div><!-- fragment --><div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-05-07</div> </div></div><!-- contents -->
1580+
</div><!-- fragment --><div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-05-08</div> </div></div><!-- contents -->
15811581
</div><!-- PageDoc -->
15821582
</div><!-- doc-content -->
15831583
<div id="page-nav" class="page-nav-panel">

0 commit comments

Comments
 (0)