NSE EOS Jacobians use cubic derivatives when linear interpolation is selected
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 74/100
Direzione di ricerca
Inizia in nse_tabular/nse_table.H negli intervalli interessati 429-440, 496-539 e 549-592, quindi segui i chiamanti in nse_tabular/nse_eos.H. Riproduci le derivate segnalate con i valori forniti di T, rho e Ye usando l'interpolazione lineare e verifica i controlli alle differenze finite sia nella modalità lineare sia in quella cubica, lontano dai confini delle celle.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Reviewed commit: 3ac0bda4f00da3eed0446beadfc1cd5c51b99a40
Suggested priority: Medium
Affected code: nse_tabular/nse_table.H:429-440, nse_tabular/nse_table.H:496-539, nse_tabular/nse_table.H:549-592; callers in nse_tabular/nse_eos.H.
Description
nse_interp() honors network.nse_table_interp_linear, but nse_interp_dT() and nse_interp_drho() always differentiate the cubic interpolant. The EOS inversion routines therefore use derivatives of a different composition function from the one used to evaluate their residuals.
Reproduction
Set linear interpolation and use T=5.18e9 K, rho=1.23e9 g/cm^3, Ye=0.472. Compare the returned abar derivatives to centered finite differences of nse_interp() with relative perturbation 1e-5:
| Derivative | Reported | Finite difference |
|---|---|---|
dabar/dT |
-1.072562604210832e-9 |
-1.097834698172967e-9 |
dabar/drho |
3.987522835638749e-10 |
4.095838820409504e-10 |
The discrepancies are approximately 2.3% and 2.6%. With cubic interpolation selected, the same check agrees closely.
Expected behavior / suggested fix
Differentiate the selected interpolant, or explicitly select matching value/derivative routines within the inversions. Add finite-difference checks in both modes, away from cell boundaries.
Impact and validation: An inconsistent Newton Jacobian can impair convergence. The derivative mismatch is reproduced; a linear-mode inversion failure is not claimed. See reproduction-output.txt
.
- Lingua principale
- C++
- Stelle
- 44
- Fork
- 47
- Merge medio
- 5g 5h
- PR unite (30g)
- 6
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
-
documentation enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
QuantStack/git2cpp#203 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
BaptisteHudyma/Lamp-Da#588 ·
I maintainer di solito rispondono entro 1 giorno
-
bug macOS networking
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
docling-project/docling-parse#448 ·
I maintainer di solito rispondono entro 5 giorni