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

Harris Sheet development merge Aug 7, 2024 #142

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
afba801
Make particle IDs valid in BoundaryScraping (#4955)
RemiLehe May 29, 2024
0e41d93
Profiler: use amrex logic for device synchronization instead of custo…
lucafedeli88 May 29, 2024
25a4c5d
Add particle boundary none (#4920)
dpgrote May 29, 2024
d7b2ed2
make RemakeMultiFab a lambda function inside WarpX::RemakeLevel (#4947)
lucafedeli88 May 29, 2024
ca5978a
Fix: `MPIInitHelpers.cpp` Macro (#4957)
ax3l May 29, 2024
54ed5cc
Picmi: allow different `random_fraction` for different species (#4951)
roelof-groenewald May 30, 2024
a40d006
AMReX/pyAMReX/PICSAR: Weekly Update (#4956)
ax3l May 30, 2024
b954937
CMake: `WarpX_PSATD` -> `WarpX_FFT` (#4912)
ax3l May 30, 2024
bfffedf
FFT-based Poisson solver follow-up (#4945)
aeriforme May 31, 2024
f9daed9
Document PICMI function `LoadInitialField` (#4962)
RemiLehe May 31, 2024
7f4b086
New Implicit Solver interface with options to select Picard or Newton…
JustinRayAngus Jun 2, 2024
fd8b4b8
Add upper bound for weight of product particles from particle resampl…
aveksler1 Jun 5, 2024
67419c6
Add initialization of extra attribs to picmi (#4972)
roelof-groenewald Jun 6, 2024
dc2c2f6
Add temperature diagnostic (#4942)
dpgrote Jun 7, 2024
e80ca98
Cleanup diagnostic dimension macros (#4973)
dpgrote Jun 8, 2024
7269f09
slightly increase tolerance for embedded_circle test (#4968)
lucafedeli88 Jun 10, 2024
a1eb908
Remove unneeded macros from AllocLevelData (#4979)
dpgrote Jun 11, 2024
a3cd47d
Release 24.06 (#4980)
ax3l Jun 11, 2024
c7b203e
group initialization and cleanup of external libraries (#4964)
lucafedeli88 Jun 11, 2024
2602b54
Fix FieldProbe Check: Particle Shape (#4983)
ax3l Jun 11, 2024
3c4e523
CMake: heFFTe Support (#4986)
ax3l Jun 13, 2024
8283320
Resetting collisionXYY Temperature (#4999)
ax3l Jun 18, 2024
41fc45b
Cleanup deposition and gather routines (#4978)
dpgrote Jun 18, 2024
8a94987
Fix typo (#5001)
lucafedeli88 Jun 18, 2024
3479492
Doc: Update WarpX Ack Text (#5004)
ax3l Jun 19, 2024
bdda0bd
Doc: Resonant excitation of plasma waves in a plasma channel (#4998)
ax3l Jun 19, 2024
8fe9c24
Warning instead of error for Background MCC (#4991)
RevathiJambunathan Jun 19, 2024
6dd5e92
AMReX/pyAMReX/PICSAR: Weekly Update (#4995)
ax3l Jun 19, 2024
1077dbc
Fix: Perlmutter heFFTe CPU (#5006)
ax3l Jun 19, 2024
03dc9b7
Fix ccache for macos (#5007)
WeiqunZhang Jun 20, 2024
3e5112f
BLAS++: v2024.05.31+ (#5012)
ax3l Jun 24, 2024
64ab258
Doc: Latest Commit of BLAS++/LAPACK++ (#5013)
ax3l Jun 24, 2024
1565175
AMReX/pyAMReX/PICSAR: Weekly Update (#5014)
ax3l Jun 25, 2024
77c0465
obvious bug fix in ElasticCollisionPerez (#5021)
JustinRayAngus Jun 29, 2024
dcdf4f7
Document how to define EB with STL file (#5023)
RemiLehe Jul 2, 2024
2d845dc
Add random seed to Examples/Tests/collision/inputs_3d (#5022)
dpgrote Jul 2, 2024
ca34cbc
Simplify VelocityProperties.cpp (#5016)
lucafedeli88 Jul 3, 2024
fbe9d6a
Fix gatherParticlesFromEmbeddedBoundaries (#5011)
lucafedeli88 Jul 3, 2024
a1980cf
Update default behavior for gathering with direct deposition (#5024)
RemiLehe Jul 3, 2024
fd2248a
Release 24.07 (#5025)
ax3l Jul 4, 2024
f9f3db5
Fix typo in parameters.rst (#5030)
arichar6 Jul 5, 2024
bf77d6d
replace std::is_same<T1, T2>::value with std::is_same_v<T1, T2> (#5028)
lucafedeli88 Jul 6, 2024
0c33365
Remove debug build type from Langmuir 2D fluid test (#5031)
EZoni Jul 8, 2024
ce9f4af
Add ability to load external particle fields from file (#4997)
oshapoval Jul 9, 2024
bca3e9a
Reset collision checksums and add particle data (#5042)
RemiLehe Jul 10, 2024
45278d7
CI: fix dimensionality of test `Python_ohms_law_solver_EM_modes_rz` (…
EZoni Jul 10, 2024
a0ce802
Specify the unit of the potential, in the documentation (#5035)
RemiLehe Jul 10, 2024
5f67151
Docs: correct formatting of `gaussian_parse_momentum_function` (#5038)
RemiLehe Jul 11, 2024
ade19e5
Remove work-around in regression testing script (#5034)
EZoni Jul 11, 2024
892f65b
CI: restore input for test `Langmuir_multi_nodal` (#5039)
EZoni Jul 11, 2024
f5ae2ec
fixed ComputeTemperature routine called from Coulomb collisions to wo…
JustinRayAngus Jul 11, 2024
a305fc6
Use latest PICMI version in documentation (#5044)
RemiLehe Jul 11, 2024
63bedff
CI: remove unused params, check particles in `collisionXYZ` (#5043)
EZoni Jul 11, 2024
dc087bf
shuffling the full list of particles for intra-species binary collisi…
JustinRayAngus Jul 12, 2024
f9748eb
Fix Lassen: BLAS++/LAPACK++ (#5050)
ax3l Jul 15, 2024
b6cf99d
Initialize with value all `aux`, `cax` fields (#5049)
EZoni Jul 15, 2024
c54eff6
ABLASTR FFT: Fix Build (#5051)
ax3l Jul 16, 2024
7d0f91a
AMReX/pyAMReX/PICSAR: Weekly Update (#5054)
ax3l Jul 16, 2024
a13a11d
Doc: Lassen Doc String h5py (#5052)
ax3l Jul 17, 2024
b58343a
Fix CMake Python IPO Control (#5055)
ax3l Jul 17, 2024
f160cfc
Change `if (bool_var == 1)` into `if (bool_var)` for readability (#5060)
lucafedeli88 Jul 19, 2024
8bf0fb0
Doc: Lassen Stays TOSS3, Fix SciPy (#5063)
ax3l Jul 19, 2024
c6bb95a
Avoid N² Operation in Binary-Pairing Coulomb Collsions (#5066)
JustinRayAngus Jul 20, 2024
7dad8f3
GNU Make: fix make clean (#5067)
WeiqunZhang Jul 22, 2024
f1af6f4
AMReX/pyAMReX/PICSAR: Weekly Update (#5074)
ax3l Jul 22, 2024
396c061
Fix again the collisionXYZ benchmark (#5083)
dpgrote Jul 25, 2024
49df0ca
[WIP] Recompute the macroscopic properties everytime the moving windo…
RemiLehe Jul 25, 2024
eda6af5
Update script to compile WarpX on Frontier (OLCF) (#5076)
lucafedeli88 Jul 25, 2024
675369d
PICMI (Bucket): NumPy 2.0 Compatibility (#5075)
ax3l Jul 25, 2024
5343aa8
Add PRL citation (#5093)
RemiLehe Jul 29, 2024
b1e7932
Improving Coulomb collision method for weighted-particles (#5091)
JustinRayAngus Jul 29, 2024
e26f7ef
Fix FFT python interface, take 2 (#5081)
archermarx Jul 29, 2024
24c0711
AMReX/pyAMReX/PICSAR: Weekly Update (#5095)
ax3l Jul 29, 2024
3413568
CI: remove unused parameter `analysisOutputImage` (#5097)
EZoni Jul 29, 2024
4ac5962
Fix bug with ES solver and MR: `E_aux=E_fp` in `UpdateAuxilaryData` (…
oshapoval Jul 30, 2024
c8a2479
Enable tiling in some `MFIter` loops (#5096)
EZoni Jul 30, 2024
8705777
Add documentation for binomial smoother (#5099)
RemiLehe Jul 30, 2024
128ed9e
Expose more diagnostics options in PICMI (#5100)
RemiLehe Jul 31, 2024
f10aa70
Doc: HPSF & Gov Links (#5085)
ax3l Jul 31, 2024
9cab6f9
Doc: Pitzer (OSC) (#5064)
Wang-Zhongwei Aug 1, 2024
67796e4
ABLASTR: Pass `GridType` instead of Global (#5106)
ax3l Aug 1, 2024
6d54864
PICMI interface for implicit solvers (#5101)
dpgrote Aug 1, 2024
f1f3c38
Treat external field types consistently (#5104)
roelof-groenewald Aug 2, 2024
2837f55
Update test to use lasy 0.5.0 (#5111)
RemiLehe Aug 6, 2024
53605cd
Fix bug in `PrintMainPICparameters` (uninitialized values) (#5114)
EZoni Aug 7, 2024
db2fbcd
Temporarily disable `openbc_poisson_solver` (#5117)
ax3l Aug 7, 2024
ffb16f3
CI: Clean out Pip Caches (#5110)
EZoni Aug 7, 2024
b25467e
Merge remote-tracking branch 'upstream/development' into HSdevmerge_2…
hklion Aug 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .github/workflows/clang_tidy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
dim: [1, 2, RZ, 3]
name: clang-tidy-${{ matrix.dim }}D
runs-on: ubuntu-22.04
timeout-minutes: 120
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -43,7 +44,7 @@ jobs:
-DWarpX_DIMS="${{ matrix.dim }}" \
-DWarpX_MPI=ON \
-DWarpX_COMPUTE=OMP \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_QED=ON \
-DWarpX_QED_TABLE_GEN=ON \
-DWarpX_OPENPMD=ON \
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
-DWarpX_OPENPMD=ON \
-DWarpX_openpmd_internal=OFF \
-DWarpX_PRECISION=SINGLE \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON \
-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON
cmake --build build_sp -j 4
Expand Down Expand Up @@ -115,8 +115,8 @@ jobs:
which nvcc || echo "nvcc not in PATH!"

git clone https://github.com/AMReX-Codes/amrex.git ../amrex
cd ../amrex && git checkout --detach 7ca419ebb90da60fefc01d8c1816846fff8638a5 && cd -
make COMP=gcc QED=FALSE USE_MPI=TRUE USE_GPU=TRUE USE_OMP=FALSE USE_PSATD=TRUE USE_CCACHE=TRUE -j 4
cd ../amrex && git checkout --detach 20e6f2eadf0c297517588ba38973ec7c7084fa31 && cd -
make COMP=gcc QED=FALSE USE_MPI=TRUE USE_GPU=TRUE USE_OMP=FALSE USE_FFT=TRUE USE_CCACHE=TRUE -j 4

ccache -s
du -hs ~/.cache/ccache
Expand Down Expand Up @@ -168,7 +168,7 @@ jobs:
-DWarpX_PYTHON=OFF \
-DAMReX_CUDA_ARCH=8.0 \
-DWarpX_OPENPMD=ON \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DAMReX_CUDA_ERROR_CROSS_EXECUTION_SPACE_CALL=ON \
-DAMReX_CUDA_ERROR_CAPTURE_THIS=ON
cmake --build build -j 4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/hip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:
-DWarpX_MPI=ON \
-DWarpX_OPENPMD=ON \
-DWarpX_PRECISION=SINGLE \
-DWarpX_PSATD=ON
-DWarpX_FFT=ON
cmake --build build_sp -j 4

export WARPX_MPI=OFF
Expand Down Expand Up @@ -115,7 +115,7 @@ jobs:
-DWarpX_MPI=ON \
-DWarpX_OPENPMD=ON \
-DWarpX_PRECISION=DOUBLE \
-DWarpX_PSATD=ON
-DWarpX_FFT=ON
cmake --build build_2d -j 4

export WARPX_MPI=OFF
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
- name: CCache Cache
uses: actions/cache@v4
with:
path: /Users/runner/Library/Caches/ccache
path: ~/Library/Caches/ccache
key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }}
restore-keys: |
ccache-${{ github.workflow }}-${{ github.job }}-git-
Expand All @@ -53,7 +53,7 @@ jobs:
export CCACHE_COMPRESS=1
export CCACHE_COMPRESSLEVEL=10
export CCACHE_MAXSIZE=100M
export CCACHE_DEPEND=1
export CCACHE_SLOPPINESS=time_macros
ccache -z

source py-venv/bin/activate
Expand All @@ -76,6 +76,7 @@ jobs:
cmake --build build_sp -j 3
cmake --build build_sp --target pip_install

du -hs ~/Library/Caches/ccache
ccache -s

- name: run pywarpx
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ jobs:
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_DIMS="1;2" \
-DWarpX_EB=OFF \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_QED_TABLE_GEN=ON \
-DWarpX_QED_TOOLS=ON

Expand Down Expand Up @@ -127,7 +127,7 @@ jobs:
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_DIMS="RZ;3" \
-DWarpX_EB=OFF \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_PRECISION=SINGLE \
-DWarpX_PARTICLE_PRECISION=SINGLE \
-DWarpX_QED_TABLE_GEN=ON
Expand Down Expand Up @@ -211,7 +211,7 @@ jobs:
cmake -S . -B build \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_APP=OFF \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_PYTHON=ON \
-DWarpX_QED_TABLE_GEN=ON
cmake --build build -j 4 --target pip_install
Expand Down Expand Up @@ -260,7 +260,7 @@ jobs:
-GNinja \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DWarpX_DIMS="RZ;1;2;3" \
-DWarpX_PSATD=ON \
-DWarpX_FFT=ON \
-DWarpX_QED=ON \
-DWarpX_QED_TABLE_GEN=ON \
-DWarpX_OPENPMD=ON \
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Python/pywarpx/libwarpx*.so
d/
f/
o/
build/
build*/
tmp_build_dir/
test_dir
test_dir/
Expand Down
90 changes: 78 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Preamble ####################################################################
#
cmake_minimum_required(VERSION 3.20.0)
project(WarpX VERSION 24.05)
project(WarpX VERSION 24.07)

include(${WarpX_SOURCE_DIR}/cmake/WarpXFunctions.cmake)

Expand All @@ -16,6 +16,12 @@ endif()

# CMake policies ##############################################################
#
# Setting a cmake_policy to OLD is deprecated by definition and will raise a
# verbose warning
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE)
endif()

# AMReX 21.06+ supports CUDA_ARCHITECTURES with CMake 3.20+
# CMake 3.18+: CMAKE_CUDA_ARCHITECTURES
# https://cmake.org/cmake/help/latest/policy/CMP0104.html
Expand Down Expand Up @@ -72,7 +78,8 @@ option(WarpX_EB "Embedded boundary support" OFF)
option(WarpX_LIB "Build WarpX as a library" OFF)
option(WarpX_MPI "Multi-node support (message-passing)" ON)
option(WarpX_OPENPMD "openPMD I/O (HDF5, ADIOS)" ON)
option(WarpX_PSATD "spectral solver support" OFF)
option(WarpX_FFT "FFT-based solvers" OFF)
option(WarpX_HEFFTE "Multi-node FFT-based solvers" OFF)
option(WarpX_PYTHON "Python bindings" OFF)
option(WarpX_SENSEI "SENSEI in situ diagnostics" OFF)
option(WarpX_QED "QED support (requires PICSAR)" ON)
Expand Down Expand Up @@ -130,15 +137,28 @@ mark_as_advanced(WarpX_MPI_THREAD_MULTIPLE)

option(WarpX_amrex_internal "Download & build AMReX" ON)

if(WarpX_HEFFTE AND NOT WarpX_MPI)
message(FATAL_ERROR "WarpX_HEFFTE (${WarpX_HEFFTE}) can only be used if WarpX_MPI is ON.")
endif()

# change the default build type to Release (or RelWithDebInfo) instead of Debug
set_default_build_type("Release")

# Option to enable interprocedural optimization
# (also know as "link-time optimization" or "whole program optimization")
option(WarpX_IPO "Compile WarpX with interprocedural optimization (will take more time)" OFF)
set(_WarpX_IPO_DEFAULT OFF)
set(_WarpX_PYTHON_IPO_DEFAULT ON)
if(DEFINED CMAKE_INTERPROCEDURAL_OPTIMIZATION)
set(_WarpX_IPO_DEFAULT ${CMAKE_INTERPROCEDURAL_OPTIMIZATION})
set(_WarpX_PYTHON_IPO_DEFAULT ${CMAKE_INTERPROCEDURAL_OPTIMIZATION})
endif()
option(WarpX_IPO
"Compile WarpX with interprocedural optimization (will take more time)"
${_WarpX_IPO_DEFAULT}
)
option(WarpX_PYTHON_IPO
"Compile Python bindings with interprocedural optimization (IPO) / link-time optimization (LTO)"
ON
${_WarpX_PYTHON_IPO_DEFAULT}
)

set(pyWarpX_VERSION_INFO "" CACHE STRING
Expand All @@ -149,16 +169,28 @@ if(WarpX_APP OR WarpX_PYTHON)
set(WarpX_LIB ON CACHE STRING "Build WarpX as a library" FORCE)
endif()

# deprecated options: transition phase

if(DEFINED WarpX_PSATD)
message(WARNING "CMake option WarpX_PSATD is deprecated. Use WarpX_FFT instead.\n"
"Overwriting WarpX_FFT with '${WarpX_PSATD}' because WarpX_PSATD was set.")
set(WarpX_FFT ${WarpX_PSATD} CACHE STRING "FFT-based solvers" FORCE)
endif()

# note: we could skip this if we solely build WarpX_APP, but if we build a
# shared WarpX library or a third party, like ImpactX, uses ablastr in a
# shared library (e.g., for Python bindings), then we need relocatable code.
option(ABLASTR_POSITION_INDEPENDENT_CODE
"Build ABLASTR with position independent code" ON)
mark_as_advanced(ABLASTR_POSITION_INDEPENDENT_CODE)

option(ABLASTR_FFT "compile AnyFFT wrappers" ${WarpX_PSATD})
if(WarpX_PSATD)
set(ABLASTR_FFT ON CACHE STRING "compile AnyFFT wrappers" FORCE)
option(ABLASTR_FFT "compile AnyFFT wrappers" ${WarpX_FFT})
if(WarpX_FFT)
set(ABLASTR_FFT ON CACHE STRING "FFT-based solvers" FORCE)
endif()
option(ABLASTR_HEFFTE "compile AnyFFT wrappers" ${WarpX_HEFFTE})
if(WarpX_HEFFTE)
set(ABLASTR_HEFFTE ON CACHE STRING "Multi-Node FFT-based solvers" FORCE)
endif()

# this defined the variable BUILD_TESTING which is ON by default
Expand Down Expand Up @@ -192,7 +224,7 @@ include(${WarpX_SOURCE_DIR}/cmake/dependencies/openPMD.cmake)

# PSATD
include(${WarpX_SOURCE_DIR}/cmake/dependencies/FFT.cmake)
if(WarpX_PSATD)
if(WarpX_FFT)
# BLASPP and LAPACKPP
if(RZ IN_LIST WarpX_DIMS)
find_package(blaspp CONFIG REQUIRED)
Expand All @@ -201,6 +233,23 @@ if(WarpX_PSATD)
endif()
endif()

# multi-node FFT
if(WarpX_HEFFTE)
if(WarpX_COMPUTE STREQUAL CUDA)
set(_heFFTe_COMPS CUDA)
elseif(WarpX_COMPUTE STREQUAL HIP)
set(_heFFTe_COMPS ROCM)
elseif(WarpX_COMPUTE STREQUAL SYCL)
set(_heFFTe_COMPS ONEAPI)
else() # NOACC, OMP
set(_heFFTe_COMPS FFTW) # or MKL
endif()
# note: we could also enforce GPUAWARE for CUDA and HIP, which can still be
# disabled at runtime

find_package(Heffte REQUIRED COMPONENTS ${_heFFTe_COMPS})
endif()

# Python
if(WarpX_PYTHON)
find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
Expand Down Expand Up @@ -415,7 +464,7 @@ endif()

# Interprocedural optimization (IPO) / Link-Time Optimization (LTO)
if(WarpX_IPO)
enable_IPO("${_ALL_TARGETS}")
warpx_enable_IPO("${_ALL_TARGETS}")
endif()

# link dependencies
Expand Down Expand Up @@ -444,10 +493,20 @@ foreach(D IN LISTS WarpX_DIMS)
endif()
endif()

if(ABLASTR_HEFFTE)
target_link_libraries(ablastr_${SD} PUBLIC Heffte::Heffte)
endif()

if(WarpX_PYTHON)
target_link_libraries(pyWarpX_${SD} PRIVATE pybind11::module pybind11::windows_extras)
if(WarpX_PYTHON_IPO)
target_link_libraries(pyWarpX_${SD} PRIVATE pybind11::lto)
if(DEFINED CMAKE_INTERPROCEDURAL_OPTIMIZATION)
warpx_enable_IPO(pyWarpX_${SD})
else()
# conditionally defined target in pybind11
# https://github.com/pybind/pybind11/blob/v2.12.0/tools/pybind11Common.cmake#L397-L403
target_link_libraries(pyWarpX_${SD} PRIVATE pybind11::lto)
endif()
endif()
endif()

Expand Down Expand Up @@ -520,14 +579,21 @@ foreach(D IN LISTS WarpX_DIMS)
endif()
endif()

if(WarpX_PSATD)
target_compile_definitions(ablastr_${SD} PUBLIC WARPX_USE_PSATD)
if(WarpX_FFT)
target_compile_definitions(ablastr_${SD} PUBLIC WARPX_USE_FFT)
endif()
if(ABLASTR_FFT)
# We need to enable FFT support in ABLASTR for PSATD solver
target_compile_definitions(ablastr_${SD} PUBLIC ABLASTR_USE_FFT)
endif()

if(WarpX_HEFFTE)
target_compile_definitions(ablastr_${SD} PUBLIC WARPX_USE_HEFFTE)
endif()
if(ABLASTR_HEFFTE)
target_compile_definitions(ablastr_${SD} PUBLIC ABLASTR_USE_HEFFTE)
endif()

if(WarpX_PYTHON AND pyWarpX_VERSION_INFO)
# for module __version__
target_compile_definitions(pyWarpX_${SD} PRIVATE
Expand Down
2 changes: 1 addition & 1 deletion Docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -2301,7 +2301,7 @@ PREDEFINED = AMREX_Linux=1 \
WARPX_DIM_XZ=1 \
WARPX_USE_GPU=1 \
WARPX_USE_OPENPMD=1 \
WARPX_USE_PSATD=1 \
WARPX_USE_FFT=1 \
WARPX_QED=1 \
WARPX_QED_TABLE_GEN=1

Expand Down
2 changes: 1 addition & 1 deletion Docs/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ openpmd-viewer # for checksumAPI

# PICMI API docs
# note: keep in sync with version in ../requirements.txt
picmistandard==0.28.0
picmistandard==0.29.0
# for development against an unreleased PICMI version, use:
# picmistandard @ git+https://github.com/picmi-standard/picmi.git#subdirectory=PICMI_Python

Expand Down
8 changes: 4 additions & 4 deletions Docs/source/acknowledge_us.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ Please add the following sentence to your publications, it helps contributors ke

**Plain text:**

This research used the open-source particle-in-cell code WarpX https://github.com/ECP-WarpX/WarpX, primarily funded by the US DOE Exascale Computing Project. Primary WarpX contributors are with LBNL, LLNL, CEA-LIDYL, SLAC, DESY, CERN, and TAE Technologies. We acknowledge all WarpX contributors.
This research used the open-source particle-in-cell code WarpX https://github.com/ECP-WarpX/WarpX. Primary WarpX contributors are with LBNL, LLNL, CEA-LIDYL, SLAC, DESY, CERN, and TAE Technologies. We acknowledge all WarpX contributors.

**LaTeX:**

.. code-block:: latex

\usepackage{hyperref}
This research used the open-source particle-in-cell code WarpX \url{https://github.com/ECP-WarpX/WarpX}, primarily funded by the US DOE Exascale Computing Project.
This research used the open-source particle-in-cell code WarpX \url{https://github.com/ECP-WarpX/WarpX}.
Primary WarpX contributors are with LBNL, LLNL, CEA-LIDYL, SLAC, DESY, CERN, and TAE Technologies.
We acknowledge all WarpX contributors.

Expand All @@ -55,8 +55,8 @@ If your project uses a specific algorithm or component, please consider citing t

- 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), *submitted*, 2024.
`preprint <http://arxiv.org/abs/2402.17248>__`
Proc. of Platform for Advanced Scientific Computing (PASC'24), *PASC24 Best Paper Award*, 2024.
`DOI:10.1145/3659914.3659937 <https://doi.org/10.1145/3659914.3659937>`__

- Sandberg R T, Lehe R, Mitchell C E, Garten M, Qiang J, Vay J-L and Huebl A.
**Hybrid Beamline Element ML-Training for Surrogates in the ImpactX Beam-Dynamics Code**.
Expand Down
9 changes: 7 additions & 2 deletions Docs/source/acknowledgements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,18 @@
Funding and Acknowledgements
============================

WarpX is supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of two U.S. Department of Energy organizations (Office of Science and the National Nuclear Security Administration) responsible for the planning and preparation of a capable exascale ecosystem, including software, applications, hardware, advanced system engineering, and early testbed platforms, in support of the nation's exascale computing imperative.
WarpX is hosted by the High Performance Computing Foundation (HPSF).
If your organization wants to help steer the evolution of the HPC software ecosystem, visit `hpsf.io <https://hpsf.io>`__ and consider joining!

WarpX is supported by the CAMPA collaboration, a project of the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research and Office of High Energy Physics, Scientific Discovery through Advanced Computing (SciDAC) program.

ABLASTR seed development is supported by the Laboratory Directed Research and Development Program of Lawrence Berkeley National Laboratory under U.S. Department of Energy Contract No. DE-AC02-05CH11231.
WarpX is supported by the KISMET project, a project of the U.S. Department of Energy, Office of Science, Office of Advanced Scientific Computing Research and Office of Fusion Energy Science, Scientific Discovery through Advanced Computing (SciDAC) program.

CEA-LIDYL actively contributes to the co-development of WarpX.
As part of this initiative, WarpX also receives funding from the French National Research Agency (ANR - Plasm-On-Chip), the Horizon H2020 program and CEA.

WarpX was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of two U.S. Department of Energy organizations (Office of Science and the National Nuclear Security Administration) responsible for the planning and preparation of a capable exascale ecosystem, including software, applications, hardware, advanced system engineering, and early testbed platforms, in support of the nation's exascale computing imperative.

ABLASTR seed development was supported by the Laboratory Directed Research and Development Program of Lawrence Berkeley National Laboratory under U.S. Department of Energy Contract No. DE-AC02-05CH11231.

We acknowledge all the contributors and users of the WarpX community who participate to the code quality with valuable code improvement and important feedback.
4 changes: 2 additions & 2 deletions Docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,9 @@ def __init__(self, *args, **kwargs):
# built documents.
#
# The short X.Y version.
version = u'24.05'
version = u'24.07'
# The full version, including alpha/beta/rc tags.
release = u'24.05'
release = u'24.07'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
Loading
Loading