-
Notifications
You must be signed in to change notification settings - Fork 277
Add fusion particle production diagnostic #6954
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
dpgrote
merged 110 commits into
BLAST-WarpX:development
from
dpgrote:add_fusion_particle_production_diagnostic
Aug 28, 2026
Merged
Changes from all commits
Commits
Show all changes
110 commits
Select commit
Hold shift + click to select a range
860b025
Implement particle production diagnostic for nuclear fusion collisions
dpgrote 200d9da
Add Source/Particles/Collision/CollisionFuncBase.H
dpgrote 1dba689
Add documentation
dpgrote 36922e4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] 82188e7
Turn on redistribute_on_remake so data is preserved after a load balance
dpgrote bebd4f1
Update CI test, fixing tolerance and updating test_3d_deuterium_triti…
dpgrote aea363d
Fix documentation for SingleNuclearFusionEvent
dpgrote 3f6bc69
Add virtual destructor to CollisionFuncBase.H
dpgrote ae3eb3f
Fix handling of i_cell method argument
dpgrote 01e17a1
Add default constructor and other things to CollisionFuncBase.H
dpgrote dc923bb
Implement checkpoint/restart
dpgrote 07202ae
Fix comments
dpgrote 94fc1ca
Fix comment
dpgrote 87ecf05
Fix documentation
dpgrote ea85d48
Fix Python interface for MF registry
dpgrote 5a2ec9c
Fix const
dpgrote 3eefd25
Add default values in alloc_init python interface
dpgrote f5b2d0b
For completeness, allow writing of any vector MFs to diagnostics
dpgrote 3c28739
Merge branch 'development' into add_fusion_particle_production_diagno…
dpgrote 5e74d70
Add writing for RZ
dpgrote 3e02d97
Implement diagnostic writing for any MultiFab vector component
dpgrote 9747969
Small const fix
dpgrote 6cefc1e
Add CI restart test
dpgrote bf9ed44
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] ffc3f1c
Merge branch 'development' into add_fusion_particle_production_diagno…
dpgrote 38d8f57
Fix dependency in nuclear_fusion/CMakeLists.txt
dpgrote 4e77182
Merge branch 'development' into add_fusion_particle_production_diagno…
dpgrote e8910c3
Fixes to CI test
dpgrote 0c68248
Merge branch 'development' into add_fusion_particle_production_diagno…
dpgrote e307818
Update CI benchmark for test_3d_deuterium_tritium_fusion
dpgrote 6c7bd15
Merge branch 'development' into add_fusion_particle_production_diagno…
dpgrote 11a8698
Update test_3d_deuterium_tritium_fusion CI test
dpgrote 34178ec
Refactor mass matrix application into ApplyMassMatrices (#7086)
RemiLehe 65592c0
Add user-defined warpx.self_fields_num_sweeps for MLMG (#6907)
oshapoval e4ed6a1
Add checkpoint_restart flag to MultiFab registry (#7023)
dpgrote 4b3bb02
Allow any MultiFab to be written to the diagnostics (#7025)
dpgrote 45f3fa9
Revert test_3d_deuterium_tritium_fusion.json
dpgrote 94ac9af
More fixes to benchmarks test_3d_deuterium_tritium_fusion and test_3d…
dpgrote 13eac1a
Merge branch 'development' into add_fusion_particle_production_diagno…
dpgrote 8ebef7b
Renamed CI test to inputs_test_3d_deuterium_tritium_fusion_rerun
dpgrote 9b8059d
Merge branch 'development' into add_fusion_particle_production_diagno…
dpgrote ccb5b66
Update Docs/source/usage/parameters.rst
dpgrote 5cbdaf0
Fix RZ/RCYLINDER DSMC ionization double velocity rotation and guard a…
roelof-groenewald 17d7305
Revert fix for NVHPC dependency error in CUDA CI pipeline (#7108)
EZoni 8b5d644
picmi: actually select the preconditioner passed to NewtonNonlinearSo…
clarkse-he ce0e316
Implement electron energy equation to the hybrid solver (#6982)
prkkumar-he a05c760
Docs: convert `GOVERNANCE.rst` to `GOVERNANCE.md` (#7115)
ax3l 95acefa
Fix Janssen 2016 entry in refs.bib (#7116)
eebasso 36bd5fe
RZ: conserve charge and current under binomial filtering (#7059)
clarkse-he 41bd3a4
Bug: `amrex::For` if indices are not independent (#7100)
ax3l edc4496
Hybrid-PIC: fix sticky m_substeps ratchet under RKF45 (#7091)
tomzhu0225 0719282
Docs: replace arrow vector notation `\vec` with `\boldsymbol` (#7073)
RemiLehe 647dec2
Background collisions: evaluate parsers at Cartesian coordinates (#7122)
RemiLehe 8cbfccf
Python: Improved `Config` (#7110)
ax3l 31ff56a
Bump github/codeql-action from 4 to 4.37.4 (#7125)
dependabot[bot] 88656a2
[pre-commit.ci] pre-commit autoupdate (#7127)
pre-commit-ci[bot] 3c53407
Config: Omit Versions (#7129)
ax3l c835a17
Release: WarpX 26.08 (#7119)
github-actions[bot] 6f484b8
ImplicitPushPX: Self-Assert Components (#7117)
ax3l 286df57
Replace `pml_edge_lengths` by `pml_eb_update_E` (#7076)
RemiLehe 6bf755e
Dependencies: weekly update (#7123)
github-actions[bot] 3598741
Add total luminosity to `DifferentialLuminosity` reduced diagnostics …
aeriforme c47fd1b
Reduce code duplication in hybrid-PIC Te calculation (#7140)
roelof-groenewald 31f13ee
clang-tidy CI test: bump clang version from 19 to 20 (#7137)
lucafedeli88 5febc7d
Shape factors cleanup: remove superfluous parenthesis, avoid unneeded…
RemiLehe 7595c99
Fix hybrid electron energy equation vacuum Te sink (#7128)
prkkumar-he da99db9
Python: Fix WarpX Singleton Lifetime and Leaking Statics (#7142)
ax3l 18b1f61
Fix temperature deposition in cylindrical coordinates (#7113)
tomzhu0225 b8ced11
Bump github/codeql-action from 4.37.4 to 4.37.6 (#7148)
dependabot[bot] 1ac9b99
Docs: Contributors can trigger GPU tests (#6949)
ax3l 6680a01
Docs: Restore `governance` Anchor Lost in Markdown Conversion (#7150)
ax3l afac7d7
Particle initialization: add option to read `u_mean`/`u_std` from an …
oshapoval d8b5f8a
Restrict subcycling to explicit electromagnetic solvers (#7147)
RemiLehe e374ea6
QEDInternals: use designated initializers (C++20) to clarify the init…
lucafedeli88 202b02a
Update guidance for tests in AGENTS.md (#7157)
RemiLehe 17bf853
Fix QDSMC radial volume weighting in RZ (#7130)
tomzhu0225 aa46063
Dependencies: weekly update (#7146)
github-actions[bot] 5962f9a
Fix uninitialized guard cells of the EB update flags (`m_eb_update_E`…
clarkse-he a8a6e4f
Fix non-docs CI filter for nested markdown/rst files (#7159)
EZoni 90be89b
Embedded-boundary thermal (diffuse) particle re-emission (#7008)
clarkse-he 91a946d
use max directional value of |vp|/dx when limiting time step by parti…
JustinRayAngus ba3fce5
Store and use per-mesh-refinement-level EB IndexSpace (#7034)
WeiqunZhang 65f06a7
BinaryCollision: stabilize TwoProductComputeProductMomenta in SINGLE …
EZoni 09b0a6b
Docs: clarify LinearSolver/LinearFunction operator interface (#7163)
RemiLehe 1f5dd8a
Add Macroscopic Property PICMI API (#7120)
pearlmam 49ea04e
Implement alternative shuffling methods for collisions (#6692)
dpgrote 04ae5c3
Fix staggered temperature moment normalization (#7162)
tomzhu0225 3939acb
Dependencies: weekly update (#7167)
github-actions[bot] 3448a63
Bump github/codeql-action from 4.37.6 to 4.37.7 (#7169)
dependabot[bot] 425b137
Clean up AddPlasmaFlux (#6908)
dpgrote 5b497ab
Add Groenewald (2026) to science highlights (#7175)
roelof-groenewald 5acbcb7
Python: Clear Input State in `warpx.finalize()` (#7143)
ax3l 64fd9cb
Add Darwin solver (#6293)
roelof-groenewald 12c50b8
PICMI: pass unrecognized field names through to the diagnostics (#7156)
n01r f24a858
ECT: use a named enumeration for the face info flags (#7172)
RemiLehe 744b742
Add EOL to benchmark JSON files written by update_benchmarks_from_azu…
dpgrote 0640089
Dependencies: weekly update (#7188)
github-actions[bot] eaa6f48
Darwin - use `galerkin` interpolation for ES part (#7082)
roelof-groenewald c0854b9
Bump github/codeql-action from 4.37.7 to 4.37.8 (#7190)
dependabot[bot] 2628cf8
Mass matrices: remove a spurious 1/gamma in prefactor (#7189)
RemiLehe 7499cab
Fix indexing relative to tiling
dpgrote 2236712
Fix threading issue when setting m_particle_production
dpgrote 8628687
Various fixes
dpgrote 60938e3
Merge branch 'development' into add_fusion_particle_production_diagno…
dpgrote 09a5b2c
Fix const
dpgrote 0695eb1
Merge branch 'development' into add_fusion_particle_production_diagno…
dpgrote b23e375
Fix Examples/Tests/nuclear_fusion/CMakeLists.txt
dpgrote ebf0dd3
use atOffset to calculate indices
dpgrote 332358e
Remove restart test - too complicated
dpgrote 332f55f
Remove unneeded benchmark file
dpgrote File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,24 +1,12 @@ | ||
| { | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Note, the only changes in this file are adding the |
||
| "lev=0": { | ||
| "rho": 0.0 | ||
| }, | ||
| "neutron_2": { | ||
| "particle_momentum_x": 1.5369063360838545e-15, | ||
| "particle_momentum_y": 1.5327717119671177e-15, | ||
| "particle_momentum_z": 1.5632203763888702e-15, | ||
| "particle_position_x": 136756.17264787608, | ||
| "particle_position_y": 136453.48037878488, | ||
| "particle_position_z": 290503.22456411575, | ||
| "particle_weight": 6.347081228434342e+18 | ||
| }, | ||
| "neutron_1": { | ||
| "particle_momentum_x": 1.7270063957926637e-15, | ||
| "particle_momentum_y": 1.7295255445271788e-15, | ||
| "particle_momentum_z": 1.7442619148907942e-15, | ||
| "particle_position_x": 151546.7150677448, | ||
| "particle_position_y": 151695.5086129642, | ||
| "particle_position_z": 323004.4593236664, | ||
| "particle_weight": 4.337788155202713e-28 | ||
| "deuterium_1": { | ||
| "particle_momentum_x": 0.0, | ||
| "particle_momentum_y": 0.0, | ||
| "particle_momentum_z": 2.8872569136407634e-13, | ||
| "particle_position_x": 40958427.50992301, | ||
| "particle_position_y": 40959476.34450768, | ||
| "particle_position_z": 81921930.27522022, | ||
| "particle_weight": 1024.0000000000002 | ||
| }, | ||
| "deuterium_2": { | ||
| "particle_momentum_x": 0.0, | ||
|
|
@@ -29,23 +17,14 @@ | |
| "particle_position_z": 8192362.405430986, | ||
| "particle_weight": 1.0240001137714307e+30 | ||
| }, | ||
| "tritium_1": { | ||
| "particle_momentum_x": 0.0, | ||
| "particle_momentum_y": 0.0, | ||
| "particle_momentum_z": 2.887256913640763e-13, | ||
| "particle_position_x": 40959200.11081588, | ||
| "particle_position_y": 40960650.407891415, | ||
| "particle_position_z": 81920772.7986121, | ||
| "particle_weight": 1024.0000000000002 | ||
| }, | ||
| "deuterium_1": { | ||
| "particle_momentum_x": 0.0, | ||
| "particle_momentum_y": 0.0, | ||
| "particle_momentum_z": 2.8872569136407634e-13, | ||
| "particle_position_x": 40958427.50992301, | ||
| "particle_position_y": 40959476.34450768, | ||
| "particle_position_z": 81921930.27522022, | ||
| "particle_weight": 1024.0000000000002 | ||
| "helium4_1": { | ||
| "particle_momentum_x": 1.7270063957926637e-15, | ||
| "particle_momentum_y": 1.7295255445271788e-15, | ||
| "particle_momentum_z": 1.7442619148907942e-15, | ||
| "particle_position_x": 151546.7150677448, | ||
| "particle_position_y": 151695.5086129642, | ||
| "particle_position_z": 323004.4593236664, | ||
| "particle_weight": 4.337788155202713e-28 | ||
| }, | ||
| "helium4_2": { | ||
| "particle_momentum_x": 1.5369063360838545e-15, | ||
|
|
@@ -56,7 +35,12 @@ | |
| "particle_position_z": 290503.22456411575, | ||
| "particle_weight": 6.347081228434342e+18 | ||
| }, | ||
| "helium4_1": { | ||
| "lev=0": { | ||
| "DTF1_particle_production": 4.415241048343040e-28, | ||
| "DTF2_particle_production": 6.295151973703336e+18, | ||
| "rho": 0.0 | ||
| }, | ||
| "neutron_1": { | ||
| "particle_momentum_x": 1.7270063957926637e-15, | ||
| "particle_momentum_y": 1.7295255445271788e-15, | ||
| "particle_momentum_z": 1.7442619148907942e-15, | ||
|
|
@@ -65,6 +49,24 @@ | |
| "particle_position_z": 323004.4593236664, | ||
| "particle_weight": 4.337788155202713e-28 | ||
| }, | ||
| "neutron_2": { | ||
| "particle_momentum_x": 1.5369063360838545e-15, | ||
| "particle_momentum_y": 1.5327717119671177e-15, | ||
| "particle_momentum_z": 1.5632203763888702e-15, | ||
| "particle_position_x": 136756.17264787608, | ||
| "particle_position_y": 136453.48037878488, | ||
| "particle_position_z": 290503.22456411575, | ||
| "particle_weight": 6.347081228434342e+18 | ||
| }, | ||
| "tritium_1": { | ||
| "particle_momentum_x": 0.0, | ||
| "particle_momentum_y": 0.0, | ||
| "particle_momentum_z": 2.887256913640763e-13, | ||
| "particle_position_x": 40959200.11081588, | ||
| "particle_position_y": 40960650.407891415, | ||
| "particle_position_z": 81920772.7986121, | ||
| "particle_weight": 1024.0000000000002 | ||
| }, | ||
| "tritium_2": { | ||
| "particle_momentum_x": 0.0, | ||
| "particle_momentum_y": 0.0, | ||
|
|
@@ -74,4 +76,4 @@ | |
| "particle_position_z": 819126.8984535292, | ||
| "particle_weight": 1.0239999999365294e+29 | ||
| } | ||
| } | ||
| } | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should there be a volume multiplication factor in the comparison between weights and density?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this test case, the cell volume is 1 so the factor is not needed.