Skip to content

Commit

Permalink
Merge development into EZoni_ctest
Browse files Browse the repository at this point in the history
  • Loading branch information
EZoni committed Sep 5, 2024
2 parents 8e64870 + c9d79cc commit 6d4396f
Show file tree
Hide file tree
Showing 49 changed files with 1,086 additions and 371 deletions.
15 changes: 0 additions & 15 deletions .github/workflows/clang_sanitizers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -160,18 +160,3 @@ jobs:
ulimit -c unlimited
mpirun -n 2 ../../../build_EB/bin/warpx.2d inputs_test_2d_embedded_circle warpx.serialize_initial_conditions = 0
save_pr_number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt
retention-days: 1
15 changes: 0 additions & 15 deletions .github/workflows/clang_tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,18 +60,3 @@ jobs:
ccache -s
du -hs ~/.cache/ccache
save_pr_number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt
retention-days: 1
7 changes: 5 additions & 2 deletions .github/workflows/cleanup-cache-postpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,11 @@ jobs:
REPO=${{ github.repository }}
gh run download ${{ github.event.workflow_run.id }} -n pr_number
pr_number=`cat pr_number.txt`
# For debugging cat ${GITHUB_EVENT_PATH} to see the payload.
pr_head_sha=${{ github.event.workflow_run.head_sha }}
pr_number=$(gh pr list --state all --search $pr_head_sha --json number --jq '.[0].number')
echo "Post-PR cache cleanup for PR ${pr_number}"
BRANCH=refs/pull/${pr_number}/merge
# Setting this to not fail the workflow while deleting cache keys.
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/cleanup-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,12 @@ jobs:
# Triggering workflow run name (e.g., LinuxClang)
WORKFLOW_NAME="${{ github.event.workflow_run.name }}"
# For debugging, cat ${GITHUB_EVENT_PATH} to see the payload.
if [[ $EVENT == "pull_request" ]]; then
gh run download ${{ github.event.workflow_run.id }} -n pr_number
pr_number=`cat pr_number.txt`
pr_head_sha=${{ github.event.workflow_run.head_sha }}
pr_number=$(gh pr list --search $pr_head_sha --json number --jq '.[0].number')
echo "Clean up cache for PR ${pr_number}"
BRANCH=refs/pull/${pr_number}/merge
else
BRANCH=refs/heads/${{ github.event.workflow_run.head_branch }}
Expand All @@ -54,6 +57,7 @@ jobs:
IFS=$'\n'
for j in $cached_jobs
do
# Delete all entries except the last used one
old_keys=$(gh actions-cache list -L 100 -R $REPO -B $BRANCH --key "${j}-git-" --sort last-used | cut -f 1 | tail -n +2)
for k in $old_keys
do
Expand Down
15 changes: 0 additions & 15 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -110,18 +110,3 @@ jobs:
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: sarif-results/${{ matrix.language }}.sarif

save_pr_number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt
retention-days: 1
15 changes: 0 additions & 15 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -203,18 +203,3 @@ jobs:
ccache -s
du -hs ~/.cache/ccache
save_pr_number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt
retention-days: 1
15 changes: 0 additions & 15 deletions .github/workflows/hip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,18 +127,3 @@ jobs:
ccache -s
du -hs ~/.cache/ccache
save_pr_number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt
retention-days: 1
8 changes: 6 additions & 2 deletions .github/workflows/insitu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ jobs:
image: senseiinsitu/ci:fedora35-amrex-20220613
steps:
- uses: actions/checkout@v4
- name: Setup cmake
uses: jwlawson/actions-setup-cmake@v2
- name: Configure
run: |
cmake -S . -B build \
Expand Down Expand Up @@ -73,7 +75,7 @@ jobs:

catalyst:
name: Catalyst
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: github.event.pull_request.draft == false
env:
CXX: g++
Expand All @@ -83,8 +85,10 @@ jobs:
CATALYST_IMPLEMENTATION_PATHS: /opt/paraview/lib/catalyst
OMP_NUM_THREADS: 1

# Container build scripts:
# https://gitlab.kitware.com/christos.tsolakis/catalyst-amrex-docker-images
container:
image: kitware/paraview:ci-catalyst-amrex-warpx-20240701
image: kitware/paraview:ci-catalyst-amrex-warpx-20240828
steps:
- uses: actions/checkout@v4
- name: Configure
Expand Down
15 changes: 0 additions & 15 deletions .github/workflows/intel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -194,18 +194,3 @@ jobs:
# python3 -m pip install --upgrade build packaging setuptools wheel
# PYWARPX_LIB_DIR=$PWD/build_sp/lib/site-packages/pywarpx/ python3 -m pip wheel .
# python3 -m pip install *.whl

