Skip to content
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

Add Python callbacks before and after collisions #2791

Merged
merged 2 commits into from
Jan 26, 2022

Conversation

roelof-groenewald
Copy link
Member

We will use this for a routine to track the total number of particles injected by the MCC routine. But it might be useful to others at some point as well.

Copy link
Member

@dpgrote dpgrote left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good

@RemiLehe RemiLehe merged commit 16eb75c into ECP-WarpX:development Jan 26, 2022
@roelof-groenewald roelof-groenewald deleted the rg/collision_callbacks branch January 26, 2022 23:19
roelof-groenewald added a commit to ModernElectron/WarpX that referenced this pull request Jan 27, 2022
* remove check on geometry (ECP-WarpX#2771)

* RZ: Add error message when using 0 order for azimuthal decomposition (ECP-WarpX#2772)

* CI: GNUmake (ECP-WarpX#2769)

Since we migrated also Azure regression tests to CMake now, we should add a GNUmake build to CI, so we don't accidentally lose this capability (we will not duplicate the whole CI matrix).
Does a standard CUDA build without dependencies but enabling PSATD.

* PML Exchanges: Less Duplicate Code (ECP-WarpX#2394)

Similarly to ECP-WarpX#2375, I'm trying to see if we can reduce the amount of duplicate code, in this case for the functions `Exchange<E,B>` of the PML class. Open for discussion.

* AMReX: Update latest (ECP-WarpX#2773)

* Docs: Crusher Load `cce` module (ECP-WarpX#2770)

* Docs: Crusher Load `cce` module

Without that module, HIP RDC builds do not work.

https://docs.olcf.ornl.gov/systems/crusher_quick_start_guide.html#compilers

* cce/13.0.0 -> cce/13.0.1

* Crusher: load `cce` after `rocm`

* RZ FDTD: Filter Not Working (Abort) (ECP-WarpX#2775)

* RZ FDTD: Filter Not Working (Abort)

* Update CI Tests and Benchmarks

* Funding/Acknowledgements: CEA-LIDYL. (ECP-WarpX#2781)

* Update .zenodo.json (ECP-WarpX#2782)

* Add SyncRho call to warpx_depositChargeDensity (ECP-WarpX#2777)

* add SyncRho call to warpx_depositChargeDensity

* expose SyncRho to Python; add warpx_clearChargeDensity to reset rho_fp before deposition

* remove unneeded warpx_clearChargeDensity function

* Apply suggestions from code review

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* add (default) option to depositChargeDensity to call SyncRho after deposition

* added option to depositChargeDensity to zero out rho_fp before deposition

* code cleanup

* import fields from inside depositChargeDensity

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* udpate zenodo (ECP-WarpX#2784)

Co-authored-by: Hannah Klion <hannah.klion@gmail.com>

* expose WarpXParticleContainer::sumParticleCharge to Python (ECP-WarpX#2790)

* Add tiny profiling to reduced diagnostics (ECP-WarpX#2794)

* fix typo in docstring for ImpactIonizationTransformFunc constructor (ECP-WarpX#2793)

* style fixes in WarpXWrappers.cpp (ECP-WarpX#2792)

* Regressions: Remove Tolerance (ECP-WarpX#2789)

... otherwise we build the `fvarnames` tools automatically.

* Add Python callbacks before and after collisions (ECP-WarpX#2791)

* add python callbacks before and after collisions

* re-order callback declarations

* Fix Docs of MinAndMaxPositions (ECP-WarpX#2787)

Fix order of returned tuple (doc string).

* Track injection statistics for MCC (#145)

* added verbosity flag to MCC

* added MCC verbosity flag to mewarpx

* expose WarpXParticleContainer::sumParticleCharge to Python

* add python callbacks before and after collisions

* example of tracking MCC statistics

* add MCC injection tracking ability via flux_diagnostic

* added MCC to runinfo in diode_setup so that it is added to the flux diagnostic; also updated the thermionic_ignition.py example file to use setups_store

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove unneeded call to init_inert_gas in tests using setups_store/diode_setup.py

* updated changelog and version number

* revert MCC verbosity flag, more info is better than less

* avoid MCC injection tracking if it is not used in the simulation

* remove duplicated code due to merge

* add appropriate date to changelog

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

Co-authored-by: Luca Fedeli <luca.fedeli@cea.fr>
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Prabhat Kumar <89051199+prkkumar@users.noreply.github.com>
Co-authored-by: Hannah Klion <hannah.klion@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: Python Python layer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants