Skip to content

Commit 214f42b

Browse files
author
MFC Action
committed
Docs @ e2ceaf5
1 parent 278ad76 commit 214f42b

File tree

400 files changed

+3117
-3329
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

400 files changed

+3117
-3329
lines changed

documentation/doxygen_crawl.html

Lines changed: 36 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -83,46 +83,53 @@
8383
<a href="md_examples.html#autotoc_md67"/>
8484
<a href="md_examples.html#autotoc_md68"/>
8585
<a href="md_examples.html#autotoc_md69"/>
86+
<a href="md_examples.html#autotoc_md70"/>
87+
<a href="md_examples.html#autotoc_md71"/>
88+
<a href="md_examples.html#autotoc_md72"/>
89+
<a href="md_examples.html#autotoc_md73"/>
90+
<a href="md_examples.html#autotoc_md74"/>
91+
<a href="md_examples.html#autotoc_md75"/>
92+
<a href="md_examples.html#autotoc_md76"/>
8693
<a href="md_expectedPerformance.html"/>
87-
<a href="md_expectedPerformance.html#autotoc_md71"/>
88-
<a href="md_expectedPerformance.html#autotoc_md72"/>
89-
<a href="md_expectedPerformance.html#autotoc_md73"/>
90-
<a href="md_expectedPerformance.html#autotoc_md74"/>
91-
<a href="md_expectedPerformance.html#autotoc_md75"/>
92-
<a href="md_expectedPerformance.html#autotoc_md76"/>
93-
<a href="md_expectedPerformance.html#autotoc_md77"/>
9494
<a href="md_expectedPerformance.html#autotoc_md78"/>
9595
<a href="md_expectedPerformance.html#autotoc_md79"/>
9696
<a href="md_expectedPerformance.html#autotoc_md80"/>
97+
<a href="md_expectedPerformance.html#autotoc_md81"/>
98+
<a href="md_expectedPerformance.html#autotoc_md82"/>
99+
<a href="md_expectedPerformance.html#autotoc_md83"/>
100+
<a href="md_expectedPerformance.html#autotoc_md84"/>
101+
<a href="md_expectedPerformance.html#autotoc_md85"/>
102+
<a href="md_expectedPerformance.html#autotoc_md86"/>
103+
<a href="md_expectedPerformance.html#autotoc_md87"/>
97104
<a href="md_getting-started.html"/>
98-
<a href="md_getting-started.html#autotoc_md82"/>
99-
<a href="md_getting-started.html#autotoc_md83"/>
100-
<a href="md_getting-started.html#autotoc_md84"/>
101-
<a href="md_getting-started.html#autotoc_md85"/>
102-
<a href="md_getting-started.html#autotoc_md86"/>
105+
<a href="md_getting-started.html#autotoc_md89"/>
106+
<a href="md_getting-started.html#autotoc_md90"/>
107+
<a href="md_getting-started.html#autotoc_md91"/>
108+
<a href="md_getting-started.html#autotoc_md92"/>
109+
<a href="md_getting-started.html#autotoc_md93"/>
103110
<a href="md_papers.html"/>
104111
<a href="md_readme.html"/>
105-
<a href="md_readme.html#autotoc_md89"/>
106-
<a href="md_readme.html#autotoc_md90"/>
112+
<a href="md_readme.html#autotoc_md96"/>
113+
<a href="md_readme.html#autotoc_md97"/>
107114
<a href="md_references.html"/>
108115
<a href="md_running.html"/>
109-
<a href="md_running.html#autotoc_md93"/>
110-
<a href="md_running.html#autotoc_md94"/>
111-
<a href="md_running.html#autotoc_md95"/>
112-
<a href="md_running.html#autotoc_md96"/>
113-
<a href="md_running.html#autotoc_md97"/>
114-
<a href="md_running.html#autotoc_md98"/>
115-
<a href="md_running.html#autotoc_md99"/>
116+
<a href="md_running.html#autotoc_md100"/>
117+
<a href="md_running.html#autotoc_md101"/>
118+
<a href="md_running.html#autotoc_md102"/>
119+
<a href="md_running.html#autotoc_md103"/>
120+
<a href="md_running.html#autotoc_md104"/>
121+
<a href="md_running.html#autotoc_md105"/>
122+
<a href="md_running.html#autotoc_md106"/>
116123
<a href="md_testing.html"/>
117-
<a href="md_testing.html#autotoc_md101"/>
118-
<a href="md_testing.html#autotoc_md102"/>
124+
<a href="md_testing.html#autotoc_md108"/>
125+
<a href="md_testing.html#autotoc_md109"/>
119126
<a href="md_visualization.html"/>
120-
<a href="md_visualization.html#autotoc_md104"/>
121-
<a href="md_visualization.html#autotoc_md105"/>
122-
<a href="md_visualization.html#autotoc_md106"/>
123-
<a href="md_visualization.html#autotoc_md107"/>
124-
<a href="md_visualization.html#autotoc_md108"/>
125-
<a href="md_visualization.html#autotoc_md109"/>
127+
<a href="md_visualization.html#autotoc_md111"/>
128+
<a href="md_visualization.html#autotoc_md112"/>
129+
<a href="md_visualization.html#autotoc_md113"/>
130+
<a href="md_visualization.html#autotoc_md114"/>
131+
<a href="md_visualization.html#autotoc_md115"/>
132+
<a href="md_visualization.html#autotoc_md116"/>
126133
<a href="pages.html"/>
127134
</body>
128135
</html>
58.2 KB
Loading
48.5 KB
Loading

