Skip to content

Commit acf7162

Browse files
author
MFC Action
committed
Docs @ bbdf806
1 parent f409050 commit acf7162

175 files changed

Lines changed: 50774 additions & 50835 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
@@ -409,7 +409,7 @@ <h1 class="doxsection"><a class="anchor" id="autotoc_md13"></a>
409409
<li><b>Add the module to <span class="tt">docs/module_categories.json</span></b> so it appears in this page</li>
410410
</ol>
411411
<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>
412-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-11</div> </div></div><!-- contents -->
412+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-12</div> </div></div><!-- contents -->
413413
</div><!-- PageDoc -->
414414
</div><!-- doc-content -->
415415
<div id="page-nav" class="page-nav-panel">

documentation/case_constraints.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1464,7 +1464,7 @@ <h2 class="doxsection"><a class="anchor" id="physics-warnings"></a>
14641464
</table>
14651465
<hr />
14661466
<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>
1467-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-11</div> </div></div><!-- contents -->
1467+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-12</div> </div></div><!-- contents -->
14681468
</div><!-- PageDoc -->
14691469
</div><!-- doc-content -->
14701470
<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
@@ -999,7 +999,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md80"></a>
999999
<h3 class="doxsection"><a class="anchor" id="autotoc_md81"></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-06-11</div> </div></div><!-- contents -->
1002+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-12</div> </div></div><!-- contents -->
10031003
</div><!-- PageDoc -->
10041004
</div><!-- doc-content -->
10051005
<div id="page-nav" class="page-nav-panel">

