aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/Collision/BinaryCollision/BinaryCollisionUtils.cpp (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2022-01-04Allow Dirichlet BCs on r boundaries in RZ (electrostatic) (#2714)Gravatar Roelof Groenewald 5-22/+32
* allow Dirichlet BCs in r when r_min != 0 with ES RZ simulations * handle the rmax boundary condition setting properly when rmin == 0 * add ability to specify rmin and rmax potentials through picmi
2022-01-04Release 22.01 (#2718)Gravatar Axel Huebl 11-13/+13
* AMReX: 22.01 * PICSAR: 22.01 * WarpX: 22.01
2022-01-04Docs: Add New Inputs (Manual) (#2717)Gravatar Axel Huebl 1-3/+8
Add the new 1D/2D/3D/RZ AMReX and Python scripts in our user-facing manual section for the LWFA test case.
2022-01-04Docs: Spack Dev - Relax MPL Pin (#2715)Gravatar Axel Huebl 1-1/+1
Relax the pinned version of `matplotlib`, documented in our Spack developer enviornment documentation. This caused problems (tried to re-compile and did not find freetype) on Ubuntu 20.04. We pinned this earlier, since yt was incompatible.
2022-01-04Add PICMI Scripts for LWFA Tests (#2700)Gravatar Edoardo Zoni 18-198/+822
* Add PICMI Script for 2D Case * Add PICMI Script for 3D Case * Cleaning * Add PICMI Script for 1D Case * Add PICMI Script for RZ Case * Remove Old PICMI Script * Remove Old Test Python_LaserAccelerationMR * inputs_3d: Move Inputs From runtime_params * inputs_2d: Move Inputs From runtime_params * Update PICMI Script for 2D Case * Update PICMI Script for 3D Case * inputs_1d: Move Inputs From runtime_params * inputs_2d_rz: Move Inputs From runtime_params * Rename inputs_2d_rz as inputs_rz * Update PICMI Script for 1D Case * Update PICMI Script for RZ Case * inputs_rz: Fix Diagnostic Interval * Fix Diagnostic Interval For All Inputs * Add New Test For Each PICMI Script * Remove Old PICMI Script From Workflow yml Files * Dump RZ Modes for RZ Case * LWFA PICMI: Add Shellbang Add missing shellbang lines. Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-12-30[pre-commit.ci] pre-commit autoupdate (#2712)Gravatar pre-commit-ci[bot] 1-1/+1
updates: - [github.com/pre-commit/pre-commit-hooks: v4.0.1 → v4.1.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.0.1...v4.1.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-29Regression Testing: Use Mainline & CMake (#2556)Gravatar Axel Huebl 8-58/+237
* Regression testing: Use mainline * Update WarpX-tests.ini - Add `cmakeSetupOpts =` - Add `-DWarpX_DIMS`: Not an AMReX convention, so we cannot rely on `dim = ...` - Skip building unneeded tools - Add `install_pip` target: Calling `python -m pip wheel .` and install re-using the build directory. This is mainly for our CI Python regression scrips, users and package managers should just use `python -m pip wheel .` and `... install *whl` directly. * LaserInjectionFromTXYEFile: General Exe Generalize executable globber in script * Docs: Update Regression Testing (CMake) * Azure: Ninja Builds (CMake)
2021-12-29CI: mpi4py breaking setuptools API (#2713)Gravatar Axel Huebl 4-9/+29
setuptools keeps breaking its API, which currently breaks `mpi4py` installs. Until a new mpi4py release is cut, this will serve as a work-around
2021-12-23Test particle scraping for EB in RZ. (#2691)Gravatar Yinjian Zhao 7-14/+129
* Modify WarpXFaceExtensions.cpp and WarpXInitEB.cpp. * Remove an assertion. * Update particle scraping for RZ * Apply suggestions from code review * Add automated test. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix CI issues * Change permissions Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-23Adding staircased EB in the PMLs (#2693)Gravatar Lorenzo Giacomel 10-73/+246
* Adding EB to PMLs * Fix to guard cells * Initializing EB data only if AMREX_USE_EB * Not compiling at all EB initialization when EB is off * Bug fix (wrong order of PML init arguments)
2021-12-22Docs: Add Missing Default for warpx.serialize_ics (#2706)Gravatar Edoardo Zoni 1-1/+1
2021-12-23removed distinct functions computePhiRZ and computePhiCartesian since these ↵Gravatar Roelof Groenewald 2-177/+51
function now share mostly the same code (#2709)
2021-12-22Change _libwarpx.py functions to LibWarpX class methods (#2696)Gravatar Peter Scherpelz 16-2016/+1927
* Initial attempt at moving function into LibWarpX * Bugfix - undefined structs in get_particle_theta This is untested, identified by IDE/visual inspection only * Unify newlines * Delete libwarpx.clight (duplicated picmi.py) See picmi.constants.c * Change function descriptive comment to docstring Also remove extra newline in __init__ beginning. * Replace pywarpx/_libwarpx calls appropriately * Fix atexit register of finalize function * Reorder WarpX.py imports for pre-commit * Use picmi.Simulation.extension = libwarpx alias This will hopefully preempt user script changes if we restructure things to allow multiple WarpX runs to be done within a single Python script. * Fix libwarpx ref in WarpX.getProbLo/getProbHi * Update get_particle_boundary_buffer doc reference
2021-12-22Add embedded BC in RZ. (#2602)Gravatar Yinjian Zhao 11-74/+184
* Start to add embedded BC in RZ. * Add . * Remove scaling * Fix compilation error * Update * Can compile. * Add call linop.setRZ(true). * Remove lines 264 to 312 and 343 to 345. * Add assert. * Remove an assert. * Add an automated test. * Change to MLEBNodeFDLaplacian. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix compilation error * Update the test selection * Correct compilation error * Move test to another worker * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add new required argument * Update Examples/Tests/ElectrostaticSphereEB/inputs_rz * Update Examples/Tests/ElectrostaticSphereEB/analysis_rz.py * Update analysis script Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-22ParticleMoments: Deduct Lambda Ret Type (#2705)Gravatar Axel Huebl 1-8/+3
We can auto-deduct the return type of the tuples in the particle moments lambdas by using the `amrex::makeTuple` factory function.
2021-12-21Doxygen: include `static` functions (#2701)Gravatar Axel Huebl 1-1/+1
We use this for ODR-friendly specifications of public functions in ABLASTR. https://stackoverflow.com/a/22103109
2021-12-21Add runtime option to use DM that is 'similar' to the mother grids in the ↵Gravatar Andrew Myers 6-6/+27
PML. (#2665) * add runtime option to use DM that is 'similar' to the mother grids in the PML. * update amrex * toggle similar dm * add runtime option to use DM that is 'similar' to the mother grids in the PML. * toggle similar dm * bump tolerance * document option * Change default PML behavior for psatd_dive_test Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2021-12-21pre-commit: Python imports (#2686)Gravatar Axel Huebl 118-238/+478
* pre-commit: Python imports Add two new Python rules to: - remove unused imports - sort imports according to PEP8 * pre-commit: Python imports Add two new Python rules to: - remove unused imports - sort imports according to PEP8 `.editorconfig`: isort options https://github.com/PyCQA/isort/wiki/isort-Settings * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * move import os (mpl) * move import yt (mpl) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Cleanup around matplotlib.use * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Cleaning: double np and lib Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-21Update AMReX (RZ Poisson) (#2699)Gravatar Axel Huebl 4-4/+4
Update AMReX to the latest `development`.
2021-12-21CMake: openPMD on by default (#2698)Gravatar Axel Huebl 12-18/+18
openPMD builds are stable enough to be default-ON. Due to lacking heuristicst, we don't enable openPMD by default in GNUmake. (Further environments hints, e.g. `PKG_CONFIG_PATH`, or a system-path install are needed there.)
2021-12-21RZ correction in 2d RZ Poisson slver (#2697)Gravatar Weiqun Zhang 1-0/+2
Call MLNodeLaplacian::setRZCorrect, even when it's redundant when the coordinate system is 2d rz, so that the solver does not depend on the coordinate system set in amrex::Geometry.
2021-12-21Inputs: `geometry.dims` option (#2685)Gravatar Axel Huebl 112-168/+221
* Docs: `geometry.dims` option Add a new, required option to specify the geometry of an inputs file at runtime. * Check & Report Runtime Dims Mismatch * Examples: add `geometry.dims` * Deprecation Warning: `geometry.coord_sys` * PICMI: `geometry.dims` * Improve error message sounds a bit better * Improve Doc Description Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com> Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com>
2021-12-20[pre-commit.ci] pre-commit autoupdate (#2695)Gravatar pre-commit-ci[bot] 1-1/+1
updates: - [github.com/pre-commit/pre-commit-hooks: v2.4.0 → v4.0.1](https://github.com/pre-commit/pre-commit-hooks/compare/v2.4.0...v4.0.1) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-20AMReX: Weekly Update (#2694)Gravatar Axel Huebl 4-4/+4
2021-12-20AMREX_ALWAYS_ASSERT -> AMREX_ASSERT for deposition bounds checks (#2688)Gravatar Andrew Myers 2-4/+4
* AMREX_ALWAYS_ASSERT -> AMREX_ASSERT for deposition bounds checks * fix unused * Apply suggestions from code review * Apply suggestions from code review * Simpler ignore + comment Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-12-19For Python inputs, values with temporary variables are wrapped in quotes (#2690)Gravatar David Grote 1-4/+8
2021-12-16Generalize Analysis Scripts: Number of Digits (plt) (#2683)Gravatar Axel Huebl 38-54/+100
* Update Scripts to Handle New File Names * Use glob in Analysis of Collision Tests * Use rstrip in Analysis of Collision Tests * Regex: Match ends-in-digits Thanks Phil! :) Co-authored-by: Edoardo Zoni <ezoni@lbl.gov> Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
2021-12-16added RZ support in libwarpx function _get_boundary_number (#2680)Gravatar Roelof Groenewald 1-1/+3
2021-12-16Wrap shared object in a class to control its loading (#2637)Gravatar David Grote 19-582/+599
* Wrap shared object in a class to control its loading * Fix libwarpx attribute references * Updated callbacks.py for updated libwarpx * Removed the wx module plus other clean up * Further revision of how to use the pywarpx module. Now, _libwarpx should not be imported by external scripts except in special circumstances. * Updated documentation * Clean up end of line whitespace * Added more wrapping routines plus some clean up * Fixed use of pywarpx in two examples * Fix for getistep * Fixed for the EB Python interface * Silence a warning for our wrapper Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-12-16AMREX_SPACEDIM : EB, Filter, Laser, Utils, and Diagnostics (#2677)Gravatar Prabhat Kumar 26-153/+153
* AMREX_SPACEDIM : EB and Filter * AMREX_SPACEDIM : Laser * AMREX_SPACEDIM : Utils * AMREX_SPACEDIM : Diagnostics * Fix Typo * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * AMREX_SPACEDIM : Warpx.cpp * Update Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-12-16Adding new inputs to picmi.ElectromagneticSolver (#2676)Gravatar Lorenzo Giacomel 1-0/+8
2021-12-16Doxygen: Fix Diags, FieldSolver, Parallelization & Particles (#2662)Gravatar Axel Huebl 29-24/+101
* Doxygen: Fix Diags, FieldSolver, Parallelization & Particles * Apply suggestions: Remi Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Apply suggestions: Roelof Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com> * Apply suggestions: Luca Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it> * Apply suggestions: Edoardo Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Apply suggestions: Andrew * Apply suggestions: Edoardo Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Apply suggestions: Neil Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Apply suggestions: Roelof * Apply suggestions: Weiqun Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com> Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
2021-12-15ABLASTR: Cleanups & Particle Moments (#2675)Gravatar Axel Huebl 12-71/+242
* ABLASTR: Cleanups - lowercase dir - nested directories - nested namespaces - functions: lowercase and snake_case - templates: prefix with `T_` - profiler: doc strings * Add: Particle Moments Co-authored-by: Remi Lehe <rlehe@lbl.gov> Co-authored-by: Remi Lehe <rlehe@lbl.gov>
2021-12-15CI: Azure Cache Ignore Errors (#2678)Gravatar Axel Huebl 1-0/+2
Sometimes, the Azure Pipelines Cache tasks fail because the service is not available, either for download or upload after a successful job. This marks the cache restore and upload steps as allowed to fail.
2021-12-15CI: Reduce Runtime of Some Galilean Tests (#2625)Gravatar Olga Shapoval 8-148/+148
* Modified 'averaged_galilean_3d_psatd' CI test to lower its run time. * Modified 'comoving_2d_psatd_hybrid' CI test to lower its run time. * Modified 'galilean_2d_psatd_hybrid' CI test to lower its run time. * Updated benchmarks.
2021-12-15Docs: Perlmutter Early Science (#2674)Gravatar Axel Huebl 1-0/+2
* Docs: Perlmutter Early Science Document how to perform large runs. * Change comment style Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2021-12-15Cori: c-blosc Support (#2636)Gravatar Axel Huebl 1-3/+24
Document setting up `c-blosc` on Cori for fast, lossless ADIOS2 openPMD output compression.
2021-12-15Examples: Python ShellBang & Executable (#2673)Gravatar Axel Huebl 84-66/+107
* Examples: Python ShellBang & Executable Make sure that all PICMI scripts and all analysis Python scripts in `Examples/` are: - executable (`chmod a+x`) - start with a shell-bang to `python3` Now, all scripts can be run directly without a `python3 ...` prefix and also default to the only right executable of Python on older systems. (New systems always have a `python3` alias, too.) * Revert a moved numpy
2021-12-15CI: Remove (`particle_`)`tolerance` (#2669)Gravatar Axel Huebl 2-189/+16
We compare field and particle tolerances now without silver files, using our checksum API. This allows us to reduce CI time a bit by skipping the build of plotfile tools.
2021-12-15pre-commit: check json (#2670)Gravatar Axel Huebl 1-0/+1
2021-12-14Fix: Missing EB `analysis.py` Permissions (#2672)Gravatar Axel Huebl 1-0/+0
This failed in other PRs: ``` PermissionError: [Errno 13] Permission denied: './analysis.py' ```
2021-12-14Fix: `pre-commit run -a` (#2671)Gravatar Axel Huebl 4-4/+1
Prepare to enable autofix bot from https://pre-commit.ci
2021-12-14ABLASTR: Fix Doxygen in `DepositCharge`Gravatar Axel Huebl 1-1/+1
2021-12-14Refactor DepositCharge so it can be called from ImpactX. (#2652)Gravatar Andrew Myers 11-178/+304
* Refactor DepositCharge so it can be called from ImpactX. * change thread_num * Fix namespace * remove all static WarpX:: members and methods from DepositChargeDoIt. * fix unused * Don't access ref_ratio unless lev != depos_lev * more unused * remove function to its own file / namespace * don't need a CMakeLists.txt for this * lower case namespace, rename file * Refactor: Profiler Wrapper Explicit control for synchronization instead of global state. Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-12-13Adding EB multifabs to the Python interface (#2647)Gravatar Lorenzo Giacomel 8-0/+493
* Adding edge_lengths and face_areas to the Python interface * Added wrappers for the two new arrays of data * Adding a CI test * Fixed test name * Added customRunCmd * Added mpi in test
2021-12-13Add load balancing test (#2561)Gravatar Kevin Z. Zhu 4-26/+41
* Added embedded_circle test * Add embedded_circle test files * Removed diag files * removed PICMI input file * Update to use default regression analysis * Added line breaks for spacing Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Added description * Fixed benchmark file * Added load balancing to test * Commented out load_balancing portion of test. This will be added back in once load balancing is fixed. * Add load balancing to embedded_boundary test * Updated checksum * Added embedded_circle test * Add embedded_circle test files * removed PICMI input file * Update to use default regression analysis * Added load balancing to test * Commented out load_balancing portion of test. This will be added back in once load balancing is fixed. * Add load balancing to embedded_boundary test * added analysis.py file in order to relax tolerance on test * Ensure that timers are used to update load balancing algorithm * Updated test name retrieval Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Roelof <roelof.groenewald@modernelectron.com> Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
2021-12-14AMReX/PICSAR: Weekly Update (#2666)Gravatar Axel Huebl 7-44/+44
* AMReX: Weekly Update * Reset: PEC_particle, RepellingParticles, subcyclingMR New AMReX grid layout routines split grids until they truly reach number of MPI ranks, if blocking factor allows. This changes some of our particle orders slightly.
2021-12-13Add anisotropic mesh refinement example (#2650)Gravatar Remi Lehe 2-0/+63
* Add anisotropic mesh refinement example * Update benchmark
2021-12-13Add high energy asymptotic fit for Proton-Boron total cross section (#2408)Gravatar Neïl Zaim 1-26/+72
* Add high energy asymptotic fit for Proton Boron total cross section * Write keV and MeV instead of kev and mev * Add @return doxystrings
2021-12-13Fix the scope of profiler for SYCL (#2668)Gravatar Weiqun Zhang 1-5/+5
In main.cpp, the destructor of the profiler was called after amrex::Finalize. This caused an error in SYCL due to a device synchronization call in the dtor, because the SYCL queues in amrex had been deleted. In this commit, we limit the scope of the profiler so that its destructor is called before the queues are deleted. Note that it was never an issue for CUDA/HIP, because the device synchronization calls in those backends do not need any amrex objects.