The default energy inversion does not report iteration exhaustion
I maintainer di solito rispondono entro 1 giorno
@zhichen3 ci sta già lavorando.
Dal 7/9/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Suggested priority: Medium
Reviewed commit: 3ac0bda4f00da3eed0446beadfc1cd5c51b99a40
Affected code: nse_solver.H:449–452, nse_solver.H:507–516, nse_solver.H:539–561.
nse_T_from_e() stops after 100 iterations but returns void without checking converged after the loop. In the default nse.solve_nse_e_mode = 1, its caller proceeds to compute the NSE composition at the last temperature and returns it. It copies the requested energy into the result without verifying that the EOS energy at the returned temperature and composition matches it.
Impact: If the outer temperature solve exhausts its iterations while the inner composition solves succeed, the interface returns an unconverged thermodynamic state without an error indication.
Validation limit: Confirmed by control-flow inspection; the standard input converged, and no physical input reaching this exhaustion path was reproduced.
Suggested fix: Propagate a convergence status or raise the established solver error on exhaustion. Validate the final energy residual and add an exhaustion-path regression test.
Validation and regression coverage
This finding is based on inspection of the iteration limit, loop exit, and caller behavior at the reviewed commit. No executable reproduction of iteration exhaustion is claimed.
The existing unit_test/nse_net_cell test was built with ccache disabled and run with inputs_ase. It completed successfully and recovered the requested perturbed energy in both energy modes; it does not exercise this failure path. See captured cell-test output.
Validation used GNU C++20, double precision, CPU, no MPI/OpenMP, simplified SDC, the ase network, Helmholtz EOS, and Chabrier screening. AMReX revision: 3c3bbaa34cd3.
A regression test should force the outer temperature iteration to exhaust its budget while allowing the inner composition solves to succeed, then verify that the caller receives failure instead of a thermodynamic state reported as solved.
- Lingua principale
- C++
- Stelle
- 44
- Fork
- 47
- Merge medio
- 2g 20h
- PR unite (30g)
- 7
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di AMReX-Astro/Microphysics
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
AMReX-Astro/Microphysics#2104 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
ai-code-audit screening
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
AMReX-Astro/Microphysics#2097 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
ai-code-audit screening
Difficoltà 4/5 3-5 giorni Idoneità per principianti 72/100
AMReX-Astro/Microphysics#2096 ·
I maintainer di solito rispondono entro 1 giorno
-
ai-code-audit screening
Difficoltà 4/5 3-5 giorni Idoneità per principianti 66/100
AMReX-Astro/Microphysics#2095 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
ai-code-audit nse
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
AMReX-Astro/Microphysics#2075 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di AMReX-Astro/Microphysics
Issue simili
-
bug priority: low
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
chipsalliance/verible#2644 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
grafana/pyroscope-dotnet#470 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation P5 XS
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
open-astro/AlpacaBridge#1848 ·
I maintainer di solito rispondono entro 1 giorno
-
DiskANN AnnIterator returns unconverted IP distances after the graph walk runs out of candidatesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
zilliztech/knowhere#1933 ·
I maintainer di solito rispondono entro 1 giorno