Age | Commit message (Collapse) | Author | Files | Lines |
|
* add more readability checks to clang-tidy CI test
* reformat check list
* starting to address issues found with clang-tidy£
* addressing issues
* remove check
* address issues
* address all issues
* address issue found with github code scanning
|
|
* Fix comments for documentation
* More fixes to comments for documentation
* Fixes in the doc files
* Fix typo in parameters.rst
|
|
* Implement First-Order PSATD Equations
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix Unused Parameter Warning
* Fix RZ Build
* Fix Normalization of G to Match PML
* Add CI Test: 3D Uniform Plasma
* Cleaning
* Update 2D CI Checksums
* Update 3D CI Checksums
* Add F,G to CI Checksums of `uniform_plasma_multiJ`
* Allow User to Choose First-Order v. Second-Order
* Add WARPX_ALWAYS_ASSERT_WITH_MESSAGE
* Rename New Class `PsatdAlgorithmFirstOrder`
* Remove Inline Comment
* Update RZ CI Checksums
* Fix inline comment
* Use auxiliary variables to avoid divisions
* Use auxiliary variables to avoid divisions
* Make `nci_psatd_stability` dir and merge inputs
* Move all Galilean tests to `nci_psatd_stability`
* Fix CI
* Fix index for backward FFT of J
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* Rename PsatdAlgorithm as PsatdAlgorithmJConstantInTime
* Add New Inputs: psatd.J_in_time, psatd.rho_in_time
* Update PSATD Classes
* Fix Bug for FDTD Build
* Fix Warning for RZ PSATD Build
* Fix Multi-J Loop w/ J Constant in Time
* Clean up
* Fix Error Message
* Fix Time of Charge Deposition for Rho Linear
* Add 3D Langmuir CI Tests w/ Multi-J Algo
* Fix Checksums of New CI Tests
* Remove Extra CI Tests (added in #3363)
* Fix CI Tests w/ Multi-J PSATD
* Add Docs for New Input Parameters
* Galilean/Comoving PSATD Not Compatible w/ J Linear
|
|
* Fill Guard Cells of Fields and Currents Independently
* Fill Guard Cells of Averaged Fields as Regular Fields
|
|
* Refactoring
* Separate Arrays (Fine Patch)
* Add Aborts w/ Current Centering, MR
* Cleaning
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* Initial version of RZ PSATD PML BCs
* Cleaned up some bugs
* Add support of do_pml_in_domain option
* Cleaned up stuff for building
* Fix PMLPsatdAlgorithm macro
* Removed unneeded variable from SpectralSolverRZ
* Change length 3 arrays to length 2 (for 2D)
* Cleanup around DampPML
* Added more checks of pml[lev]
* Added CI test for RZ PML
* Added code to update the corner guard cells
* Further updates
* Added CI test
* Fixed EOL space
* Updated CI benchmarks, removing round off fields
* Changes to CI missed on previous commit
* Various fixes for clean up
* More fixes for clean up
* Further cleanup
* Updated benchmark
* Fixed benchmarks file
* Minor cleanup
* Added round off benchmark values
* Fixed testname in analysis_pml_psatd_rz.py
* Update comment in analysis file
* Put pml_rz code in RZ and PSATD macro blocks
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add geometry.dims input to CI test input file, inputs_rz
* Cleanup to match recent changes
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
|
* Remove WarpX::J_linear_in_time
* Fix Bug
* Implement Deposition of Rho at Half Time
* Implement New Equations for E
* Fix New Equations for E
* Cleaning
* Fix Limits of X2, X3, X7
* Implement New Equations for F
* Implement New Equations for F
* Revert E Equations to Avoid Roundoff Changes
* Remove Quadratic Equations
* Remove Deposition of Rho at Half Time Step
|
|
* AMREX_SPACEDIM : Boundary Conditions
* AMREX_SPACEDIM : Parallelization
* Fix compilation
* AMREX_SPACEDIM : Initialization
* Fix Typo
* space
* AMREX_SPACEDIM : Particles
* AMREX_SPACEDIM : Evolve and FieldSolver
|
|
* Add New Spectral Index Class
* Cleaning
* Use New Spectral Index Class in PML
* Cleaning
* Reuse Available Data for divE
* Allocate Rho Data Only when Necessary
* Cleaning
* Fix Bug in RZ Geometry
* Revert Commits for Allocation of Rho Data
* Cleaning
* Update Forward Declaration Header
* Do Not Include Unnecessary Header Files
* Doxygen
* Do Not Use Separate div() Cleaning Flags
* SpectralFieldIndex: Add Missing param to Doxygen
* Remove Unused getRequiredNumberOfFields
|
|
* Do Not Always Fill Guard Cells with Inverse FFTs
* Query psatd.fill_guards from Inputs
* Clean Up and Reduce Style Changes
* Fix Bug for Periodic Single Box
* Clean Up and Reduce Style Changes
* Fix Bug for RZ PSATD
* Remove Input Parameter, Default 0 Unless Damping
* Fix CI Tests (2D)
* Fix CI Tests (3D)
|
|
* Introduce new option skip_deposition
* Properly implement the option to skip deposition
* Skip deposition for electrostatic solver
* Correct typo
* Add Index Enumerator and Equations for F/G Without Averaging
* Define new functions for current deposition and charge deposition
* Disable interpolation between levels
* Correct compilation error in RZ mode
* Add argument for relative time
* Add Index Enumerator and Equations for F/G With Averaging
* [skip ci] Add new OneStep function
* Fix compilation errors
* Correct more compilation errors
* [skip ci] Fix compilation
* Split the PSATD push into separate functions
* Add guards for rho field
* [skip ci] Use new functions in OneStep
* [skip ci] Separate the inverse transform of E_avg, B_avg
* Add deposition of rho
* [skip ci] Prevent deposition of rho if unallocated
* Fix error in deposition function
* Add subcycling of current deposition
* [skip ci] Add inverse transform of averaged fields
* [skip ci] Move component of rho
* Add function to copy J
* Temporarily deactivate contribution from F
* [skip ci] Implement call to linear in J
* Add psatd time averaging for multiJ
* [skip ci] Fix implementation of averaging
* [skip ci] Implement divE cleaning
* Fix Bug for RZ Builds
* Fix Bug for RZ Builds
* Fix Bug in Init of PML Spectral Solvers
* Cleaning
* Cleaning
* Add div(B) Cleaning (G Equation)
* Multi-J Not Implemented with Galilean PSATD or PMLs
* Add 2D CI Test Using Multi-J Scheme
* Add More Inline Comments
* Add More Inline Comments & Doxygen
* Add Doxygen for Constructor of SpectralSolver
* More Doxygen in Class SpectralSolver
* Add Doxygen for New Functions in WarpXPushFieldsEM.cpp
* Add Doxygen for New Functions in WarpX/MultiParticleContainer
* do_dive/b_cleaning Must Be True With linear_in_J Option
* Cast multij_n_depose to Real in Divisions
* New Input Syntax
* Add const where Possible, Fix Warnings
* Docs for New Input Syntax, Fix Abort Messages
* Consistent Use of Idx, IdxAvg, IdxLin
* Improve Documentation of psatd.J_linear_in_time
* Use const Type Qualifier whenever Possible
* Simplify Initialization of Pointer ion_lev
* Improve Doxygen
* Update documentation
* Add Note on NCI to Docs
* Make warpx.do_multi_J_n_depositions Not Optional
* Simplify Logic in getRequiredNumberOfFields
* Use More const Type Qualifiers
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
|
|
* initial tests with IWYU
* added a couple of forward declarations
* used iwyu on more files
* progress
* used iwyu on more files
* progress with iwyu
* progress with iwyu
* fixed bug
* progress with iwyu
* progress with IWYU
* progress with IWYU
* fixed bug
* fixed bug
* progress with IWYU
* progress with IWYU + use forward declarations in WarpX.H
* first try with .def files
* fix bugs
* progress with IWYU
* progress with IWYU
* progress with iwyu
* correct copyright
* fixed bug
* fixed bugs
* fix missing include
* fixed bug
* fix bug
* fix bug introduced during last bugfix
* use iwyu on newly added files
* add space
* fix bug
* fix missing include
* fix missing include
* fix missing include
* fixed bugs
* fixed bug
* attempt at fixing issue with math functions
* added missing include
* fixed missing include
* using _fwd.H
* fixed bug
* progress with iwyu
* update AMReX branch
* enforce alphabetic order
* progress with iwyu
* use right version of amrex
* use right version of amrex for tests
* fixed bug
* fix another bug
* fix missing include
* fix missing include
* fix missing include
* updated amrex
* initial work to document new include strategy
* updated documentation
* Fix rst & private includes
* Remove accidentially added files
* Fix rst code blocks
* one more rst block
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Add div(E)/div(B) cleaning options for PSATD in PMLs
* Pass missing flags to spectral solver in PML
* Duplicate MPI exchange and communication functions for G
* Use separate parameters for div cleaning in PMLs
* Add asserts for features that are not implemented
* Do not need to duplicate MPI exchange functions for G
* Add short documentation for new input parameters
* Set new parameters true by default with PSATD solver
* Add CI test for PML div cleaning with PSATD
* Use new syntax <diag_name>.intervals in new input file
* Reset benchmark of new CI test
* Always synchronize nodal points of G MultiFab
* Fix few warnings in 2D build
* Update Benchmark of pml_psatd_dive_divb_cleaning
* Improve Documentation of warpx.do_pml_dive_cleaning
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Improve Documentation of warpx.do_pml_divb_cleaning
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Improve Abort Message
* Clean Up
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
|
|
* Add timers
* eol
* AtomicAdd
* lev argument for getCosts
* style
* style
* wip
* eol
* .ipynb
* passing down lev
* eol
* passing lev
* eol
* Update Source/Particles/Collision/PairWiseCoulombCollision.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Add for QED and ionization routines
* eol
* remove unneeded
* mfi-->pti
* move cost
* eol
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* rocFFT support
* rocfft in 2d rz PSATD solver
|
|
* Added stub for current correction in RZ spectral solver
* Start implementation of Vay deposition
* Continue implementation of Vay deposition
* Correct deposition of D
* Add phase shift for staggered currents
* Small clean-up
* Fix units in deposition of D
* Implement average of cumulative sum (needs bug fix)
* Start fixing bug in average of cumulative sum
* Still debugging
* Cumulative sums should be correct now
* Subtract averages of cumulative sums:
- current implementation: cumulative sums, inverse Fourier transform, subtraction of averages
- needs to be tested (including units of D after Vay deposition)
- needs to be shortened (too many loops over boxes and ParallelFors)
* [skip CI] Clean up and fix units
* Still fixing units
* [skip CI] Remove temporarily averages of cumulative sums
* [skip CI] Remove distinction between staggered and nodal
* Vay and Esirkepov similar results on periodic single box:
TODO:
- debug (charge not conserved);
- try using compute_shifted_shape_factor as in Esirkepov deposition;
- clean up;
- try on multiple boxes and with correction of mode at 0 frequency.
* [skip CI] Clean up
* Fix bug in 3D deposition
* [skip CI] Clean up
* Fix 2D and 3D implementation:
- simulation results agree between direct and Vay deposition in both 2D and 3D
- Travis CI tests should pass except for check of charge conservation (debug)
* Small clean-up
* Fix bug when compiling in RZ geometry
* Add benchmark json files (will be reset later)
* Do not set zero current at zero frequency
* [skip CI] Revert last commit and clean up
* Fix small bug after reverting commit
* Set nodal test first on Travis
* Fix benchmark for nodal test in 3D
* Fix particle output for nodal test in 3D
* Fix bugs due to staggering
* Rename current nodal Travis tests
* Add Travis tests staggered in 2D and 3D
* Further clean-up after bug fix
* Abort when using Vay deposition with domain decomposition
* Add optional argument of index type to forward FFT
* Fourier shifts can be private members as before
* Small clean-up
* Clean up and improve Doxygen documentation
* Fix small bug in analysis script for 2D tests
* Fix tests (remove E and B fields from particle diags)
* Add option to fill guard cells and docs
* Fix value of last guard cell by enforcing periodicity
* Revert changes merged from #1121
* Clean up style
* Improve docs
* Fix forgotten alignment
* Improve docs
* Make base class functions VayDeposition pure
Co-authored-by: Dave Grote <dpgrote@lbl.gov>
|
|
* Read Galilean velocity
* Prepare structures for Galilean solver
* Started implementing Galilean equations
* Analytical limits for X1, X2, X3, X4 coefficients added
* Slight changes added
* Added Galilean position pusher
* Scale galilean velocity
* Remove unneeded Abort
* Fix Galilean pusher
* Allocate Theta2 array
* Fix definition of coefficients
* Increase guard cells for Galilean
* Add guard cell in particle exchange
* Added modifications for PICSAR galilean branch
* Averaged coefficients added
* Type corrected
* v_gal added to warpx_current_deposition
* v_gal added to WarpXParticleContainer.H
* Bug fixed - update particle x-position over one time step
* Fix issues with merge from dev
* Averaged fileds allocated on fine patch (Ex)
* Preparation for merging dev into galilean.
* remove TABs by hand
* Removed a tab.
* Redeclared v_galilean as a vector & related changed
* Added an automated test
* Moved v_galilean inside WarpX constructor
* Added analysis script for the automated test
* Changed name of the automated test to galilean_psatd
* Added InitializeSpectralCoefficients method
* Removed temporary comments
* Averaged fields added to FiledGather
* Added infinite order k[i]
* Setting kx_mod( kz_mod) = 0 for index = nx/2(-nz/2)
* Adding galilean shift
* Implemented galilean shift
* Changed method's name from GalileanShift to ShiftGalileanBoundary
* Added doxygen string for ShiftGalileanBoundary
* Removed never used method LowerCornerWithCentering
* Removed temporary comments
* Removed dt as a variable from DepositCharge method and its dependencies
* Changing type of v_galilean from amrex::Vector to amrex::Array
* Changed back ng_fft to be equal nox_fft
* Changed v_galilean's type from amrex::vector to amrex::array
* Removed type
* Removed temporary comments
* Added flag 'do_time_averaging' to swith from unaveraged to averaged Galilean PSATD
* Updated doxygen
* Small fix on using 'do_time_averaging' flag
* Remove some commented Print statements
* [skip ci] Further cleanup
* Fix compilation
* Guard cells update of the averaged E,B fields
* Corrected included header file accordingly
* Removed EOL
* Removed EOL
* Corrected path of the included header file
* Updated choice of the spectral solver.
* Cleanup.
* use amrex::exp instead of std::exp
* no backward FFT for avg fields if avg is off
* Need to shift avg fields in MoveWindow
* Further cleaning
* Added 2D automated test for averaged PSATD
* Added automated 2D and 3D tests for averaged PSATD
* Removed comments
* Added specifications for averaged Galilean PSATD tests.
* Bug fixed - do FillBoundary of the averaged fields only if averaged is activated
* Do shiftMF of the averaged fields only if fft_do_time_averaging=true
* Add checksum json benchmarks for averaged Galilean PSATD
* Add missing indentation
* Add missing indentation
* Updated automated analysis script
* Updated diags period
* Fixed bug: no backtransform of the averaged fields when WARPX_DIM_RZ is set
* Fixed an uninitialized variable
* Clean-up
* Changed permissions for analysis_avg_*d.py
* Compactified variables initialization via conditional assignment
* Initialized averaged E_avg, B_avg fields
* Updated automated test for 2D averaged galilean PSATD
* Updated benchmark for 2D averaged galilean PSATD
* Updated automated 2D averaged PSATD test & benchmark
* Updated automated 3D averaged PSATD test & benchmark
* Fixed typo
* Updated benchmark averaged_galilean_3d_psatd
* Initialize the averaged fields only if the averaged Galilean PSATD algorithm is enabled
* Encreased time step for automated 3D averaged Galilean PSATD (to be equal c*dt=dz while dz/dx=3)
* Updated 3D automated test: specified standard deviations `.ux_th, .uy_th, .uz_th` along each direction
* Typo from the previous commit: enabled the averaged algorithm
* Trying out another input parameters for 3D averaged automated test with v_gal = v_plasma
* Update benchmark for previously added 3D averaged automated test
* Update 2D averaged automated test and corresponding benchmark
* Revert "Updated diags period"
This reverts commit 7334729b05e96589e020c981efdb430ca095991d.
* Cleanup: removed unwanted comment.
* Added descriptions of the 2D and 3D automated tests for the averaged Galilean PSATD.
* Updated value calculated via standard Galilean PSATD.
* Encreased relative error tolerance for 3D automated test for the averaged Galilean PSATD.
* Removed to avoid duplication since it already specified in the corresponding 2D/3D input scripts.
* Removed unwanted empty lines
* Added spaces after function's names
* Removed unwanted empty line
* Removed
* Fixed indentation
* Cleanup: removed #include <math.h>
* Cleanup: removed empty lines and fixed indentation
* Added 'AvgGalileanAlgorithm.cpp' to 'CMakeLists.txt'
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
* wrap fft libraries
* implementation in cpp to avoid duplicate symbole
* delete some fftw code
* further cleaning
* typo
* pass fft plans by reference
* fix bug due to typo. Dammit, macros sometimes make it hard
* FFT wrapper also support cuFFT (not tested yet)
* eol
* further cleaning
* fix cuFFT, tested on Summit
* clean WarpX Complex checks
* pass directly the IntVect instead of the components (what were you thinking?)
* add some amrex prefix
* add a few const
* Should not need an FFT library to compile FDTD
* gather all FFT header files into one.
* eol
* minor changes in code comments.
* let dimension be chosen at runtime instead of at compile-time
* fix compilation on GPU
* add description to the wrapper namespace
|
|
* Implement periodic-single box option for spectral
* Fix out-of-bound in the periodic, single-box case
* Add documentation for periodic_single_box_fft
|
|
* fix compilation for single precision PSATD with USE_GPU
* compiles and tested on CPU also
* add sentence to doc: FFTW needs to be compiled with single precision option
* add test, better pre-proc directives indent, clearer ifdef
* use using whenever possible
* indent
* fix TravisCI matrix, and improve matrix test
* need to compile with same precision for fields and particles
|
|
|
|
* Implement div(E) diagnostics for spectral case.
* split travis tests in bigger matrix
* split more TravisCI tests, add electrostatic, use defaults values
* typo
* Move computation of div(E) to base class SpectralBaseAlgorithm.
* need to split psatd too
* consistent variable names and use function to avoid duplication
* fix typo for qed tests
* typo
* also need to update run_tests.sg
* Update copyright tags.
* change matrix
* Add test of div(E) vs rho/epsilon_0 in PML test.
* SpectralFieldIndex: reuse memory slot for Bx when computing divE.
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
- Use `""` for WarpX-local includes
- Order: WarpX `""`, AMReX `<>`, other third party includes `<>`
- Add dir prefixes for WarpX
Add order to includes by including from `Source/` onward and keeping
directory prefixes of non-local includes for clarity.
|
|
* added method to translate cufft errors
* fixed style
* bug fixing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|