save_pr_number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt
retention-days: 1
15 changes: 0 additions & 15 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,18 +85,3 @@ jobs:
export OMP_NUM_THREADS=1
mpirun -n 2 Examples/Physics_applications/laser_acceleration/inputs_test_3d_laser_acceleration_picmi.py
save_pr_number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt
retention-days: 1
18 changes: 7 additions & 11 deletions .github/workflows/post-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,13 @@ on:
types:
- closed

# This workflow does not have the permission to clean up cache for PRs
# originated from a fork. The purpose here is to trigger a workflow_run
# cleanup-cache-postpr.yml that has the right permission.

jobs:
cleanup:
noop:
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt
retention-days: 1
- name: No OP
run: echo "This workflow is going to trigger CleanUpCachePostPR."
15 changes: 0 additions & 15 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -222,18 +222,3 @@ jobs:
run: |
export OMP_NUM_THREADS=1
mpirun -n 2 Examples/Physics_applications/laser_acceleration/inputs_test_3d_laser_acceleration_picmi.py
save_pr_number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Save PR number
env:
PR_NUMBER: ${{ github.event.number }}
run: |
echo $PR_NUMBER > pr_number.txt
- uses: actions/upload-artifact@v4
with:
name: pr_number
path: pr_number.txt
retention-days: 1
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ repos:
# Python: Ruff linter & formatter
# https://docs.astral.sh/ruff/
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.2
rev: v0.6.3
hooks:
# Run the linter
- id: ruff
Expand Down
9 changes: 1 addition & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Preamble ####################################################################
#
cmake_minimum_required(VERSION 3.20.0)
cmake_minimum_required(VERSION 3.24.0)
project(WarpX VERSION 24.08)

include(${WarpX_SOURCE_DIR}/cmake/WarpXFunctions.cmake)
Expand Down Expand Up @@ -29,13 +29,6 @@ if(POLICY CMP0104)
cmake_policy(SET CMP0104 OLD)
endif()

# We use simple syntax in cmake_dependent_option, so we are compatible with the
# extended syntax in CMake 3.22+
# https://cmake.org/cmake/help/v3.22/policy/CMP0127.html
if(POLICY CMP0127)
cmake_policy(SET CMP0127 NEW)
endif()


# C++ Standard in Superbuilds #################################################
#
Expand Down
5 changes: 5 additions & 0 deletions Docs/source/acknowledge_us.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,11 @@ Prior WarpX references

If your project uses a specific algorithm or component, please consider citing the respective publications in addition.

- Shapoval O, Zoni E, Lehe R, Thévenet M, and Vay J-L.
**Pseudospectral particle-in-cell formulation with arbitrary charge and current-density time dependencies for the modeling of relativistic plasmas**.
Physical Review E **110**, 025206, 2024.
`DOI:10.1103/PhysRevE.110.025206 <https://doi.org/10.1103/PhysRevE.110.025206>`__

