|
23 | 23 | <meta property="og:url" content="https://mflowcode.github.io" /> |
24 | 24 | <meta property="og:type" content="website" /> |
25 | 25 | <meta name="twitter:card" content="summary_large_image" /> |
| 26 | + <script type="application/ld+json"> |
| 27 | + { |
| 28 | + "@context": "https://schema.org", |
| 29 | + "@type": "SoftwareSourceCode", |
| 30 | + "name": "MFC", |
| 31 | + "alternateName": "Multi-Component Flow Code", |
| 32 | + "description": "Open-source exascale multiphase flow solver. 2025 Gordon Bell Prize Finalist. Scales to 200+ trillion grid points on 43,000+ GPUs.", |
| 33 | + "url": "https://mflowcode.github.io", |
| 34 | + "license": "https://opensource.org/licenses/MIT", |
| 35 | + "programmingLanguage": ["Fortran", "Python"], |
| 36 | + "codeRepository": "https://github.com/MFlowCode/MFC", |
| 37 | + "author": { |
| 38 | + "@type": "Organization", |
| 39 | + "name": "MFlowCode", |
| 40 | + "url": "https://github.com/MFlowCode" |
| 41 | + }, |
| 42 | + "award": "2025 ACM Gordon Bell Prize Finalist" |
| 43 | + } |
| 44 | + </script> |
26 | 45 | <script src="https://cdn.tailwindcss.com"></script> |
27 | 46 | <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> |
28 | 47 | <link rel="icon" type="image/x-icon" href="res/icon.ico"> |
29 | 48 | <script> |
30 | 49 | const sims = [ |
31 | | - { name: "Viscous Taylor-Green vortex", image: "res/simulations/h.png", computer: "Delta", accelerators: "128 A100s", walltime: "17h", source: "https://www.youtube.com/watch?v=7i2h08dlDQw" }, |
32 | | - { name: "Shedding water droplet", image: "res/simulations/a.png", computer: "Summit", accelerators: "960 V100s", walltime: "4h", source: "https://www.youtube.com/watch?v=Gjj-qZkXcrg" }, |
33 | | - { name: "Flow over an airfoil (vorticity)", image: "res/simulations/g.png", computer: "Delta", accelerators: "128 A100s", walltime: "19h", source: "https://www.youtube.com/watch?v=FvAgnBW59cY" }, |
34 | | - { name: "Cavitation fragments kidney stone", image: "res/simulations/d.png", computer: "Summit", accelerators: "576 V100s", walltime: "30 min", source: "https://doi.org/10.48550/arXiv.2305.09163" }, |
35 | | - { name: "Breakup of vibrated interface", image: "res/simulations/f.png", computer: "Summit", accelerators: "128 V100s", walltime: "4h", source: "https://www.youtube.com/watch?v=XQ3g1oSg8mc" }, |
36 | | - { name: "Mach 2 flow over a sphere", image: "res/simulations/i.png", computer: "Phoenix", accelerators: "36 V100s", walltime: "30m", source: "https://www.youtube.com/watch?v=HQGSUvYEGqM" }, |
37 | | - { name: "Mach 2 shear layer", image: "res/simulations/j.png", computer: "Phoenix", accelerators: "32 V100s", walltime: "15m", source: "https://www.youtube.com/watch?v=GtcdCHLmJO8" }, |
38 | | - { name: "Collapsing bubbles (pressure)", image: "res/simulations/b.png", computer: "Summit", accelerators: "216 V100s", walltime: "3h", source: "https://doi.org/10.48550/arXiv.2305.09163" }, |
39 | | - { name: "Collapsing bubbles (streamlines)", image: "res/simulations/c.png", computer: "Summit", accelerators: "216 V100s", walltime: "3h", source: "https://doi.org/10.48550/arXiv.2305.09163" }, |
| 50 | + // Rockets & jets |
| 51 | + { name: "Mach 12 Starship Super Heavy", image: "res/simulations/o.png", computer: "Alps", computerUrl: "https://www.cscs.ch/computers/alps/", accelerators: "5K GH200s", walltime: "18h", source: "https://www.youtube.com/watch?v=NSn3OVF8N4I" }, |
| 52 | + { name: "Mach 10 triple jet booster", image: "res/simulations/n.png", computer: "Frontier", computerUrl: "https://www.olcf.ornl.gov/frontier/", accelerators: "10K GCDs", walltime: "12h", source: "https://www.youtube.com/watch?v=pMUl55xqGgM" }, |
| 53 | + { name: "Mach 2 flow over a sphere", image: "res/simulations/i.png", computer: "Phoenix", computerUrl: "https://www.pace.gatech.edu/", accelerators: "36 V100s", walltime: "30m", source: "https://www.youtube.com/watch?v=HQGSUvYEGqM" }, |
| 54 | + { name: "Mach 2 shear layer", image: "res/simulations/j.png", computer: "Phoenix", computerUrl: "https://www.pace.gatech.edu/", accelerators: "32 V100s", walltime: "15m", source: "https://www.youtube.com/watch?v=GtcdCHLmJO8" }, |
| 55 | + // Aerodynamics |
| 56 | + { name: "Flow over an airfoil (vorticity)", image: "res/simulations/g.png", computer: "Delta", computerUrl: "https://www.ncsa.illinois.edu/research/project-highlights/delta/", accelerators: "128 A100s", walltime: "19h", source: "https://www.youtube.com/watch?v=FvAgnBW59cY" }, |
| 57 | + { name: "Pitching airfoil (3D)", image: "res/simulations/m.png", computer: "Phoenix", computerUrl: "https://www.pace.gatech.edu/", accelerators: "1 A100", walltime: "5h", source: "https://www.youtube.com/watch?v=2XH-9MumDHU" }, |
| 58 | + // Shock-droplet |
| 59 | + { name: "Shedding water droplet", image: "res/simulations/a.png", computer: "Summit", computerUrl: "https://www.olcf.ornl.gov/summit/", accelerators: "960 V100s", walltime: "4h", source: "https://www.youtube.com/watch?v=Gjj-qZkXcrg" }, |
| 60 | + // Biomedical & acoustics |
| 61 | + { name: "Burstwave lithotripsy", image: "res/simulations/k.png", computer: "Delta", computerUrl: "https://www.ncsa.illinois.edu/research/project-highlights/delta/", accelerators: "128 A100s", walltime: "30m", source: "https://www.youtube.com/watch?v=XWsUTaJXGF8" }, |
| 62 | + { name: "Cavitation fragments kidney stone", image: "res/simulations/d.png", computer: "Summit", computerUrl: "https://www.olcf.ornl.gov/summit/", accelerators: "576 V100s", walltime: "30m", source: "https://doi.org/10.48550/arXiv.2305.09163" }, |
| 63 | + { name: "Kidney stone stress waves", image: "res/simulations/l.png", computer: "Bridges2", computerUrl: "https://www.psc.edu/resources/bridges-2/", accelerators: "8 V100s", walltime: "20m", source: "https://www.youtube.com/watch?v=Q2L0J68qnRw" }, |
| 64 | + { name: "Whale bubble net feeding", image: "res/simulations/p.png", computer: "Delta", computerUrl: "https://www.ncsa.illinois.edu/research/project-highlights/delta/", accelerators: "128 A100s", walltime: "30m", source: "https://www.youtube.com/watch?v=6EpP6tdCZSA" }, |
| 65 | + { name: "Earplug acoustics (kinetic energy)", image: "res/simulations/q.png", computer: "Delta", computerUrl: "https://www.ncsa.illinois.edu/research/project-highlights/delta/", accelerators: "8 A100s", walltime: "5h", source: "https://www.youtube.com/watch?v=xSW5wZkdbrc" }, |
| 66 | + { name: "Circular orifice (1 kHz)", image: "res/simulations/r.png", computer: "Delta", computerUrl: "https://www.ncsa.illinois.edu/research/project-highlights/delta/", accelerators: "16 A100s", walltime: "5h", source: "https://www.youtube.com/watch?v=jOhJ_c7eco4" }, |
| 67 | + // Bubble dynamics |
| 68 | + { name: "Collapsing bubbles (pressure)", image: "res/simulations/b.png", computer: "Summit", computerUrl: "https://www.olcf.ornl.gov/summit/", accelerators: "216 V100s", walltime: "3h", source: "https://doi.org/10.48550/arXiv.2305.09163" }, |
| 69 | + { name: "Collapsing bubbles (streamlines)", image: "res/simulations/c.png", computer: "Summit", computerUrl: "https://www.olcf.ornl.gov/summit/", accelerators: "216 V100s", walltime: "3h", source: "https://doi.org/10.48550/arXiv.2305.09163" }, |
| 70 | + { name: "Euler-Lagrange particle cloud", image: "res/simulations/s.png", computer: "Phoenix", computerUrl: "https://www.pace.gatech.edu/", accelerators: "8 A100s", walltime: "<1h", source: "https://www.youtube.com/watch?v=RoT-yC5Lxmg" }, |
| 71 | + // Fundamentals |
| 72 | + { name: "Breakup of vibrated interface", image: "res/simulations/f.png", computer: "Summit", computerUrl: "https://www.olcf.ornl.gov/summit/", accelerators: "128 V100s", walltime: "4h", source: "https://www.youtube.com/watch?v=XQ3g1oSg8mc" }, |
| 73 | + { name: "Viscous Taylor-Green vortex", image: "res/simulations/h.png", computer: "Delta", computerUrl: "https://www.ncsa.illinois.edu/research/project-highlights/delta/", accelerators: "128 A100s", walltime: "17h", source: "https://www.youtube.com/watch?v=7i2h08dlDQw" }, |
40 | 74 | ]; |
41 | 75 |
|
42 | 76 | const scalings = [ |
|
54 | 88 | <img class="h-10" src="res/logo.png" alt=""> |
55 | 89 | </div> |
56 | 90 | <div class="flex-1 p-2 font-semibold text-center">${s.name}</div> |
57 | | - <a class="w-10 text-center" href="${s.source}"> |
58 | | - <i class="fa-solid fa-arrow-up-right-from-square"></i> |
| 91 | + <a class="w-10 text-center text-xl" href="${s.source}" target="_blank"> |
| 92 | + <i class="${s.source.includes('youtube.com') ? 'fa-brands fa-youtube' : 'fa-solid fa-arrow-up-right-from-square'}"></i> |
59 | 93 | </a> |
60 | 94 | </div> |
61 | 95 | <div class="grid grid-cols-3 gap-4 px-4 py-2"> |
62 | 96 | <div class="flex flex-row items-center"> |
63 | 97 | <div class="pr-2"><i class="fa-solid fa-server"></i></div> |
64 | | - <div class="flex-1 text-center">${s.computer}</div> |
| 98 | + <div class="flex-1 text-center">${s.computerUrl ? `<a href="${s.computerUrl}" class="underline hover:text-amber-400" target="_blank">${s.computer}</a>` : s.computer}</div> |
65 | 99 | </div> |
66 | 100 | <div class="flex flex-row items-center"> |
67 | 101 | <div class="pr-2"><i class="fa-solid fa-microchip"></i></div> |
|
76 | 110 | `).join(""); |
77 | 111 |
|
78 | 112 | document.getElementById("ft-scaling").innerHTML = scalings.map(s => ` |
79 | | - <div class="flex md:w-2/6 mx-auto flex-col text-white rounded bg-slate-900 rounded-b-lg"> |
| 113 | + <a href="documentation/expectedPerformance.html" class="flex md:w-2/6 mx-auto flex-col text-white rounded bg-slate-900 rounded-b-lg hover:ring-2 hover:ring-amber-400 transition-shadow no-underline"> |
80 | 114 | <div class="flex-1 grid bg-white pb-2"> |
81 | 115 | <img class="place-self-center" src="${s.image}" alt="${s.label}"> |
82 | 116 | </div> |
83 | 117 | <div class="flex-1 p-2 font-semibold text-center">${s.label}</div> |
84 | | - </div> |
| 118 | + </a> |
85 | 119 | `).join(""); |
86 | 120 |
|
87 | 121 | fetch("https://api.github.com/repos/MFlowCode/MFC/releases/latest") |
|
0 commit comments