You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
<tdclass="markdownTableBodyNone"><spanclass="tt">m_muscl</span></td><tdclass="markdownTableBodyNone">MUSCL reconstruction with interface sharpening for contact-preserving advection </td></tr>
253
253
<trclass="markdownTableRowEven">
254
254
<tdclass="markdownTableBodyNone"><spanclass="tt">m_variables_conversion</span></td><tdclass="markdownTableBodyNone">Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation </td></tr>
255
+
<trclass="markdownTableRowOdd">
256
+
<tdclass="markdownTableBodyNone"><spanclass="tt">m_thinc</span></td><tdclass="markdownTableBodyNone">THINC and MTHINC interface compression for volume fraction sharpening </td></tr>
<li><b>Add the module to <spanclass="tt">docs/module_categories.json</span></b> so it appears in this page</li>
404
406
</ol>
405
407
<p>Follow the pattern of existing modules like <spanclass="tt">m_body_forces</span> (simple) or <spanclass="tt">m_viscous</span> (more involved) as a template.</p>
<tdclass="markdownTableBodyRight"><spanclass="tt">muscl_eps</span></td><tdclass="markdownTableBodyCenter">Real </td><tdclass="markdownTableBodyLeft">MUSCL limiter slope-product threshold (default: hard-coded thresholds; set to 0 for textbook behavior) </td></tr>
<li><spanclass="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 <spanclass="tt">muscl_order = 2</span>, <spanclass="tt">muscl_lim</span> must be defined.</li>
693
693
<li><spanclass="tt">muscl_lim</span> specifies the slope limiter that is used in 2nd order MUSCL Reconstruction by an integer from 1 through 5. <spanclass="tt">muscl_lim = 1</span>, <spanclass="tt">2</span>, <spanclass="tt">3</span>, <spanclass="tt">4</span>, and <spanclass="tt">5</span> correspond to minmod, monotonized central, Van Albada, Van Leer, and SUPERBEE, respectively.</li>
694
694
<li><spanclass="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 <spanclass="tt">muscl_eps = 0</span> gives textbook limiter behavior where limiters activate whenever both slopes have the same sign.</li>
695
-
<li><spanclass="tt">int_comp</span> activates interface compression using THINC used in MUSCL Reconstruction, with control parameters (<spanclass="tt">ic_eps</span>, and <spanclass="tt">ic_beta</span>).</li>
695
+
<li><spanclass="tt">int_comp</span> activates interface compression using [1] THINC or [2] MTHINC (default off) used in variable reconstruction, with control parameters (<spanclass="tt">ic_eps</span>, and <spanclass="tt">ic_beta</span>).</li>
696
696
<li><spanclass="tt">riemann_solver</span> specifies the choice of the Riemann solver that is used in simulation by an integer from 1 through 4. <spanclass="tt">riemann_solver = 1</span>, <spanclass="tt">2</span>, and <spanclass="tt">3</span> correspond to HLL, HLLC, and Exact Riemann solver, respectively (Toro <aclass="el" href="citelist.html#CITEREF_toro09">[51]</a>). <spanclass="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 <aclass="el" href="citelist.html#CITEREF_miyoshi05">[35]</a>).</li>
697
697
<li><spanclass="tt">low_Mach</span> specifies the choice of the low Mach number correction scheme for the HLLC Riemann solver. <spanclass="tt">low_Mach = 0</span> is default value and does not apply any correction scheme. <spanclass="tt">low_Mach = 1</span> and <spanclass="tt">2</span> apply the anti-dissipation pressure correction method (Chen et al. <aclass="el" href="citelist.html#CITEREF_chen22">[11]</a>) and the improved velocity reconstruction method (Thornber et al. <aclass="el" href="citelist.html#CITEREF_thornber08">[49]</a>). This feature requires <spanclass="tt">model_eqns = 2</span> or <spanclass="tt">3</span>. <spanclass="tt">low_Mach = 1</span> works for <spanclass="tt">riemann_solver = 1</span> and <spanclass="tt">2</span>, but <spanclass="tt">low_Mach = 2</span> only works for <spanclass="tt">riemann_solver = 2</span>.</li>
698
698
<li><spanclass="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. <spanclass="tt">avg_state = 1</span> and <spanclass="tt">2</span> correspond to Roe- and arithmetic averages, respectively.</li>
<p>💡 <b>Tip:</b> If you encounter a validation error, check the relevant section above or review <ahref="https://github.com/MFlowCode/MFC/blob/master/toolchain/mfc/case_validator.py"><spanclass="tt">case_validator.py</span></a> for complete validation logic.</p>
<tdclass="markdownTableBodyNone"><spanclass="tt">int_comp</span></td><tdclass="markdownTableBodyNone">Integer </td><tdclass="markdownTableBodyNone">Interface compression: 0=off, 1=THINC, 2=MTHINC </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone">0=off, 1=THINC, 2=MTHINC; <spanclass="tt">int_comp</span>= 2 (MTHINC) requires at least 2D (n > 0); <spanclass="tt">int_comp</span> > 0 requires <spanclass="tt">num_fluids</span> = 2; <spanclass="tt">int_comp</span> must be 0 (off), 1 (THINC), or 2 (MTHINC) </td></tr>
1282
1282
<trclass="markdownTableRowEven">
1283
1283
<tdclass="markdownTableBodyNone"><spanclass="tt">integral_wrt</span></td><tdclass="markdownTableBodyNone">Logical (T/F) </td><tdclass="markdownTableBodyNone">Write integral data </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone"><spanclass="tt">fd_order</span> must be specified for <spanclass="tt">integral_wrt</span>; <spanclass="tt">integral_wrt</span> requires <spanclass="tt">bubbles_euler</span> to be enabled </td></tr>
<tdclass="markdownTableBodyNone"><spanclass="tt">muscl_lim</span></td><tdclass="markdownTableBodyNone">Integer </td><tdclass="markdownTableBodyNone">MUSCL limiter type </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone">1=minmod, 2=MC, 3=Van Albada, 4=Van Leer, 5=SUPERBEE; <spanclass="tt">muscl_lim</span> must be 1, 2, 3, 4, or 5; <spanclass="tt">muscl_lim</span> must be defined if using <spanclass="tt">muscl_order</span> = 2 </td></tr>
1366
1366
<trclass="markdownTableRowEven">
1367
-
<tdclass="markdownTableBodyNone"><spanclass="tt">muscl_order</span></td><tdclass="markdownTableBodyNone">Integer </td><tdclass="markdownTableBodyNone">Order of MUSCL reconstruction </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone">1=1st order, 2=2nd order; <spanclass="tt">muscl_order</span> must be 1 or 2; m must be at least <spanclass="tt">muscl_order</span> - 1 (= <spanclass="tt">muscl_order</span> - 1); For 2D simulation, n must be at least <spanclass="tt">muscl_order</span>- 1 (= <spanclass="tt">muscl_order</span> - 1)</td></tr>
1367
+
<tdclass="markdownTableBodyNone"><spanclass="tt">muscl_order</span></td><tdclass="markdownTableBodyNone">Integer </td><tdclass="markdownTableBodyNone">Order of MUSCL reconstruction </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone">1=1st order, 2=2nd order; <spanclass="tt">int_comp</span> must be 0 (off) when <spanclass="tt">muscl_order</span>= 1</td></tr>
1368
1368
<trclass="markdownTableRowOdd">
1369
1369
<tdclass="markdownTableBodyNone"><spanclass="tt">n</span></td><tdclass="markdownTableBodyNone">Integer </td><tdclass="markdownTableBodyNone">Number of grid cells in the y-direction </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone">Min: 0; down sample requires n divisible by 3; <spanclass="tt">omega_wrt</span> requires n > 0 (at least 2D); <spanclass="tt">mom_wrt</span>(2) requires n > 0 </td></tr>
<tdclass="markdownTableBodyNone"><spanclass="tt">rdma_mpi</span></td><tdclass="markdownTableBodyNone">Logical (T/F) </td><tdclass="markdownTableBodyNone">Enable RDMA for MPI communication (GPUs) </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone"></td></tr>
1464
1464
<trclass="markdownTableRowOdd">
1465
-
<tdclass="markdownTableBodyNone"><spanclass="tt">recon_type</span></td><tdclass="markdownTableBodyNone">Integer </td><tdclass="markdownTableBodyNone">Reconstruction type </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone">1=WENO, 2=MUSCL; <spanclass="tt">int_comp</span>(THINC interface compression) requires <spanclass="tt">recon_type</span>= 2 (MUSCL); <spanclass="tt">recon_type</span> = 2 (MUSCL) requires <spanclass="tt">weno_order</span>unset or 0, but got <spanclass="tt">weno_order</span>; <spanclass="tt">weno_order</span>!= 1 requires <spanclass="tt">weno_eps</span> to be set. A typical value is 1e-6</td></tr>
1465
+
<tdclass="markdownTableBodyNone"><spanclass="tt">recon_type</span></td><tdclass="markdownTableBodyNone">Integer </td><tdclass="markdownTableBodyNone">Reconstruction type </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone">1=WENO, 2=MUSCL; <spanclass="tt">recon_type</span>= 2 (MUSCL) requires <spanclass="tt">weno_order</span>unset or 0, but got <spanclass="tt">weno_order</span>; <spanclass="tt">weno_order</span>!= 1 requires <spanclass="tt">weno_eps</span> to be set. A typical value is 1e-6; <spanclass="tt">wenoz</span>at 7th order requires <spanclass="tt">wenoz_q</span> to be set (should be 2, 3, or 4)</td></tr>
1466
1466
<trclass="markdownTableRowEven">
1467
1467
<tdclass="markdownTableBodyNone"><spanclass="tt">relativity</span></td><tdclass="markdownTableBodyNone">Logical (T/F) </td><tdclass="markdownTableBodyNone">Enable special relativity </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone"><spanclass="tt">relativity</span> requires <spanclass="tt">mhd</span> to be enabled; HLLD is not available for RMHD (<spanclass="tt">relativity</span>) </td></tr>
<tdclass="markdownTableBodyNone"><spanclass="tt">weno_eps</span></td><tdclass="markdownTableBodyNone">Real </td><tdclass="markdownTableBodyNone">WENO epsilon parameter for smoothness </td><tdclass="markdownTableBodyNone">\(\varepsilon\) </td><tdclass="markdownTableBodyNone">Min: 0; <spanclass="tt">weno_order</span> != 1 requires <spanclass="tt">weno_eps</span> to be set. A typical value is 1e-6; <spanclass="tt">weno_eps</span> must be positive. A typical value is 1e-6 </td></tr>
1546
1546
<trclass="markdownTableRowEven">
1547
-
<tdclass="markdownTableBodyNone"><spanclass="tt">weno_order</span></td><tdclass="markdownTableBodyNone">Integer </td><tdclass="markdownTableBodyNone">Order of WENO reconstruction </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone">0=MUSCL mode, 1=1st order, 3=WENO3, 5=WENO5, 7=WENO7; <spanclass="tt">weno_order</span> = 1 without <spanclass="tt">weno_avg</span> does not support <spanclass="tt">fluid_pp(i)Re(j)</span></td></tr>
1547
+
<tdclass="markdownTableBodyNone"><spanclass="tt">weno_order</span></td><tdclass="markdownTableBodyNone">Integer </td><tdclass="markdownTableBodyNone">Order of WENO reconstruction </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone">0=MUSCL mode, 1=1st order, 3=WENO3, 5=WENO5, 7=WENO7; <spanclass="tt">weno_order</span> = 1 without <spanclass="tt">weno_avg</span> does not support <spanclass="tt">fluid_pp(i)Re(j)</span>; <spanclass="tt">int_comp</span> must be 0 (off) when <spanclass="tt">weno_order</span> = 1</td></tr>
1548
1548
<trclass="markdownTableRowOdd">
1549
1549
<tdclass="markdownTableBodyNone"><spanclass="tt">wenoz</span></td><tdclass="markdownTableBodyNone">Logical (T/F) </td><tdclass="markdownTableBodyNone">Enable WENO-Z scheme </td><tdclass="markdownTableBodyNone"></td><tdclass="markdownTableBodyNone"><spanclass="tt">wenoz</span> at 7th order requires <spanclass="tt">wenoz_q</span> to be set (should be 2, 3, or 4); <spanclass="tt">wenoz</span> is not compatible with <spanclass="tt">weno_order</span> = 1; <spanclass="tt">wenoz_q</span> must be either 2, 3, or 4) </td></tr>
0 commit comments