documentation/md_case.html

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,19 +155,21 @@ <h1><a class="anchor" id="autotoc_md2"></a>
155155
<h1><a class="anchor" id="autotoc_md3"></a>
156156
(Optional) Accepting command line arguments</h1>
157157
<p>Input files can accept command line arguments, forwarded by <code>mfc.sh run</code>. Consider this example from the <code>scaling</code> case:</p>
158-
<div class="fragment"><div class="line"><span class="keyword">import</span> argparse</div>
158+
<div class="fragment"><div class="line"><span class="keyword">import</span> json, argparse</div>
159159
<div class="line"> </div>
160160
<div class="line">parser = argparse.ArgumentParser(</div>
161161
<div class="line"> prog=<span class="stringliteral">&quot;scaling&quot;</span>,</div>
162162
<div class="line"> description=<span class="stringliteral">&quot;Weak- and strong-scaling benchmark case.&quot;</span>,</div>
163163
<div class="line"> formatter_class=argparse.ArgumentDefaultsHelpFormatter)</div>
164164
<div class="line"> </div>
165-
<div class="line">parser.add_argument(<span class="stringliteral">&quot;dict&quot;</span>, type=str, metavar=<span class="stringliteral">&quot;DICT&quot;</span>)</div>
166-
<div class="line">parser.add_argument(<span class="stringliteral">&quot;-s&quot;</span>, <span class="stringliteral">&quot;--scaling&quot;</span>, type=str, metavar=<span class="stringliteral">&quot;SCALING&quot;</span>, choices=[<span class="stringliteral">&quot;weak&quot;</span>, <span class="stringliteral">&quot;strong&quot;</span>], help=<span class="stringliteral">&quot;Whether weak- or strong-scaling is being exercised.&quot;</span>)</div>
165+
<div class="line">parser.add_argument(<span class="stringliteral">&quot;--mfc&quot;</span>, type=json.loads, default=<span class="stringliteral">&#39;{}&#39;</span>, metavar=<span class="stringliteral">&quot;DICT&quot;</span>,</div>
166+
<div class="line"> help=<span class="stringliteral">&quot;MFC&#39;s toolchain&#39;s internal state.&quot;</span>)</div>
167+
<div class="line">parser.add_argument(<span class="stringliteral">&quot;-s&quot;</span>, <span class="stringliteral">&quot;--scaling&quot;</span>, type=str, metavar=<span class="stringliteral">&quot;SCALING&quot;</span>, choices=[<span class="stringliteral">&quot;weak&quot;</span>, <span class="stringliteral">&quot;strong&quot;</span>],</div>
168+
<div class="line"> help=<span class="stringliteral">&quot;Whether weak- or strong-scaling is being exercised.&quot;</span>)</div>
167169
<div class="line"> </div>
168170
<div class="line"><span class="comment"># Your parsed arguments are here</span></div>
169171
<div class="line">args = parser.parse_args()</div>
170-
</div><!-- fragment --><p>The first argument is always a JSON string representing <code>mfc.sh run</code>'s internal state. It contains all the runtime information you might want from the build/run system. You can add as many additional arguments as you may need.</p>
172+
</div><!-- fragment --><p>The <code>--mfc</code> argument is a JSON string representing <code>mfc.sh run</code>'s internal state, passed in when MFC runs your input file. It contains all the runtime information you might want from the build/run system. You can add as many additional arguments and options as you may need.</p>
171173
<p>To run such a case, use the following format:</p>
172174
<div class="fragment"><div class="line">./mfc.sh run &lt;path/to/case.py&gt; &lt;mfc.sh run arguments&gt; -- &lt;case arguments&gt;</div>
173175
</div><!-- fragment --><p>For example, to run the <code>scaling</code> case in "weak-scaling" mode:</p>

documentation/md_examples.html

Lines changed: 65 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -201,117 +201,157 @@ <h2><a class="anchor" id="autotoc_md43"></a>
201201
Final Condition</h2>
202202
<p>This figure shows the isosurface with zero q-criterion. <img src="result-3D_TaylorGreenVortex-example.png" alt="" class="inline" title="Density"/> </p>
203203
<h1><a class="anchor" id="autotoc_md44"></a>
204+
1D Multi-Component Inert Shock Tube</h1>
205+
<p>References: </p><blockquote class="doxtable">
206+
<p>&zwj;P. J. Martínez Ferrer, R. Buttay, G. Lehnasch, and A. Mura, “A detailed verification procedure for compressible reactive multicomponent Navier–Stokes solvers”, Comput. &amp; Fluids, vol. 89, pp. 88–110, Jan. 2014. Accessed: Oct. 13, 2024. [Online]. Available: <a href="https://doi.org/10.1016/j.compfluid.2013.10.014">https://doi.org/10.1016/j.compfluid.2013.10.014</a> </p>
207+
</blockquote>
208+
<h2><a class="anchor" id="autotoc_md45"></a>
209+
Initial Condition</h2>
210+
<div class="image">
211+
<img src="initial-1D_inert_shocktube-example.png" alt=""/>
212+
<div class="caption">
213+
Initial Condition</div></div>
214+
<h2><a class="anchor" id="autotoc_md46"></a>
215+
Results</h2>
216+
<p><img src="result-1D_inert_shocktube-example.png" alt="" class="inline" title="Results"/> </p>
217+
<h1><a class="anchor" id="autotoc_md47"></a>
204218
Titarev-Toro problem (1D)</h1>
205219
<p>Reference: V. A. Titarev, E. F. Toro, Finite-volume WENO schemes for three-dimensional conservation laws, Journal of Computational Physics 201 (1) (2004) 238–260.</p>
206-
<h2><a class="anchor" id="autotoc_md45"></a>
220+
<h2><a class="anchor" id="autotoc_md48"></a>
207221
Initial Condition</h2>
208222
<div class="image">
209223
<img src="initial-1D_titarevtorro-example.png" alt=""/>
210224
<div class="caption">
211225
Initial Condition</div></div>
212-
<h2><a class="anchor" id="autotoc_md46"></a>
226+
<h2><a class="anchor" id="autotoc_md49"></a>
213227
Result</h2>
214228
<div class="image">
215229
<img src="result-1D_titarevtorro-example.png" alt=""/>
216230
<div class="caption">
217231
Result</div></div>
218-
<h1><a class="anchor" id="autotoc_md47"></a>
232+
<h1><a class="anchor" id="autotoc_md50"></a>
219233
Strong- &amp; Weak-scaling</h1>
220234
<p>The <a href="case.py"><b>Scaling</b></a> case can exercise both weak- and strong-scaling. It adjusts itself depending on the number of requested ranks.</p>
221235
<p>This directory also contains a collection of scripts used to test strong-scaling on OLCF Frontier. They required modifying MFC to collect some metrics but are meant to serve as a reference to users wishing to run similar experiments.</p>
222-
<h2><a class="anchor" id="autotoc_md48"></a>
236+
<h2><a class="anchor" id="autotoc_md51"></a>
223237
Weak Scaling</h2>
224238
<p>Pass <code>--scaling weak</code>. The <code>--memory</code> option controls (approximately) how much memory each rank should use, in Gigabytes. The number of cells in each dimension is then adjusted according to the number of requested ranks and an approximation for the relation between cell count and memory usage. The problem size increases linearly with the number of ranks.</p>
225-
<h2><a class="anchor" id="autotoc_md49"></a>
239+
<h2><a class="anchor" id="autotoc_md52"></a>
226240
Strong Scaling</h2>
227241
<p>Pass <code>--scaling strong</code>. The <code>--memory</code> option controls (approximately) how much memory should be used in total during simulation, across all ranks, in Gigabytes. The problem size remains constant as the number of ranks increases.</p>
228-
<h2><a class="anchor" id="autotoc_md50"></a>
242+
<h2><a class="anchor" id="autotoc_md53"></a>
229243
Example</h2>
230244
<p>For example, to run a weak-scaling test that uses ~4GB of GPU memory per rank on 8 2-rank nodes with case optimization, one could:</p>
231245
<div class="fragment"><div class="line">./mfc.sh run examples/scaling/case.py -t pre_process simulation \</div>
232246
<div class="line"> -e batch -p mypartition -N 8 -n 2 -w &quot;01:00:00&quot; -# &quot;MFC Weak Scaling&quot; \</div>
233247
<div class="line"> --case-optimization -j 32 -- --scaling weak --memory 4</div>
234-
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md51"></a>
248+
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md54"></a>
235249
2D Riemann Test (2D)</h1>
236250
<p>Reference: Chamarthi, A., &amp; Hoffmann, N., &amp; Nishikawa, H., &amp; Frankel S. (2023). Implicit gradients based conservative numerical scheme for compressible flows. arXiv:2110.05461</p>
237-
<h2><a class="anchor" id="autotoc_md52"></a>
251+
<h2><a class="anchor" id="autotoc_md55"></a>
238252
Density Initial Condition</h2>
239253
<div class="image">
240254
<img src="alpha_rho1_initial-2D_riemann_test-example.png" alt=""/>
241255
<div class="caption">
242256
Density</div></div>
243-
<h2><a class="anchor" id="autotoc_md53"></a>
257+
<h2><a class="anchor" id="autotoc_md56"></a>
244258
Density Final Condition</h2>
245259
<div class="image">
246260
<img src="alpha_rho1_final-2D_riemann_test-example.png" alt=""/>
247261
<div class="caption">
248262
Density Norms</div></div>
249-
<h1><a class="anchor" id="autotoc_md54"></a>
263+
<h1><a class="anchor" id="autotoc_md57"></a>
250264
IBM Bow Shock (3D)</h1>
251-
<h2><a class="anchor" id="autotoc_md55"></a>
265+
<h2><a class="anchor" id="autotoc_md58"></a>
252266
Final Condition</h2>
253267
<div class="image">
254268
<img src="result-3D_ibm_bowshock-example.png" alt=""/>
255269
<div class="caption">
256270
Density</div></div>
257-
<h1><a class="anchor" id="autotoc_md56"></a>
271+
<h1><a class="anchor" id="autotoc_md59"></a>
258272
Rayleigh-Taylor Instability (3D)</h1>
259-
<h2><a class="anchor" id="autotoc_md57"></a>
273+
<h2><a class="anchor" id="autotoc_md60"></a>
260274
Final Condition</h2>
261275
<div class="image">
262276
<img src="final_condition-3D_rayleigh_taylor-example.png" alt=""/>
263277
<div class="caption">
264278
Final Condition</div></div>
265-
<h2><a class="anchor" id="autotoc_md58"></a>
279+
<h2><a class="anchor" id="autotoc_md61"></a>
266280
Centerline Velocities</h2>
267281
<div class="image">
268282
<img src="linear_theory-3D_rayleigh_taylor-example.png" alt=""/>
269283
<div class="caption">
270284
Linear Theory Comparison</div></div>
271-
<h1><a class="anchor" id="autotoc_md59"></a>
285+
<h1><a class="anchor" id="autotoc_md62"></a>
272286
2D IBM CFL dt (2D)</h1>
273-
<h2><a class="anchor" id="autotoc_md60"></a>
287+
<h2><a class="anchor" id="autotoc_md63"></a>
274288
Result</h2>
275289
<div class="image">
276290
<img src="result-2D_ibm_cfl_dt-example.png" alt=""/>
277291
<div class="caption">
278292
Result</div></div>
279-
<h1><a class="anchor" id="autotoc_md61"></a>
293+
<h1><a class="anchor" id="autotoc_md64"></a>
294+
Perfectly Stirred Reactor</h1>
295+
<p>Reference: G. B. Skinner and G. H. Ringrose, “Ignition Delays of a Hydrogen—Oxygen—Argon Mixture at Relatively Low Temperatures”, J. Chem. Phys., vol. 42, no. 6, pp. 2190–2192, Mar. 1965. Accessed: Oct. 13, 2024. [Online]. Available: <a href="https://doi.org/10.1063/1.1696266">https://doi.org/10.1063/1.1696266</a>.</p>
296+
<div class="fragment"><div class="line">$ python3 analyze.py</div>
297+
<div class="line">Induction Times ([OH] &gt;= 1e-6):</div>
298+
<div class="line"> + Skinner et al.: 5.200e-05 s</div>
299+
<div class="line"> + Cantera: 5.130e-05 s</div>
300+
<div class="line"> + (Che)MFC: 5.130e-05 s</div>
301+
</div><!-- fragment --><p><img src="result-nD_perfect_reactor-example.png" alt="" class="inline" title="Result"/> </p>
302+
<h1><a class="anchor" id="autotoc_md65"></a>
280303
2D Hardcodied IC Example</h1>
281-
<h2><a class="anchor" id="autotoc_md62"></a>
304+
<h2><a class="anchor" id="autotoc_md66"></a>
282305
Initial Condition</h2>
283306
<div class="image">
284307
<img src="initial-2D_hardcodied_ic-example.png" alt=""/>
285308
<div class="caption">
286309
Initial Condition</div></div>
287-
<h2><a class="anchor" id="autotoc_md63"></a>
310+
<h2><a class="anchor" id="autotoc_md67"></a>
288311
Result</h2>
289312
<p><img src="result-2D_hardcodied_ic-example.png" alt="" class="inline" title="Result"/> </p>
290-
<h1><a class="anchor" id="autotoc_md64"></a>
313+
<h1><a class="anchor" id="autotoc_md68"></a>
314+
1D Multi-Component Reactive Shock Tube</h1>
315+
<p>References: </p><blockquote class="doxtable">
316+
<p>&zwj;P. J. Martínez Ferrer, R. Buttay, G. Lehnasch, and A. Mura, “A detailed verification procedure for compressible reactive multicomponent Navier–Stokes solvers”, Comput. &amp; Fluids, vol. 89, pp. 88–110, Jan. 2014. Accessed: Oct. 13, 2024. [Online]. Available: <a href="https://doi.org/10.1016/j.compfluid.2013.10.014">https://doi.org/10.1016/j.compfluid.2013.10.014</a> </p>
317+
</blockquote>
318+
<blockquote class="doxtable">
319+
<p>&zwj;H. Chen, C. Si, Y. Wu, H. Hu, and Y. Zhu, “Numerical investigation of the effect of equivalence ratio on the propagation characteristics and performance of rotating detonation engine”, Int. J. Hydrogen Energy, Mar. 2023. Accessed: Oct. 13, 2024. [Online]. Available: <a href="https://doi.org/10.1016/j.ijhydene.2023.03.190">https://doi.org/10.1016/j.ijhydene.2023.03.190</a> </p>
320+
</blockquote>
321+
<h2><a class="anchor" id="autotoc_md69"></a>
322+
Initial Condition</h2>
323+
<div class="image">
324+
<img src="initial-1D_reactive_shocktube-example.png" alt=""/>
325+
<div class="caption">
326+
Initial Condition</div></div>
327+
<h2><a class="anchor" id="autotoc_md70"></a>
328+
Results</h2>
329+
<p><img src="result-1D_reactive_shocktube-example.png" alt="" class="inline" title="Results"/> </p>
330+
<h1><a class="anchor" id="autotoc_md71"></a>
291331
Lax shock tube problem (1D)</h1>
292332
<p>Reference: P. D. Lax, Weak solutions of nonlinear hyperbolic equations and their numerical computation, Communications on pure and applied mathematics 7 (1) (1954) 159–193.</p>
293-
<h2><a class="anchor" id="autotoc_md65"></a>
333+
<h2><a class="anchor" id="autotoc_md72"></a>
294334
Initial Condition</h2>
295335
<div class="image">
296336
<img src="initial-1D_laxshocktube-example.png" alt=""/>
297337
<div class="caption">
298338
Initial Condition</div></div>
299-
<h2><a class="anchor" id="autotoc_md66"></a>
339+
<h2><a class="anchor" id="autotoc_md73"></a>
300340
Result</h2>
301341
<div class="image">
302342
<img src="result-1D_laxshocktube-example.png" alt=""/>
303343
<div class="caption">
304344
Result</div></div>
305-
<h1><a class="anchor" id="autotoc_md67"></a>
345+
<h1><a class="anchor" id="autotoc_md74"></a>
306346
Shock Droplet (2D)</h1>
307347
<p>Reference: Panchal et. al., A Seven-Equation Diffused Interface Method for Resolved Multiphase Flows, JCP, 475 (2023)</p>
308-
<h2><a class="anchor" id="autotoc_md68"></a>
348+
<h2><a class="anchor" id="autotoc_md75"></a>
309349
Initial Condition</h2>
310350
<div class="image">
311351
<img src="initial-2D_shockdroplet-example.png" alt=""/>
312352
<div class="caption">
313353
Initial Condition</div></div>
314-
<h2><a class="anchor" id="autotoc_md69"></a>
354+
<h2><a class="anchor" id="autotoc_md76"></a>
315355
Result</h2>
316356
<div class="image">
317357
<img src="result-2D_shockdroplet-example.png" alt=""/>

0 commit comments

Comments
 (0)