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

Bring the crusher branch back up to date with normal HS #121

Open
wants to merge 364 commits into
base: HarrisSheet_Crusher
Choose a base branch
from

Conversation

hklion
Copy link

@hklion hklion commented Feb 2, 2023

No description provided.

ax3l and others added 30 commits August 15, 2022 16:17
Our Windows CI does not abort on the first failing command. This
could, in the future, lead to false-positive tests.
See if this missing include, which would import dllexport, fixes
symbol errors on Windows in ImpactX.
Add our latest NAPAC'22 paper to the documented references.
Will replace with a JACOW reference once proceedings are out.
* Allow filtering in z with RZ FDTD

* Update the error message about filtering in RZ

* Turned z filtering on in laser_acceleration/inputs_rz

* Update LaserAccelerationRZ benchmark, including z filtering
Workaround a OpenMPI bug that uses file locking on Lassen (OLCF).

Performance is still not going up...
* Wheel: Separate Directory

The `pip_install` target did not yet work on Windows, because it has
no universal wildcard `*` support for our pip install logic.

Fix this by creating the wheel in a sub-directory and installing it
by "finding all wheels for `pywarpx` in a given prefix".

- Avoid wildcards by using a separate directory.
- Avoid downloading deps during `wheel` build again.

* Fix: Manifest

follow-up to ECP-WarpX#3265
Add our latest NAPAC'22 paper to the documented references.
Will replace with a JACOW reference once proceedings are out.
…ECP-WarpX#3330)

* shift BTD lab frame bounds by half a cell to prevent round off errors

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

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

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Update comments in example input files: moving window now available along x, y, z.
* CI: Clean up Analysis of Galilean Tests

* Update Reference Energy Values

* Update Reference Energy Tolerances