documentation/contributing.html

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -425,21 +425,18 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md105"></a>
425425
<div class="line"> <span class="keywordflow">if</span> self.params[<span class="stringliteral">&quot;my_param&quot;</span>] &gt; 0 <span class="keywordflow">and</span> <span class="keywordflow">not</span> self.params[<span class="stringliteral">&quot;other_param&quot;</span>]:</div>
426426
<div class="line"> self.errors.append(<span class="stringliteral">&quot;my_param requires other_param to be set&quot;</span>)</div>
427427
</div><!-- fragment --><p>If your check enforces a physics constraint, also add a <span class="tt">PHYSICS_DOCS</span> entry (see <a class="el" href="#how-to-document-physics-constraints" title="How to Document Physics Constraints">How to Document Physics Constraints</a> below).</p>
428-
<p><b>Step 5: Declare in Fortran</b> (<span class="tt">src/&lt;target&gt;/m_global_parameters.fpp</span>)</p>
429-
<p>Add the variable declaration in the appropriate target's global parameters module. Choose the target(s) where the parameter is used:</p>
428+
<p><b>Step 5: Fortran declaration and namelist binding (auto-generated)</b></p>
429+
<p>Scalar declarations, GPU declare lines, Doxygen descriptions, and namelist bindings are auto-generated at CMake configure time from the <span class="tt">TYPED_DECLS</span> and <span class="tt">FORTRAN_ARRAY_DIMS</span> tables in <span class="tt">toolchain/mfc/params/definitions.py</span>. For a plain scalar registered with <span class="tt">_r()</span> / <span class="tt">_nv()</span> above, no manual Fortran edit is needed — reconfigure (<span class="tt">./mfc.sh build</span>) and the generated include in each target's <span class="tt">m_global_parameters.fpp</span> is updated automatically.</p>
430+
<p>Still manual (not auto-generated):</p>
430431
<ul>
431-
<li><span class="tt">src/pre_process/m_global_parameters.fpp</span></li>
432-
<li><span class="tt">src/simulation/m_global_parameters.fpp</span></li>
433-
<li><span class="tt">src/post_process/m_global_parameters.fpp</span></li>
432+
<li><span class="tt">TYPE</span> member definitions inside derived types in <span class="tt">src/common/m_derived_types.fpp</span></li>
433+
<li>Default-value assignments in <span class="tt">s_assign_default_values_to_user_inputs</span></li>
434+
<li>Multi-variable declaration lines (<span class="tt">bc_x/y/z</span>, <span class="tt">x/y/z_domain</span>, <span class="tt">x/y/z_output</span>)</li>
435+
<li>MPI broadcast lists in <span class="tt">src/*/m_mpi_proxy.fpp</span></li>
436+
<li><span class="tt">CASE_OPT_EXTRA_LINES</span> in <span class="tt">toolchain/mfc/params/generators/fortran_gen.py</span> for case-optimization constants</li>
434437
</ul>
435-
<div class="fragment"><div class="line"><span class="keywordtype">real</span>(wp) :: my_param<span class="comment"> !&lt; Description of the parameter</span></div>
436-
</div><!-- fragment --><p>If the parameter is used in GPU kernels, add a GPU declaration:</p>
437-
<div class="fragment"><div class="line">$:gpu_declare(create=<span class="stringliteral">&#39;[my_param]&#39;</span>)</div>
438-
</div><!-- fragment --><p><b>Step 6: Add to Fortran namelist</b> (<span class="tt">src/&lt;target&gt;/m_start_up.fpp</span>)</p>
439-
<p>Add the parameter name to the <span class="tt">namelist /user_inputs/</span> declaration:</p>
440-
<div class="fragment"><div class="line">namelist /user_inputs/ ... , my_param, ...</div>
441-
</div><!-- fragment --><p>The toolchain writes the parameter to the input file and Fortran reads it via this namelist. No other I/O code is needed.</p>
442-
<p><b>Step 7: Use in Fortran code</b></p>
438+
<p>After editing any generator or table, force regen by reconfiguring (<span class="tt">./mfc.sh build</span>) — cached builds compile stale includes.</p>
439+
<p><b>Step 6: Use in Fortran code</b></p>
443440
<p>Reference <span class="tt">my_param</span> anywhere in the target's modules. It is available as a global after the namelist is read at startup.</p>
444441
<h3 class="doxsection"><a class="anchor" id="autotoc_md106"></a>
445442
How to Write a GPU Parallel Loop</h3>

documentation/examples.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md311"></a>
630630
<p><img src="result-2D_shockdroplet-example.png" alt="" height="400" class="inline"/></p>
631631
<p>This example case contains an automated convergence test using a 1D, two-component advection case. The case can be run by executing the bash script <span class="tt">./submitJobs.sh</span> in a terminal after enabling execution permissions with <span class="tt">chmod +x ./submitJobs.sh</span> and setting the <span class="tt">ROOT_DIR</span> and <span class="tt">MFC_DIR</span> variables. By default the script runs the case for 6 different grid resolutions with 1st, 3rd, and 5th, order spatial reconstructions. These settings can be modified by editing the variables at the top of the script. You can also run different model equations by setting the <span class="tt">ME</span> variable and different Riemann solvers by setting the <span class="tt">RS</span> variable.</p>
632632
<p>Once the simulations have been run, you can generate convergence plots with matplotlib by running <span class="tt">python3 plot.py</span> in a terminal. This will generate plots of the L1, L2, and Linf error norms and save the results to <span class="tt">errors.csv</span>.</p>
633-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-11</div> </div></div><!-- contents -->
633+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-12</div> </div></div><!-- contents -->
634634
</div><!-- PageDoc -->
635635
</div><!-- doc-content -->
636636
<div id="page-nav" class="page-nav-panel">

documentation/parameters.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1631,7 +1631,7 @@ <h2 class="doxsection"><a class="anchor" id="autotoc_md432"></a>
16311631
<div class="line"> </div>
16321632
<div class="line"># Filter by type</div>
16331633
<div class="line">./mfc.sh params -t real weno</div>
1634-
</div><!-- fragment --><div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-11</div> </div></div><!-- contents -->
1634+
</div><!-- fragment --><div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-12</div> </div></div><!-- contents -->
16351635
</div><!-- PageDoc -->
16361636
</div><!-- doc-content -->
16371637
<div id="page-nav" class="page-nav-panel">

documentation/physics_constraints.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,7 @@ <h3 class="doxsection"><a class="anchor" id="autotoc_md483"></a>
656656
<li>FFT WRT incompatible with cylindrical coordinates</li>
657657
<li>FFT WRT requires global dimensions divisible by 2</li>
658658
</ul>
659-
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-11</div> </div></div><!-- contents -->
659+
<div style="text-align:center; font-size:0.75rem; color:#888; padding:16px 0 0;">Page last updated: 2026-06-12</div> </div></div><!-- contents -->
660660
</div><!-- PageDoc -->
661661
</div><!-- doc-content -->
662662
<div id="page-nav" class="page-nav-panel">

post_process/doxygen_crawl.html

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,6 @@
219219
<a href="namespacem__constants.html#a40dd8e42f1d768ce7c112ea571ba9a7d"/>
220220
<a href="namespacem__constants.html#a4313ade00be58e197e9c0f4a109eadac"/>
221221
<a href="namespacem__constants.html#a4363660e82e633cc1947ab968706b26b"/>
222-
<a href="namespacem__constants.html#a4719593ac4c8aa6382476232d2b20614"/>
223222
<a href="namespacem__constants.html#a4c99efbd203bdb40fd371b3de9410393"/>
224223
<a href="namespacem__constants.html#a519657d0f4b6e1301eedfbd71926c5cc"/>
225224
<a href="namespacem__constants.html#a53cf8dfd06fcfa36c018ab624ef988b6"/>
@@ -243,7 +242,6 @@
243242
<a href="namespacem__constants.html#a780f498b501ce87bb36fa0a33fce28c5"/>
244243
<a href="namespacem__constants.html#a78c3f6cc5d1faa23da2ff4283e31fe4a"/>
245244
<a href="namespacem__constants.html#a78dc466963174e056c559059e09704cc"/>
246-
<a href="namespacem__constants.html#a79603a708c77a92718374da11a4dc299"/>
247245
<a href="namespacem__constants.html#a79dab2f2e7dd62e15f74542ae56a4b69"/>
248246
<a href="namespacem__constants.html#a7b2ce6f17af2af2e7e73d10c58f2b0e5"/>
249247
<a href="namespacem__constants.html#a80147c26022bec4383d74045e804ac0b"/>

post_process/m__boundary__common_8fpp_8f90_source.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4085,9 +4085,9 @@
40854085
<div class="ttc" id="anamespacem__delay__file__access_html"><div class="ttname"><a href="namespacem__delay__file__access.html">m_delay_file_access</a></div><div class="ttdoc">Rank-staggered file access delays to prevent I/O contention on parallel file systems.</div><div class="ttdef"><b>Definition</b> <a href="m__delay__file__access_8f90_source.html#l00006">m_delay_file_access.f90:6</a></div></div>
40864086
<div class="ttc" id="anamespacem__derived__types_html"><div class="ttname"><a href="namespacem__derived__types.html">m_derived_types</a></div><div class="ttdoc">Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures.</div><div class="ttdef"><b>Definition</b> <a href="m__derived__types_8fpp_8f90_source.html#l00317">m_derived_types.fpp.f90:317</a></div></div>
40874087
<div class="ttc" id="anamespacem__global__parameters_html"><div class="ttname"><a href="namespacem__global__parameters.html">m_global_parameters</a></div><div class="ttdoc">Global parameters for the post-process: domain geometry, equation of state, and output database setti...</div><div class="ttdef"><b>Definition</b> <a href="m__global__parameters_8fpp_8f90_source.html#l00019">m_global_parameters.fpp.f90:19</a></div></div>
4088-
<div class="ttc" id="anamespacem__global__parameters_html_a206f9fba2814a2fd594e9b884e183347"><div class="ttname"><a href="namespacem__global__parameters.html#a206f9fba2814a2fd594e9b884e183347">m_global_parameters::chemistry</a></div><div class="ttdeci">logical, parameter chemistry</div><div class="ttdoc">Chemistry modeling.</div><div class="ttdef"><b>Definition</b> <a href="m__global__parameters_8fpp_8f90_source.html#l00205">m_global_parameters.fpp.f90:205</a></div></div>
4089-
<div class="ttc" id="anamespacem__global__parameters_html_a496ef8774198893700cd0ecce1ef8611"><div class="ttname"><a href="namespacem__global__parameters.html#a496ef8774198893700cd0ecce1ef8611">m_global_parameters::bc_io</a></div><div class="ttdeci">logical bc_io</div><div class="ttdef"><b>Definition</b> <a href="m__global__parameters_8fpp_8f90_source.html#l00220">m_global_parameters.fpp.f90:220</a></div></div>
4090-
<div class="ttc" id="anamespacem__global__parameters_html_a4dac2e4ead915635e0c6c33af87be01b"><div class="ttname"><a href="namespacem__global__parameters.html#a4dac2e4ead915635e0c6c33af87be01b">m_global_parameters::sys_size</a></div><div class="ttdeci">integer sys_size</div><div class="ttdoc">Number of unknowns in the system of equations.</div><div class="ttdef"><b>Definition</b> <a href="m__global__parameters_8fpp_8f90_source.html#l00201">m_global_parameters.fpp.f90:201</a></div></div>
4088+
<div class="ttc" id="anamespacem__global__parameters_html_a206f9fba2814a2fd594e9b884e183347"><div class="ttname"><a href="namespacem__global__parameters.html#a206f9fba2814a2fd594e9b884e183347">m_global_parameters::chemistry</a></div><div class="ttdeci">logical, parameter chemistry</div><div class="ttdoc">Chemistry modeling.</div><div class="ttdef"><b>Definition</b> <a href="m__global__parameters_8fpp_8f90_source.html#l00208">m_global_parameters.fpp.f90:208</a></div></div>
4089+
<div class="ttc" id="anamespacem__global__parameters_html_a496ef8774198893700cd0ecce1ef8611"><div class="ttname"><a href="namespacem__global__parameters.html#a496ef8774198893700cd0ecce1ef8611">m_global_parameters::bc_io</a></div><div class="ttdeci">logical bc_io</div><div class="ttdef"><b>Definition</b> <a href="m__global__parameters_8fpp_8f90_source.html#l00223">m_global_parameters.fpp.f90:223</a></div></div>
4090+
<div class="ttc" id="anamespacem__global__parameters_html_a4dac2e4ead915635e0c6c33af87be01b"><div class="ttname"><a href="namespacem__global__parameters.html#a4dac2e4ead915635e0c6c33af87be01b">m_global_parameters::sys_size</a></div><div class="ttdeci">integer sys_size</div><div class="ttdoc">Number of unknowns in the system of equations.</div><div class="ttdef"><b>Definition</b> <a href="m__global__parameters_8fpp_8f90_source.html#l00204">m_global_parameters.fpp.f90:204</a></div></div>
40914091
<div class="ttc" id="anamespacem__mpi__proxy_html"><div class="ttname"><a href="namespacem__mpi__proxy.html">m_mpi_proxy</a></div><div class="ttdoc">MPI gather and scatter operations for distributing post-process grid and flow-variable data.</div><div class="ttdef"><b>Definition</b> <a href="m__mpi__proxy_8fpp_8f90_source.html#l00007">m_mpi_proxy.fpp.f90:7</a></div></div>
40924092
<div class="ttc" id="astructm__derived__types_1_1scalar__field_html"><div class="ttname"><a href="structm__derived__types_1_1scalar__field.html">m_derived_types::scalar_field</a></div><div class="ttdoc">Derived type annexing a scalar field (SF).</div><div class="ttdef"><b>Definition</b> <a href="m__derived__types_8fpp_8f90_source.html#l00331">m_derived_types.fpp.f90:331</a></div></div>
40934093
</div><!-- fragment --></div><!-- contents -->

0 commit comments

Comments
 (0)