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

HarrisSheetinX-development merge 22-04-29 #90

Merged

Conversation

hklion
Copy link

@hklion hklion commented Apr 29, 2022

No description provided.

EZoni and others added 30 commits April 1, 2022 17:07
* AMReX: 22.04

* PICSAR: 22.04

* WarpX: 22.04
* Switch test to use common build with OpenPMD enabled

* Match GNU make to CMake change

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
…rpX#2896)

* Beginnings of signal handling machinery

* Add tentative logic to make checkpoint call

* Adapt formatting slightly

* Add calls to read signals and set up signal handlers

* Initialize signal flag array

* Add parsing of signal names, and fix some whitespace issues

* Skip signal setup on Windows

* added checkpoint and break signal inputs to picmi.py

* Address initial review requests

* Correct comment to match changed code

* Convert maximum signal number to a symbolic name

* Always parse signal input, and error out on Windows or wherever it may be unsupported

* Typo fix

* Add missing reset of checkpoint signal flag

* Add reset of break signal, in support of Python or library usage

* Test for a configured checkpoint diag when asked to checkpoint on a signal

* Fix typo in Linux code path

* Clean up MPI support

* Use symbolic name for maximum signal number

* Fix unused variable in the no-MPI case

* Add missing header inclusions

* Switch signal parsing to an enumerated table

* Test signal handling for Linux, not GNU C library

* Avoid another magic number

* Update MPI_Ibcast call to match symbolic array length

* Update loop over signal flags to use symbolic limit

* Match #includes to usage

* Add omitted C++ std <atomic> header include

* Guard entire set of signal definitions as *nix-only, not for Windows

* Broaden Windows exclusion to avoid zero-length array that displeases MSVC++

* Check return value from sigaction()

* Convert conditional calls to Abort() to assertions

* Move check for platform support to input parsing

* Shift signal handling code over toward ABLASTR to share with ImpactX and Hipace++

* Minor cleanup

* A bit more cleanup

* Fix formatting nits

* Add AMReX error handling on MPI calls

* Add ABLASTR signal handling code to GNU makefile too

* Document new input parameters

* Use ABLASTR assertion macros in ABLASTR code

* Convert requests limit value to a requests array size

* Generalize signal handling to an arbitrary set of potential actions

* Rename class to match usage and file name

* Stick stuff in ABLASTR namespace

* Indent conditional includes as requested

Co-authored-by: Roelof <roelof.groenewald@modernelectron.com>
* DRAFT for Moving Frame

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

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

* Adds m_last_compute_step

* Generalized SetParticlePosition, semicolons and formatting

* Update Source/Diagnostics/ReducedDiags/FieldProbe.H

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

* Moved particle push before calculations. Condensed stuff.

* Fixed Velocity, added start and stop time functionality

* Documentation

* Apply suggestions from code review

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

* Empty-Commit

* Fixed ParallelFor from review

* FP moving window in laser_acceleration 1d, 2d, 3d test

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

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

* Line detector instead of point

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>
* Refactoring: More General Interfaces (J, rho)

* Refactoring: More General Interfaces (E, B)

* Refactoring: More General Interfaces (rho)

* Fix const Correctness

* Fix const Correctness (continued)

* Fix Bugs

* Refactoring: More General Interfaces (averaged E, averaged B)
* Examples: LBC in Laser-Ion Example

* LoadBalanceCosts: num_cells & num_macro_particles

* Fix Script: Wrong Header Counting

Spliced out the first to columns twice.

* Fix Script: Blocking Factor

The script did not work if a direction only had one block

* Fix Script: 2D/3D

There is no generic way from the data we write to find this out,
without breaking corner cases such as one-block in one direction.
* Semicoarsening in electrostatic solvers

Enable semicoarsening in electrostatic solvers if the problem is anisotropic
due to relativistic beam and/or anisotropic cell spacing.

* Update relativistic_space_charge_initialization benchmark
* Added PlasmaLens class to PICMI

* Added CI test

* Added PICMI input file

* Fixed the output dir for the CI test

* Add `_plt` to Output File Prefix

Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Fix: `MPI_CXX_BOOL` -> `MPI_BYTE`