* Improve Inline Comment
updates:
- [github.com/Lucas-C/pre-commit-hooks: v1.3.0 → v1.3.1](Lucas-C/pre-commit-hooks@v1.3.0...v1.3.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Add Spack environment files for developer desktop/laptop computers.
Print a performance hint if too many boxes are used per GPU.
…X#3266)

- Call `setVal` with default arguments
  (number of components and ghost cells)
- Affects only functions used with multi-J time stepping:
  - `MultiParticleContainer::DepositCurrent`
  - `MultiParticleContainer::DepositCharge`
* avoid details bugs with nsight system analysis

I added the header of the sbatch file for nsight system analysis, a little description of the useful output files for the analysis and a warning for the execution of the sbatch file.

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

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

* Update Docs/source/developers/profiling.rst

Co-authored-by: Axel Huebl <[email protected]>

* Update Docs/source/developers/profiling.rst

Co-authored-by: Axel Huebl <[email protected]>

* Update profiling.rst

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

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

* Fix: remove ill-placed anchor

* Fix ill-removed section

* Fix Formatting

* Update Wording

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Axel Huebl <[email protected]>
…X#3240)

* Use proper units for momenta, in BoundaryScrapingDiagnostic

* Fix fetch of attribs in particlesConvertUnits

Co-authored-by: Dave Grote <[email protected]>
* order-independent rho_<species>

* add test to check rho_<species> is order-agnostic

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

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

* make analysis naming more consistent

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

* Fixed plasma lens residence correction to allow a short lens

* Added CI test with a short plasma lens
* Fix Bugs w/ Current Correction and Vay Deposition

* Vay Deposition and Current Correction Cannot be Combined Together

* Add Comment for Future Implementation of Vay Deposition w/ MR

* Add Comment for Future Implementation of Vay Deposition w/ MR

* Define SyncCurrentAndRho, Clean Up

* Vay Deposition: Remove Extra FFT of Rho

* Fix Bug in RZ Geometry (Double Filtering)

* Add 2D Galilean Test w/o Periodic Single Box

* Add RZ Galilean Test w/o Periodic Single Box

* Add 3D Galilean Test w/o Periodic Single Box
* add mention of callbacks and some libwarpx functions to the docs

* reformatted various function docstrings in `_libwarpx.py` and added them to the docs

* Add subsection

Co-authored-by: Axel Huebl <[email protected]>
* Python: 3.7+

Python 3.6 is now end-of-life. Bump support to 3.7+.

* CUDA CI: Python3 Update
* Perlmutter: Work-Around CUDA-Aware MPI & Slurm

There are known HPE bugs on Perlmutter that can blow up
simulations (segfault) with CUDA-aware MPI.

We avoid the respective Slurm options now and just manually
control the exposed GPUs per MPI rank.

* Add: `gpus-per-node`
Add nodal field gather functions to ABLASTR for scalar and vector
fields. This currently only implements 1st order (CIC) shape.

Co-authored-by: Remi Lehe <[email protected]>

Co-authored-by: Remi Lehe <[email protected]>
clarkse and others added 30 commits December 22, 2022 19:53
* Initial working Magnetostatic solver integration into warpx.  Includes hooks in Python library, and a test problem.  Build files updates.  New solver algorithm and inputs.

* Fixed indexing to allow Magnetostatic solver to work in RZ and 3D.

* Removing trailing whitespace.

* Adding basic regression testing with benchmarks.

* Updated Regression test ini

* Augmented test scripts to compare to analytical results for uniform beam.

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

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

* Updating CI tests for magnetostatic solver.

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

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

* Updated magnetostatic CI tests to pass locally in regression testing framework.

* Adjusting tolerance on magnetostatic_rz regression test to allow for noise in near zero fields.

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

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

* Converted particle layout to Gridded instead of PsedupRandom to improve reproducibility of particle deposition for regression testing.

* Dropped benchmark field comparisons with fields near zero. Dropped particle benchmark for magnetostatic_eb_rz regression test due to randomized particle theta adding noise to fields after a timestep.

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

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

* Found and fixed a bug in syncronization of MultiFabs when interpolating between grids in the magnetostatic solver.  Added Python output for nodal current and vector potential.  Updated the CI tests to disable dynamic scheduling and enbale serialization of initial conditions.  Updated benchmarks fro tests.

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

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

* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp

Co-authored-by: Remi Lehe <[email protected]>

* Adding random_theta flag to PICMI interface and updating RZ CI test and benchmark with change to disable randomized theta.

* Added documentation to parameters.rst for relativistic-magnetostatic flag.  Documentation corrections.  Removal of commented source.

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

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

* Removing need to use do_current_centering.  Updated current density inverse scaling support for nodal Jr in radius.  Added flag to check for m_rz_random_theta when laying down particles in RZ.

* Remove dA/dt term to decouple electrostatic and magnetostatic solvers.

* Remove update of auxiliary fields

* Adding non-Python test case for magnetostatic solver.  Updating benchmarks.

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

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

* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp

Co-authored-by: Remi Lehe <[email protected]>

* Update Python/pywarpx/_libwarpx.py

Co-authored-by: Remi Lehe <[email protected]>

* Update Python/pywarpx/_libwarpx.py

Co-authored-by: Remi Lehe <[email protected]>

* Update Python/pywarpx/_libwarpx.py

Co-authored-by: Remi Lehe <[email protected]>

* Update Python/pywarpx/_libwarpx.py

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/Diagnostics/Diagnostics.cpp

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/Evolve/WarpXEvolve.cpp

Co-authored-by: Remi Lehe <[email protected]>

* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.H

Co-authored-by: Remi Lehe <[email protected]>

* Refactor names of functions for magnetostatic solver implementation.  Remove current_fp_nodal python interface.  Drop extraneous ghost cell exchanges.

* Adding radial weighting at r=0 for Jr if nodal.

* Splitting off Amrex bucket and adjustments to RZ radial weighting into different branches to be merged.

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

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

* Update Source/FieldSolver/MagnetostaticSolver/MagnetostaticSolver.cpp

Co-authored-by: Remi Lehe <[email protected]>

* Switch name to labfame-electromagnetostatic

* Update example scripts

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Remi Lehe <[email protected]>
After the tri-diagonal solve, the data in the special single-box MultiFab
need to be copied back to the normal MultiFab.  However, when there was a
bug for periodic boundary.  The issue is the special MultiFab is really
special.  It has a nodal Box that grows the original nodal Box by 1 node in
the lower boundary and 2 (why 2?) nodes in the upper boundary and these
grown nodes are considered valid nodes, even though they do not have valid
data.  Therefore amrex::ParallelCopy with periodicity does not work in this
case.  For example, for a domain with 96 cells, the data at nodes 1 and 2 of
the normal MultiFab could be written with the invalid data at nodes 97 and
98 of the special MultiFab.  This bug is fixed by replacing it with a
ParallelCopy without periodicity followed by a FillBoundary.
updates:
- [github.com/pycqa/isort: v5.11.3 → 5.11.4](PyCQA/isort@v5.11.3...5.11.4)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Fix typos noticed in reviewing existing changes
* Fix a typo in test case name
* Plasma Lens: Rename Benchmark

Co-authored-by: Axel Huebl <[email protected]>
* AMReX: 23.01

* PICSAR: 23.01

* WarpX: 23.01
* Correct density

* update

* Add test

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

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

* Update Regression/WarpX-tests.ini

* update

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

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

* Apply suggestions from code review

* update

* Fix shadowing of variables

* Simplify code

* Correct density

* Update checksum

* Update exponential fit

* Remove unused global variable

* Add comment on exponential fit

* Cleaning

* Cleaning

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

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

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Remi Lehe <[email protected]>
Co-authored-by: Edoardo Zoni <[email protected]>
Co-authored-by: Edoardo Zoni <[email protected]>
)

