Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Commit for adding new wake function scripts and charge deposition script * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * CSR Model C++ Draft * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Revert changes to examples. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Delete examples/cfbend/Wakefield_Functions_Bend_copy.py Not part of this PR. * Delete examples/chicane/open_PMD_to_ASCII_copy.py Not part of this PR. * Delete examples/fodo/openPMD_to_ASCII.py Not part of this PR. * Created wakefields directory and moved all relevant wake function files into it. Created 2 new files for the wake force momentum kick. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Delete src/particles/ChargeBinning.H * Delete src/particles/ChargeBinning.cpp * Delete src/particles/WakeConvolution.H * Delete src/particles/WakeConvolution.cpp * Added new paths to files to compile * Added necessary paths to new wakefields directory for compilation * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update ImpactX.cpp by deleting lines responsible for plotting * Update ImpactX.cpp by adding plotting script (commented) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Removed variable hardcoding by reading in all function parameters * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update src/particles/wakefields/WakePush.cpp Co-authored-by: Chad Mitchell <[email protected]> * Update src/particles/wakefields/WakePush.cpp Co-authored-by: Chad Mitchell <[email protected]> * Update src/particles/wakefields/WakePush.cpp Co-authored-by: Chad Mitchell <[email protected]> * Access variables directly using ablastr * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update WakePush.cpp * Added changes to python binding modules to include wakefield python test. * Added python bindings for wakefield python test * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * CMake: `ImpactX_FFT` Option Modernize FFT build. * CMake: Ensure non-FFT Builds Still Work Guard FFTW logic and throw runtime errors if used but not built. * Docs: FFTW Installation * Added wake copy test with binning functions * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add binning python bindings to all relevant files * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added working wakefield plotting test script in python * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update test_wake_copy.py * Updated wakefield files giving expected emittance growth * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Added CSR scripts to run and analyze CSR wake effects in chicane * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update analysis_chicane_csr.py * Added CSR tests to examples/CMakeLists.txt * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update README.rst Added CSR example description. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update CMakeLists.txt Modify to lowercase. * Added CSR inputs * Added CSR inputs * Delete tests/python/test_wake.py * Delete tests/python/test_wake_copy.py * Added wakefield plotting script * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Removed unused variables from wakefields files * Edited files for checks * Addressing check errors in wake files * Edited WakePush to allow force indexing * Update WakePush.cpp * Update WakePush.H * Update WakePush.cpp * Ensure test_wake.py only runs for MPI turned off * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update test_wake.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Delete tests/python/test_wake.py * Update CMakeLists.txt * Update test_charge_deposition.py * Update test_charge_deposition.py * Update test_charge_deposition.py * Update CMakeLists.txt * Simplify FFTs: R2C and C2R * CMake: Fix ABLASTR FFTW Superbuild Forgot to forward FFT request. * FFTW -> AnyFFT from ABLASTR This requires a PR to WarpX/ABLASTR that we will post separately. * C++ Files: Copyright Headers * Updated variable double to Real type * Update src/particles/ImpactXParticleContainer.H Co-authored-by: Axel Huebl <[email protected]> * Update main.cpp * Update src/particles/wakefields/ChargeBinning.cpp Co-authored-by: Axel Huebl <[email protected]> * Update src/particles/wakefields/WakePush.H Co-authored-by: Axel Huebl <[email protected]> * Update src/particles/wakefields/WakePush.cpp Co-authored-by: Axel Huebl <[email protected]> * Update WakePush.cpp * Update src/ImpactX.cpp Co-authored-by: Axel Huebl <[email protected]> * Minor edits to import statements and declarations in wakefield files * Encapsulate all wakefield header files in wakefields namespace * Added namespace changes to .cpp files and ImpactX.cpp * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add Docstrings, Formatting Co-authored-by: Alex Bojanich <[email protected]> * Fix Signed/Unsigned Warning * Added template functions for handling CSR bend elements * Remove global variable declaration for charge * Added last function for calculating mean transverse position. Created singular function call for wakefield effects. Updated function that accesses bend elements. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update Doxygen Argument Name * Cleaning: Leftover Changes Remove leftover changes that change files we do not touch. Minimize the diff of this PR. * More Cleaning * GPU Support * CMake: Comment in CSR Test * add_impactx_test: new simpler interface * MPI Support * Add .rst CSR effects documentation. Ensure momentum update values are valid. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Sphinx/rst Formatting * Verbatim Options * Update src/particles/wakefields/WakePush.cpp Co-authored-by: Axel Huebl <[email protected]> * Update src/particles/wakefields/WakePush.cpp Co-authored-by: Axel Huebl <[email protected]> * Update src/particles/wakefields/WakePush.cpp Co-authored-by: Axel Huebl <[email protected]> * Update src/particles/wakefields/WakePush.cpp Co-authored-by: Axel Huebl <[email protected]> * Update docs/source/usage/parameters.rst Co-authored-by: Chad Mitchell <[email protected]> * Update docs/source/usage/parameters.rst Co-authored-by: Chad Mitchell <[email protected]> * Update examples/chicane/README.rst Co-authored-by: Chad Mitchell <[email protected]> * Add variable descriptions to WakePush * Bugfix: Vectors Default-Init Zero For some reason, AMReX device vector does not auto-allocate to default value type (as `std::vector` does). This fixes isfinite issues in slope. * FFT: Fix FFT Array Sizes Leftover from C2C rewrite to R2C & C2R FFTs: The array sizes vary in that case for input and output. https://www.fftw.org/fftw3_doc/One_002dDimensional-DFTs-of-Real-Data.html * Fix: `bin_size` Upper bound had an off-by-one error for binning. * Fix Wake Function Eval and Simplify Padding * Python: User-Facing Bindings & Docs * Updated w_l_csr function to deal with s=0 case * Cleaning: Debug and non-GPU Print - does not work on GPU - super costly in the hot loop, debug only * Update WakePush.cpp Comment unused variable. * Update WakePush.cpp Restore cw_size - it is used after all. * Update WakePush.cpp Try a conditional declaration of cw_size. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update WakeConvolution.H Add bin_size to documentation in w_l_csr. * FFT & CSR: Earlier User-Facing Abort and some cleaning * Test: Only with FFT * Docs: Minor Updates * CSR: Support `ExactSbend` * Include Cleanup * CI: FFTW on Windows * Doc: Split Example Table of Content * Inline Comments: OpenMP For follow-up PRs on how to add OpenMP support. * Rename: `ExecuteWakefield.H` -> `HandleWakefield.H` To match the function and macros within. * ChargeBinning: OpenMP Works, but will not be as fast as it could be. * Review: Fix Default & Docstring Co-authored-by: Chad Mitchell <[email protected]> * Tighter Tolerances Co-authored-by: Chad Mitchell <[email protected]> * Analysis: Remove hard-coded number of particles * Update analysis_chicane_csr.py Relax tolerance 2.5 -> 3.5. * Fix Typo: Convolved Co-authored-by: Chad Mitchell <[email protected]> --------- Co-authored-by: Alex Bojanich <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Chad Mitchell <[email protected]> Co-authored-by: Axel Huebl <[email protected]>
- Loading branch information