Skip to content

Commit b4420d4

Browse files
committed
TL: since @pancetta continues to blindly trust AI ...
1 parent 21d0cc7 commit b4420d4

7 files changed

Lines changed: 82 additions & 53 deletions

File tree

_bibliography/pint.bib

Lines changed: 29 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7502,15 +7502,6 @@ @unpublished{YamaleevEtAl2024
75027502
year = {2024},
75037503
}
75047504

7505-
@unpublished{YangEtAl2024,
7506-
abstract = {Solving multiscale diffusion problems is often computationally expensive due to the spatial and temporal discretization challenges arising from high-contrast coefficients. To address this issue, a partially explicit temporal splitting scheme is proposed. By appropriately constructing multiscale spaces, the spatial multiscale property is effectively managed, and it has been demonstrated that the temporal step size is independent of the contrast. To enhance simulation speed, we propose a parallel algorithm for the multiscale flow problem that leverages the partially explicit temporal splitting scheme. The idea is first to evolve the partially explicit system using a coarse time step size, then correct the solution on each coarse time interval with a fine propagator, for which we consider both the sequential solver and all-at-once solver. This procedure is then performed iteratively till convergence. We analyze the stability and convergence of the proposed algorithm. The numerical experiments demonstrate that the proposed algorithm achieves high numerical accuracy for high-contrast problems and converges in a relatively small number of iterations. The number of iterations stays stable as the number of coarse intervals increases, thus significantly improving computational efficiency through parallel processing.},
7507-
author = {Zhengya Yang and Yating Wang and Wing Tat Leung},
7508-
howpublished = {arXiv:2411.09244v1 [math.NA]},
7509-
title = {Parallel in time partially explicit splitting scheme for high contrast multiscale problems},
7510-
url = {http://arxiv.org/abs/2411.09244v1},
7511-
year = {2024},
7512-
}
7513-
75147505
@article{YodaEtAl2024,
75157506
author = {Yoda, Ryo and Bolten, Matthias and Nakajima, Kengo and Fujii, Akihiro},
75167507
doi = {10.1007/s13160-024-00652-8},
@@ -7904,15 +7895,6 @@ @article{GattiglioEtAl2025b
79047895
year = {2025},
79057896
}
79067897

7907-
@unpublished{GengEtAl2025,
7908-
abstract = {While recent advances in deep learning have shown promising efficiency gains in solving time-dependent partial differential equations (PDEs), matching the accuracy of conventional numerical solvers still remains a challenge. One strategy to improve the accuracy of deep learning-based solutions for time-dependent PDEs is to use the learned solution as the coarse propagator in the Parareal method and a traditional numerical method as the fine solver. However, successful integration of deep learning into the Parareal method requires consistency between the coarse and fine solvers, particularly for PDEs exhibiting rapid changes such as sharp transitions. To ensure such consistency, we propose to use the convolutional neural networks (CNNs) to learn the fully discrete time-stepping operator defined by the traditional numerical scheme used as the fine solver. We demonstrate the effectiveness of the proposed method in solving the classical and mass-conservative Allen-Cahn (AC) equations. Through iterative updates in the Parareal algorithm, our approach achieves a significant computational speedup compared to traditional fine solvers while converging to high-accuracy solutions. Our results highlight that the proposed Parareal algorithm effectively accelerates simulations, particularly when implemented on multiple GPUs, and converges to the desired accuracy in only a few iterations. Another advantage of our method is that the CNNs model is trained on trajectories-based on random initial conditions, such that the trained model can be used to solve the AC equations with various initial conditions without re-training. This work demonstrates the potential of integrating neural network methods into the parallel-in-time frameworks for efficient and accurate simulations of time-dependent PDEs.},
7909-
author = {Yuwei Geng and Junqi Yin and Eric C. Cyr and Guannan Zhang and Lili Ju},
7910-
howpublished = {arXiv:2510.07672v1 [math.NA]},
7911-
title = {Parallel-in-Time Solution of Allen-Cahn Equations by Integrating Operator Learning into the Parareal Method},
7912-
url = {http://arxiv.org/abs/2510.07672v1},
7913-
year = {2025},
7914-
}
7915-
79167898
@unpublished{GriebelEtAl2025,
79177899
abstract = {In this article, we present a parallel discretization and solution method for parabolic problems with a higher number of space dimensions. It consists of a parallel-in-time approach using the multigrid reduction-in-time algorithm MGRIT with its implementation in the library XBraid, the sparse grid combination method for discretizing the resulting elliptic problems in space, and a domain decomposition method for each of the subproblems in the combination method based on the space-filling curve approach. As a result, we obtain an extremely fast and embarrassingly parallel solver with excellent speedup and scale-up qualities, which is perfectly suited for parabolic problems with up to six space dimensions. We describe our new parallel approach and show its superior parallelization properties for the heat equation, the chemical master equation and some exemplary stochastic differential equations.},
79187900
author = {Michael Griebel and Marc Alexander Schweitzer and Lukas Troska},
@@ -8644,6 +8626,20 @@ @unpublished{GaraiEtAl2026b
86448626
year = {2026},
86458627
}
86468628

8629+
@article{GengEtAl2026,
8630+
author = {Geng, Yuwei and Yin, Junqi and Cyr, Eric C. and Zhang, Guannan and Ju, Lili},
8631+
doi = {10.1007/s10915-026-03337-1},
8632+
issn = {1573-7691},
8633+
journal = {Journal of Scientific Computing},
8634+
month = {June },
8635+
number = {1},
8636+
publisher = {Springer Science and Business Media LLC},
8637+
title = {Parallel-in-Time Solution of Allen-Cahn Equations by Integrating Operator Learning into the Parareal Method},
8638+
url = {http://dx.doi.org/10.1007/s10915-026-03337-1},
8639+
volume = {108},
8640+
year = {2026},
8641+
}
8642+
86478643
@article{HahnEtAl2026,
86488644
author = {Hahn, Robert and Schöps, Sebastian},
86498645
doi = {10.1109/tmag.2026.3651851},
@@ -8888,6 +8884,21 @@ @article{WangEtAl2026d
88888884
year = {2026},
88898885
}
88908886

8887+
@article{WangEtAl2026e,
8888+
author = {Wang, Yating and Yang, Zhengya and Leung, Wing Tat},
8889+
doi = {10.1137/24m1699176},
8890+
issn = {1095-7197},
8891+
journal = {SIAM Journal on Scientific Computing},
8892+
month = {June},
8893+
number = {3},
8894+
pages = {A1462–A1484},
8895+
publisher = {Society for Industrial & Applied Mathematics (SIAM)},
8896+
title = {Parallel in Time Partially Explicit Splitting Scheme for High Contrast Linear Multiscale Diffusion Problems},
8897+
url = {http://dx.doi.org/10.1137/24m1699176},
8898+
volume = {48},
8899+
year = {2026},
8900+
}
8901+
88918902
@article{XuEtAl2026,
88928903
author = {Xu, Yufeng and Zhu, Ying and Kong, Desong and Zheng, Zhoushun},
88938904
doi = {10.1007/s10444-026-10286-8},

bin/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
test.sh

bin/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Script development guidelines
2+
3+
## Testing your changes
4+
5+
Before pushing you changes, create a `test.sh` file in this folder with this content :
6+
7+
```sh
8+
#!/bin/bash
9+
10+
BODY="" # -> put there the content of the issue
11+
12+
python $SCRIPT_NAME -b "${BODY}"
13+
```
14+
15+
- from github, copy-paste the issue body using the "..." icon and `Copy Markdown`
16+
- replace $SCRIPT_NAME by the script you want to test, like `issue_to_bibtex.py`, `arxiv_to_publications_correct.py`, ...
17+
18+
Then, check that the modification of the `_bibliography/pint.bib` file is correct.
19+
You can commit the changes on the `pint.bib` file (done now, no need to do it again), or reset those and trigger the scripts on Github using the label manipulation on the issue (check if the whole pipeline works well).

bin/arxiv_to_publications_correct.py

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,7 @@
88
from bibtexparser.bwriter import BibTexWriter
99
from requests.exceptions import RequestException
1010

11-
12-
def normalize_month_fields(bib):
13-
def replace_month(match):
14-
prefix, value = match.groups()
15-
value = unescape(value).strip()
16-
if value.startswith("{") and value.endswith("}"):
17-
return match.group(0)
18-
if value.startswith('"') and value.endswith('"'):
19-
value = value[1:-1].strip()
20-
value = value.strip("'\"{}")
21-
value = re.sub(r"[^A-Za-z]", "", value)
22-
return f"{prefix}{{{value}}},"
23-
24-
return re.sub(
25-
r"(^\s*month\s*=\s*)([^,\n]+)\s*,",
26-
replace_month,
27-
bib,
28-
flags=re.MULTILINE | re.IGNORECASE,
29-
)
30-
11+
from utils import fixBadBibFormat
3112

3213
def fetch_doi_content(url, accept_header, description):
3314
try:
@@ -104,7 +85,7 @@ def fetch_doi_content(url, accept_header, description):
10485
if id != id_db:
10586
print(f'Note: ID updated from {id_db} to {id} to reflect the publication year.')
10687
bib = "{".join([bType] + [','.join([id]+rest2)] + rest1[1:])
107-
bib = normalize_month_fields(bib)
88+
bib = fixBadBibFormat(bib)
10889
bib_db = bibtexparser.loads(bib)
10990
new_entries = bib_db.get_entry_list()
11091
if not new_entries:

bin/issue_to_bibtex.py

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,7 @@
1111
from bibtexparser.bibdatabase import BibDatabase
1212
from bibtexparser.bwriter import BibTexWriter
1313

14-
15-
def fixBadBibFormat(bibString):
16-
bibString = bibString.strip()
17-
assert bibString.startswith("@") and bibString.endswith("}"), \
18-
"bib entry should start with '@' and finish with '}', got :\n{bibString}"
19-
content = bibString[1:-1]
20-
fields = content.split(",")
21-
for i, field in enumerate(fields[1:]):
22-
item = field.split("=")
23-
if len(item) == 2 and "{" not in item[1]:
24-
item[1] = "{"+item[1]+"}"
25-
fields[i+1] = "=".join(item)
26-
return "@"+",".join(fields)+"}"
14+
from utils import fixBadBibFormat
2715

2816
try:
2917

bin/request.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

bin/utils.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
def fixBadBibFormat(bibString:str)->str:
2+
"""
3+
Fixes the formatting of a BibTeX entry string by ensuring all field values are enclosed in braces.
4+
5+
Parameters
6+
----------
7+
bibString : str
8+
The BibTeX entry string to be fixed. Must start with '@' and end with '}'.
9+
10+
Returns
11+
-------
12+
str
13+
The corrected BibTeX entry string with all field values enclosed in braces.
14+
15+
Raises
16+
------
17+
AssertionError
18+
If the input string does not start with '@' or does not end with '}'.
19+
"""
20+
bibString = bibString.strip()
21+
assert bibString.startswith("@") and bibString.endswith("}"), \
22+
"bib entry should start with '@' and finish with '}', got :\n{bibString}"
23+
content = bibString[1:-1]
24+
fields = content.split(",")
25+
for i, field in enumerate(fields[1:]):
26+
item = field.split("=")
27+
if len(item) == 2 and "{" not in item[1]:
28+
item[1] = "{"+item[1]+"}"
29+
fields[i+1] = "=".join(item)
30+
return "@"+",".join(fields)+"}"

0 commit comments

Comments
 (0)