C99 types were aded in MPI-2.2, while Cray's MPICH fork in version
8.1.13 defines `MPI_CXX_BOOL` to `MPI_DATATYPE_NULL` on Perlmutter.

We could use `MPI_C_BOOL`, which is technically a `_Bool` from
[<cstdbool>](https://en.cppreference.com/w/cpp/header/cstdbool)
(deprecated: C++17; removed: C++20) - or we simply do a static
assert on `sizeof(bool)` and communicate as a `MPI_BYTE` or
`MPI_CHAR`.

* Signals: Do no MPI Comms if none is configured

* Docs: Link and Explain Allowed Signal Values

* Review Comments & Style
* Implemented the BCK fallback for the ECT solver

* Ignored an unused variable

* Bug fix

* Fix issue with preprocessor directive

* Added comments

* Implemented suggestions from code review

* Fixed tilebox

* Improved warning

* Using WarpX::RecordWarning instead of amrex::Print()

* Ignoring RZ

* Improving comment

* Bug Fix

* Lowered warning priority

* Ignoring low priority warnings in ECT tests

Co-authored-by: lgiacome <lorenzo.giacome@cern.ch>
Simplify the logic by fusing a loop.
updates:
- [github.com/pre-commit/pre-commit-hooks: v4.1.0 → v4.2.0](pre-commit/pre-commit-hooks@v4.1.0...v4.2.0)

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

* part_per_grid/cell : cartesian diag in RZ/openPMD

* RZ+openPMD : flexible ZR or RZ order

* fix logic if not in RZ

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

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

* fix regression test, remove transpose and refactor

* Update Source/Diagnostics/WarpXOpenPMD.cpp

* Fix: Doxygen, Consistent Naming, Comments, Style

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Remove Nodal Sync of J and Rho

* Reset Benchmark of reduced_diags_single_precision
If it's not used there is no reason to construct a CopyParticleAttribs
object.  In fact, it could result in a runtime `std::out_of_range` error in
`std::map::at()` because `tmp_particle_data` is used in the
CopyParticleAttribs constructor, but in `PhysicalParticleContainer::Evolve`,
`tmp_particle_data` is properly prepared only when doing back transformed
diagnostics.
updates:
- [github.com/hadialqattan/pycln: v1.2.5 → v1.3.1](hadialqattan/pycln@v1.2.5...v1.3.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Add an additional `jsrun` command on Summit so that one can easier map the run output to a hostname. Write a `task_host_mapping.txt` file for each run.
Co-authored-by: Yinjian Zhao <yin@Yinjians-MacBook-Air.local>
…P-WarpX#2937)

* Current Deposition Interfaces: Always Pass `dt` & `relative_time`

* Fix CI Failures

* Fix 1D/RZ Warnings

* Fix RZ Bug

* Fix Bugs

* Minimize Changes, Fix Roundoff Errors

* Cleaning

* Remove dt From doDepositionShapeN

* Cleaning Esirkepov Deposition

* Cleaning Vay Deposition

* Fix Roundoff Errors

* Fix Roundoff Errors (continued)

* Fix Bug (RZ)
* `Stencil.py`: Follow PEP 8 Coding Style

* Commit Suggestion by @dpgrote
ax3l and others added 7 commits April 21, 2022 02:32
* Perlmutter: Boost

Document a compatible Boost module on Perlmutter.
This is needed for detailed table generation for the QED module
(`WarpX_QED_TABLE_GEN=ON`).

* CMake: Update PICSAR

Include a fix for a compile error on CPU for QED table gen.
Update the Ascent installation location to use Cyrus' new install
for us.
Since these requirements (i.e., PICMI) change quite rapidly, document
the line close to the `pip` install line.
)

This turned out to be a major portion of a particle-heavy simulation,
and was being entirely attributed to WarpX::Evolve().
@RevathiJambunathan
Copy link
Owner

Thanks for this PR, @hklion

@RevathiJambunathan RevathiJambunathan merged commit c562208 into RevathiJambunathan:HarrisSheetinX May 3, 2022
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.