* Correct particle positions outside refined injection

* Improve test

* Update benchmark

* Modifications for vector refinement ratio

* Update getPosition function

* Update code for anisotropic injection

* Correct compilation

* Correct code for RZ and 1D

* Correct indentation

* Correct integer overflow, as suggested by Weiqun
…CP-WarpX#3603)

* Correct particle positions outside refined injection

* Improve test

* Update benchmark

* Modifications for vector refinement ratio

* Update getPosition function

* Update code for anisotropic injection

* Correct compilation

* Correct code for RZ and 1D

* Correct indentation

* Correct integer overflow, as suggested by Weiqun

* Generalize interpolation routines in diagnostics for anisotropic ref ratio

* Update Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp

Co-authored-by: Edoardo Zoni <[email protected]>

* Update Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp

Co-authored-by: Edoardo Zoni <[email protected]>

* Update Source/Utils/Interpolate.H

Co-authored-by: Edoardo Zoni <[email protected]>

* Update Source/Utils/Interpolate.cpp

Co-authored-by: Edoardo Zoni <[email protected]>

* Update Source/Utils/Interpolate_K.H

Co-authored-by: Edoardo Zoni <[email protected]>

* Update Source/Utils/Interpolate.H

Co-authored-by: Edoardo Zoni <[email protected]>

* apply review suggestion

Co-authored-by: Remi Lehe <[email protected]>
Co-authored-by: Edoardo Zoni <[email protected]>
…P-WarpX#3604)

* Removed the guard cells since they are not needed for the tridiag

* Clean up the copy into the 1d array

* For the upper boundary, use explicit indices instead of temporaries to make the code more clear
Update modules after the last upgrade of Perlmutter (NERSC).
Fix the symlink of the installed shared WarpX library for
complex paths, e.g., on Windows, with spaces and parentheses.
* Add Python routine set_potential_EB to modify eb_potential

* Add CI test
)

* Fix segfault in interpolation with anisotropic ref ratio

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

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

* Update Source/ablastr/coarsen/average.cpp

Co-authored-by: Edoardo Zoni <[email protected]>

* Update Source/ablastr/coarsen/average.cpp

Co-authored-by: Weiqun Zhang <[email protected]>

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <[email protected]>
Co-authored-by: Weiqun Zhang <[email protected]>
AMReX now adds `hostname -f` information in backtraces, so we don't
need this anymore.
Document how to use the AMD Rome + A100 GPU nodes on Taurus at
ZIH (TU Dresden).
updates:
- [github.com/pre-commit/pygrep-hooks: v1.9.0 → v1.10.0](pre-commit/pygrep-hooks@v1.9.0...v1.10.0)
- [github.com/hadialqattan/pycln: v2.1.2 → v2.1.3](hadialqattan/pycln@v2.1.2...v2.1.3)

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

* Modify refined ijection CI to account for anisotropic ref ratio

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

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

* change n_move based on new dt

* change variable name to be more specific

* Update Regression/WarpX-tests.ini

Co-authored-by: Edoardo Zoni <[email protected]>

* reset benchmark for RefineInjection because now it uses anisotropic refinement ratio

* add comment to show the formula for n_move

* Reset benchmark of `RefinedInjection`

* Remove wrong benchmark file

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <[email protected]>
Co-authored-by: Edoardo Zoni <[email protected]>
* CI: Cache Action v3

Update the Cache action to the latest version.

* Undo: Unplanned install prefix changes

* CI: actions/checkout@v3

Update from v2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.