Skip to content

Commit 018ed07

Browse files
committed
paper
1 parent f85792b commit 018ed07

File tree

7 files changed

+108
-54
lines changed

7 files changed

+108
-54
lines changed

_data/news.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
- date: April 8, 2026
2+
headline: "New <a href='https://arxiv.org/abs/2604.06546' target='_blank' rel='noopener noreferrer'>preprint</a> on <i>shocks without shock capturing</i>, an IGR-based approach to compressible flows. Work by group Ph.D. students Anand Radhakrishnan and Benjamin Wilfong, in collaboration with <a href='https://f-t-s.github.io/' target='_blank'>Florian Schäfer</a> (Courant Institute)."
3+
14
- date: April 4, 2026
25
headline: "Our <a href='https://doi.org/10.2514/1.J066497' target='_blank' rel='noopener noreferrer'>paper</a> on the performance of sharply bent acoustic resonators at high sound levels is published in the <i>AIAA Journal</i>. Collaboration with K. Ahuja's group."
36

cv/build-cv.py

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
#!/usr/bin/env python3
2+
import csv
3+
import json
4+
import subprocess
5+
from pathlib import Path
6+
7+
REPOS = {
8+
"cpg": "comp-physics",
9+
"mfc": "mflowcode",
10+
"imr": "InertialMicrocavitationRheometry",
11+
}
12+
13+
IGNORE_NAMES = {
14+
".github",
15+
"comp-physics.github.io",
16+
"MFlowCode.github.io",
17+
"benchmark",
18+
"stats",
19+
}
20+
21+
FIELDNAMES = ["name", "description", "url"]
22+
23+
24+
def run(cmd):
25+
subprocess.run(cmd, check=True)
26+
27+
28+
def capture_json(cmd):
29+
result = subprocess.run(cmd, check=True, capture_output=True, text=True)
30+
return json.loads(result.stdout)
31+
32+
33+
def escape_latex(value):
34+
if value is None:
35+
return ""
36+
s = str(value)
37+
s = s.replace("_", r"\_")
38+
s = s.replace("@", "at")
39+
return s
40+
41+
42+
def write_csv_atomic(path: Path, rows, fieldnames):
43+
tmp_path = path.with_suffix(path.suffix + ".tmp")
44+
with tmp_path.open("w", newline="", encoding="utf-8") as f:
45+
writer = csv.DictWriter(f, fieldnames=fieldnames)
46+
writer.writeheader()
47+
for row in rows:
48+
writer.writerow(row)
49+
tmp_path.replace(path)
50+
51+
52+
def fetch_repos(org_name):
53+
return capture_json([
54+
"gh", "repo", "list", org_name,
55+
"--visibility", "public",
56+
"--source",
57+
"--json", "name,description,url",
58+
])
59+
60+
61+
def build_csv_rows(repos):
62+
repos = [repo for repo in repos if repo.get("name") not in IGNORE_NAMES]
63+
return [
64+
{key: escape_latex(repo.get(key, "")) for key in FIELDNAMES}
65+
for repo in repos
66+
]
67+
68+
69+
def csv_paths():
70+
return [Path(f"github-{group}.csv") for group in REPOS]
71+
72+
73+
def remove_csv_outputs():
74+
for path in csv_paths():
75+
path.unlink(missing_ok=True)
76+
77+
78+
def main():
79+
remove_csv_outputs()
80+
81+
try:
82+
for group, org in REPOS.items():
83+
repos = fetch_repos(org)
84+
rows = build_csv_rows(repos)
85+
write_csv_atomic(Path(f"github-{group}.csv"), rows, FIELDNAMES)
86+
87+
run(["latexmk", "-c", "cv.tex"])
88+
run(["latexmk", "-pdf", "cv.tex"])
89+
finally:
90+
remove_csv_outputs()
91+
92+
93+
if __name__ == "__main__":
94+
main()

cv/cv.pdf

163 Bytes
Binary file not shown.

cv/gen-cv.sh

Lines changed: 0 additions & 16 deletions
This file was deleted.

cv/parse.py

Lines changed: 0 additions & 38 deletions
This file was deleted.

cv/ref.bib

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
@unpublished{radhakrishnan26,
2+
Author = {A. Radhakrishnan and B. Wilfong and S. H. Bryngelson and F. Schäfer},
3+
Title = {Shocks without shock capturing: Information geometric regularization of finite volume methods for {N}avier-{S}tokes-like problems},
4+
note = {arXiv:2604.06546},
5+
file = {radhakrishnan-arxiv-26.pdf},
6+
arxiv = {arXiv.2604.06546},
7+
year = {2026},
8+
doi = {10.48550/arXiv.2604.06546},
9+
abstract = {Shock waves in high-speed fluid dynamics produce near-discontinuities in the fluid momentum, density, and energy. Most contemporary works use artificial viscosity or limiters as numerical mitigation of the Gibbs--Runge oscillations that result from traditional numerics. These approaches face a delicate balance in achieving sufficiently regular solutions without dissipating fine-scale features, such as turbulence or acoustics. Recent work by Cao and Schäfer introduces information geometric regularization (IGR), the first inviscid regularization method for fluid dynamics. IGR replaces shock singularities with smooth profiles of adjustable width, without dissipating fine-scale features. This work provides a strategy for the practical use of IGR in finite-volume-based numerical methods. We illustrate its performance on canonical test problems and compare it against established approaches based on limiters and Riemann solvers. Results show that the finite volume IGR approach recovers the expected solutions in all cases. Across canonical benchmarks, IGR achieves accuracy competitive with WENO and LAD shock-capturing schemes in both smooth and discontinuous flow regimes. The IGR approach is computationally light, with meaningfully fewer memory accesses and arithmetic operations per time step.},
10+
}
11+
112
@unpublished{yu252,
213
Author = {H. *Yu and T. *Chu and S. H. Bryngelson},
314
Title = {Energy dissipation mechanisms in an acoustically-driven slit},

papers/radhakrishnan-arxiv-26.pdf

8.97 MB
Binary file not shown.

0 commit comments

Comments
 (0)