- Sandberg R T, Lehe R, Mitchell C E, Garten M, Myers A, Qiang J, Vay J-L and Huebl A.
**Synthesizing Particle-in-Cell Simulations Through Learning and GPU Computing for Hybrid Particle Accelerator Beamlines**.
Proc. of Platform for Advanced Scientific Computing (PASC'24), *PASC24 Best Paper Award*, 2024.
Expand Down
31 changes: 27 additions & 4 deletions Docs/source/highlights.rst
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,11 @@ Laser-Plasma Interaction

Scientific works in laser-ion acceleration and laser-matter interaction.

#. Garten M, Bulanov S S, Hakimi S, Obst-Huebl L, Mitchell C E, Schroeder C B, Esarey E, Geddes C G R, Vay J-L, Huebl A.
**Laser-plasma ion beam booster based on hollow-channel magnetic vortex acceleration**.
Physical Review Research **6**, 033148, 2024.
`DOI:10.1103/PhysRevResearch.6.033148 <https://doi.org/10.1103/PhysRevResearch.6.033148>`__

#. Knight B, Gautam C, Stoner C, Egner B, Smith J, Orban C, Manfredi J, Frische K, Dexter M, Chowdhury E, Patnaik A (2023).
**Detailed Characterization of a kHz-rate Laser-Driven Fusion at a Thin Liquid Sheet with a Neutron Detection Suite**.
High Power Laser Science and Engineering, 1-13, 2023.
Expand Down Expand Up @@ -141,8 +146,8 @@ Scientific works in astrophysical plasma modeling.

#. Klion H, Jambunathan R, Rowan ME, Yang E, Willcox D, Vay J-L, Lehe R, Myers A, Huebl A, Zhang W.
**Particle-in-Cell simulations of relativistic magnetic reconnection with advanced Maxwell solver algorithms**.
arXiv pre-print, 2023.
`DOI:10.48550/arXiv.2304.10566 <https://doi.org/10.48550/arXiv.2304.10566>`__
The Astrophysical Journal **952** 8, 2023.
`DOI:10.3847/1538-4357/acd75b <https://doi.org/10.3847/1538-4357/acd75b>`__


Microelectronics
Expand Down Expand Up @@ -173,8 +178,13 @@ Scientific works in High-Performance Computing, applied mathematics and numerics

Please see :ref:`this section <acknowledge_warpx_all_refs>`.

Nuclear Fusion - Magnetically Confined Plasmas
**********************************************
Nuclear Fusion and Plasma Confinement
*************************************

#. Affolter M., Thompson R., Hepner S., Hayes E. C., Podolsky V., Borghei M., Carlsson J., Gargone A., Merthe D., McKee E., Langtry R.,
**The Orbitron: A crossed-field device for co-confinement of high energy ions and electrons**.
AIP Advances **14**, 085025, 2024.
`DOI:10.1063/5.0201470 <https://doi.org/10.1063/5.0201470>`__

#. Nicks B. S., Putvinski S. and Tajima T.
**Stabilization of the Alfvén-ion cyclotron instability through short plasmas: Fully kinetic simulations in a high-beta regime**.
Expand All @@ -185,3 +195,16 @@ Nuclear Fusion - Magnetically Confined Plasmas
**Accelerated kinetic model for global macro stability studies of high-beta fusion reactors**.
Physics of Plasmas **30**, 122508, 2023.
`DOI:10.1063/5.0178288 <https://doi.org/10.1063/5.0178288>`__

Plasma Thrusters and Electric Propulsion
****************************************

#. Xie L., Luo X., Zhou Z. and Zhao Y.,
**Effect of plasma initialization on 3D PIC simulation of Hall thruster azimuthal instability**.
Physica Scripta, **99**, 095602, 2024.
`DOI:10.1088/1402-4896/ad69e5 <https://doi.org/10.1088/1402-4896/ad69e5>`__

#. Marks T. A. and Gorodetsky A. A.,
**Hall thruster simulations in WarpX**.
38th International Electric Propulsion Conference, Toulouse, France, 2024.
`DOI:10.7302/234915 <https://doi.org/10.7302/23491>`__
4 changes: 2 additions & 2 deletions Docs/source/install/dependencies.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ WarpX depends on the following popular third party software.
Please see installation instructions below.

- a mature `C++17 <https://en.wikipedia.org/wiki/C%2B%2B17>`__ compiler, e.g., GCC 8.4+, Clang 7, NVCC 11.0, MSVC 19.15 or newer
- `CMake 3.20.0+ <https://cmake.org>`__
- `CMake 3.24.0+ <https://cmake.org>`__
- `Git 2.18+ <https://git-scm.com>`__
- `AMReX <https://amrex-codes.github.io>`__: we automatically download and compile a copy of AMReX
- `PICSAR <https://github.com/ECP-WarpX/picsar>`__: we automatically download and compile a copy of PICSAR
Expand Down Expand Up @@ -81,7 +81,7 @@ Conda (Linux/macOS/Windows)

.. code-block:: bash
conda create -n warpx-cpu-mpich-dev -c conda-forge blaspp boost ccache cmake compilers git lapackpp "openpmd-api=*=mpi_mpich*" openpmd-viewer python make numpy pandas scipy yt "fftw=*=mpi_mpich*" pkg-config matplotlib mamba mpich mpi4py ninja pip virtualenv
conda create -n warpx-cpu-mpich-dev -c conda-forge blaspp boost ccache cmake compilers git "heffte=*=mpi_mpich*" lapackpp "openpmd-api=*=mpi_mpich*" openpmd-viewer python make numpy pandas scipy yt "fftw=*=mpi_mpich*" pkg-config matplotlib mamba mpich mpi4py ninja pip virtualenv
conda activate warpx-cpu-mpich-dev
# compile WarpX with -DWarpX_MPI=ON
Expand Down
1 change: 1 addition & 0 deletions Docs/source/install/hpc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ This section documents quick-start guides for a selection of supercomputers that
hpc/quartz
hpc/summit
hpc/taurus
hpc/tioga

.. tip::

Expand Down
Loading

0 comments on commit 6d4396f

Please sign in to comment.