Age | Commit message (Collapse) | Author | Files | Lines |
|
* Define: _OPENMP -> AMREX_USE_OMP
Replace the define check of `_OPENMP` with the explicit
backend control of `AMREX_USE_OMP` for parallel constructs.
Doing so avoids that we accidentially turn on OpenMP, e.g. if a dependency
pulls it in for linear algebra, I/O, etc. This can led to confusion if the
user explicitly requested a serial build. Also, we might want to use OpenMP
functionality here and there for auxiliary functions w/o having to use the
AMReX OpenMP backend, i.e. because we compile for GPUs.
* Add missing amrex::Gpu::notInLaunchRegion
|
|
* Fix bug in momentum-conserving interpolation function
* Reset checksum benchmark for CI test momentum-conserving-gather
|
|
|
|
* fix warnings
* fixed bug
|
|
* fixed some warnings
* add missing files
* fixed bug
* fix several other warnings
* add missing include
* fixed bug
* fixed bug
* fixed bug
* fixed bug
|
|
|
|
* Pass refinement ratio as argument to interpolation functions
* Use new general interpolation function
|
|
* Fix: PSATD Comm. Runtime Switch (FDTD)
Fix a missing PSATD runtime conversion in communication.
This switch could have potentially influenced FDTD
simulations if PSATD was compiled but not used.
Co-authored-by: David Grote <grote1@llnl.gov>
* WARPX_USE_PSATD in WarpX.cpp: Fixes
Fix more logic compile-time bugs that should be runtime.
* Read algo.maxwell_solver early
* Fix: Use-After-Free
Co-authored-by: David Grote <grote1@llnl.gov>
|
|
* Fix bug in interpolation function
* Reset benchmarks
|
|
* Docs: PSATD Runtime Option
* Tests: PSATD Runtime Option
Add new runtime option to PSATD regression test matrix.
* PICMI: PSATD runtime option
* Source: PSATD Runtime Option
|
|
* Implement Galilean PSATD equations on staggered grids
* Implement high-order interpolation in 2D/3D
* Include missing header file and small clean-up
* Fix bug for FDTD build
* Small clean-up
* Modify current correction for staggered grids
* Implement comoving PSATD scheme (formulation with rho)
* Fix single-precision builds
* Do not implement rho-free formulation for comoving PSATD yet
* Invert sign of comoving velocity to match Galilean convention
* Fix two bugs in comoving PSATD algorithm
* Update benchmark of CI test momentum-conserving-gather
* Update benchmark of CI test PlasmaAccelerationMR
* Update documentation
* Clean up comoving PSATD class
* Clean up comoving PSATD class (more)
* Clean up comoving PSATD class (more)
* Implement changes requested in PR review
* Add 2D regression test for staggered Galilean PSATD
* Add 2D regression test for staggered comoving PSATD
* Unify input files for new CI tests to avoid duplication
* Fully rebase benchmarks changes on development
* Update benchmark of Galilean hybrid test after #1536
|
|
* fixed unused variable
* eliminate superfluous include
|
|
* First cut of adding filtering of rho diagnostic - not yet working
* Fixed the handling of parallel transfers in RhoFunctor when filtering is turned on
* Fixed end of line space
* In RhoFunctor, only do kspace filter with RZ and PSATD
* PICMI analytic applied fields (#1306)
* PICMI Added applied fields
* PICMI fixed typo in Constants
* Change picmistandard version requirement to 0.0.9
* Increment required picmi version
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Updated checksums with filter of diagnostic rho
* Fix comment in rho diagnostic
* Updated LaserIonAcc2d benchmark after filtering rho
* Update galilean_rz_psatd benchmark with filtering of rho
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
|
|
* replace wherever possible .reset(new with = make_unique
* fixed bug
* fixed bug
* revert WarpXOpenPMD.cpp to the original version
* removed another .reset(new
|
|
* New reduced diag: number of macroparticles
* Add parentheses in header line
* Apply suggestions from code review
Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
* Add some consts
* Fuse some lines with std::ofstream
Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
|
|
* Use fewer guard cells for deposition
* Update some CI benchmarks
* Revert "Update some CI benchmarks"
This reverts commit 2f40062557d75e3f6b2d3ba284332b8a92a0d404.
* Check if shapes and guard cells are compatible only for rho
* Do not allocate one extra guard cell for J
* Add more relaxed check on shapes and guard cells for J
|
|
|
|
Use the enums `MaxwellSolverAlgo` consequently for value of
`WarpX::maxwell_solver_id`.
|
|
This PR fixes the source of several compilation warnings.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
* Rename Input to `algo.maxwell_solver`
Rename the input option `algo.maxwell_fdtd_solver` to
`algo.maxwell_solver` and throw a useful error message for users
using the old option.
This is in preparation to unify FDTD and PSATD input control to
reduce mutually exclusive binary variants of WarpX.
* MW Solver Name: Update Examples
Update all example to use the new algo.maxwell_solver option.
* Fix typo in comutation of dt
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Removed unused variables and made 'vy=v_galilean[1]' declaration conditional on 3D case (this fixes compiler warnings)
* Avoid unnecessary conversion from 'double' to 'int' (this fixes compiler warnings)
|
|
* 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>
|
|
* [skip travis] CMake: Add CMake Scripts
This add CMake scripts for the CMake build system generator.
* CUDA Support Achieved
Fastest compile via:
cmake .. -DENABLE_CUDA=ON -DCUDA_ARCH=6.0
* CMake: openPMD & QED
* CMake: Dimension Support
WarpX_DIMS=2,3,RZ
* CCache & Out-of-Source
Enable CCache when found and prevent in-root builds (in-source okay-ish).
* CMake: CUDA C++ Language Minimum
* Add new Files
* CI: Migrate macOS to CMake
* Fortran: Enable Because Transitive
... for now :)
* CI: Migrate Linux ICC to CMake
* CI: Verbose Make
* CMake: Add Missing PSATD Sources
* CMake: PSATD, Compute, Precision, Clean
|
|
|
|
* Move interpolation functions for MR to new folder
* Preparatory clean-up of old namespace Average for future MR functions
* Add interpolation for MR in new namespace Coarsen
* Change file names Average.H/.cpp to Coarsen.H/.cpp
* Remove Source/Parallelization/WarpXComm.H (not necessary anymore)
* Coarsening for IO and MR in separate files
* Clean up IO and MR Coarsen namespaces
* Remove old interpolation functions (charge and current)
* Void commit: trigger Travis CI build
* Fix GPU build
* Void commit: trigger Travis CI build
* Add Python script to test interpolation points/weights in 1D
* Move using-directives inside namespaces
* Add Doxygen documentation and comments
* Minor style changes
* Improve new Python script
|
|
Cleanup
Cleanup
|
|
|
|
|
|
* fixing bug to initialize CellCenterFunctor for Bx
* new function to initialize diag functors called from regrid
* add comments and clean
* more cleaning
* use of unique_ptrs to prevent memory leak
* fixing eol
* Apply suggestions from code review
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* rho_new in PSATD defined using unique_ptr
* initialize field functor per level
* adding a comment for input lev
* more comments
* clearning
* comments
* space in function when called
* fix eol
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
* Clean-up hybrid code
* Remove Fortran interface
|
|
eol
bool doRedistribute
|
|
|
|
* Efficiency safeguard
Add load balance efficiency threshold
Formatting
Minor
EOL
[skip ci] Minor
[skip ci] Fix
* EOL
|
|
* Includes: Only From `Source/`
Avoid adding all directories to include paths:
- automatically structure includes more clearly, e.g. a util include
with a short name is clearly seen as such
- should have some small positive impact on compile time, since the
compiler has to search less directories for an include file
* Includes: Fix Non-Local Paths
Add missing prefix relative to `Source/` for WarpX-local includes.
|
|
Remove the listing of all header-files from the Make-buildsystem.
Listing public header files here tells the AMReX Makefile build
system to install those in an install step after build. WarpX is
currently not building a public library which can be consumed by
users for their projects and only an executable.
|
|
* Fix compiler warnings with DIM=2
* Fix compiler warnings with USE_RZ=TRUE
* Fix compiler warnings with USE_PSATD=TRUE and DIM=2
* Fix compiler warnings with USE_PSATD=TRUE and DIM=3
* Fix bug: discard only return value when calling DefineAndReturnParticleTile
* Remove unused variables not triggering warnings
|
|
* [WIP] costs mf --> costs vector
* [WIP] costs vector
* [WIP] vector costs
* formatting
* makefile
* [WIP] costs vector
* [WIP] *= costs
* wts do not need to divide by num cells
* Tiling safety on CPU
* Add tests
* EOL
* Remove unneeded input
* Update Source/WarpX.H costs documentation
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Update timers with times only if user Timers update
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* add dev synch
* Update Regression/WarpX-tests.ini
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Delete inputs_loadbalance_costs_heuristic
* Update and rename inputs_loadbalancecosts_timers to inputs_loadbalancecosts
* Update WarpX-tests.ini
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
* WIP add reduced diagnostic for cost
* WIP add costs reduced diagnostic
* WIP costs reduced diagnostic
* WIP costs reduced diags
* Reduced costs
* Reduced cost diagnostic
* Reduced cost diagnostic
* Reduced cost diagnostic
* Reduced diagnostics costs
* AMREX_ASSERT Works only with heuristic costs (for now)
* GNUmakefile
* Doc
* Doc
* Remove unneeded
* Documentation
* Space
* Whitespace
* AMREX_ASSERT
* whitespace
* Update authors
* Member variable naming convention
* Remove verbose if else
* Remove verbose if else
* PR review suggestions
* whitespace
* makefile
* Change from Costs-->LoadBalanceCosts
* Update docs
* Put separator to beginning of header loop
* Put separator to beginning of header loop
* whitespace
* Update documentation
* WIP reduced diags
* WIP costs RD to not modify WarpX object
* WIP Documentation for ComputeCostsHeuristic
* WIP whitespace
* Add test for reduced_diagnostics_cost
* whitespace
* Test tolerance
* Add a crucial closing bracket
* plt_interval
* minor
* Analysis script
* RD costs test
* Comments
* execute permissions
* prtl-->particle
* Remove indentation level; remove comments
* Remove comments
* remove whitespace
|
|
(#787)
* Added optional user defined number of quard cells to use with PSATD solver.
* Removed temporary comments.
* Changed names nx_guard_psatd to psatd.nx_guard for consistency.
|
|
* Create inputs
* fixed stuff
* Make smaller test
* Re-use EvolveEM for ES calculation
* Use correct variable const_dt
* Avoid out of bound and modify computation of electrostatic field
* Update test file
* Remove tab
* Minor refactoring of space-charge calculation
* Remove old electrostatic files
* Fix electrostatic test
* Rename WarpXEvolveEM to WarpXEvolve
* Use if conditions instead of ifdef
* Correct initialization of `do_electrostatic`
* Fix static variable
* Add documentation for `do_electrostatic`
* Remove more electrostatic code
Co-authored-by: dbizzozero <dbizzozero@users.noreply.github.com>
|
|
* Issue #713: Load Balance w.r.t. number of cells + particles
README: Update Badged to `master` (#725)
* README: Update Badged to `master`
Update the badges to check the `master` branch as development branch.
* Docs: More dev->master updates
- release workflow
- contribution guide link
Galilean PSATD with shift (#704)
* 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
* 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
* Preparation for merging dev into galilean.
* 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
* Converted tab to spaces
* Removed EOL white space
* Add documentation and automated tests
* Fix compilation error
* Add automated test
* Update automated test
* Removed temporary used galilean shift
* Removed temporary used particle's push for Galilean PSATD
* Removed unused statement
* Remove EOL white space.
* Added zero shift for LowerCorner in RZ geometry
* Minor changes to Galilean implementation
* Modifications for GPU
* Fix typo
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
[mini-PR] when a cufft error occurs, print a meaningful error message (#728)
* added method to translate cufft errors
* fixed style
* bug fixing
avoid duplicate tests and plot less often (#726)
* avoid duplicate tests and plot less often
* fix tests I broke when trying to save plotfiles
doc install yt on Summit (#729)
* doc install yt on Summit
* eol
Do not use local Redistribute for electrostatic solver (#731)
Add Reset Random Seed Feature (#717)
* Add ResetRandomSeed
* Add doc
* Modify and change location of the code.
* Small fix
* Try to fix an alert
* Try to fix an alert
* Modify based on suggestions
* Use INT_MAX
* Modify based on suggestions.
* Modify based on suggestions.
openPMD: warn if step is already written (#718)
* making sure iterations are written at most once.
* prints a warning when iteration is written more than once
writting is not stopped
* Fixed tabs
* included <iostream> as requested by Axel
Minor refactoring of space-charge calculation (#732)
Improve clarity and documentation
Minor
Update GNUmakefile
Update based on comments
Update GNU Makefile
Formatting
Formatting
Formatting
Formatting
Remove unneeded function
Removed unneeded function
Formatting
Formatting
Formatting
Whitespace
Minor
Formatting
Formatting
Formatting
Formatting
Formatting
Formatting
Formatting
whitespace
Formatting
Minor
Formatting
Remove unneeded template function
Change import
Minor
Formatting
Remove unused variable
Formatting
Update Source/WarpX.H
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Update Source/Parallelization/WarpXRegrid.cpp
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Remove `n_particles` and `n_cells`
Update Source/WarpX.H
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Revert clear costs in case of edge case
Update to use new load_balance_api in AMReX
Tabs
Minor
* minor: indentation in Source/WarpX.H
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
Use the `clang-tidy` pass `misc-unused-parameters` to remove unused
parameter warnings.
https://clang.llvm.org/extra/clang-tidy/checks/misc-unused-parameters.html)
Committed as generic user so git does not credit the many lines to me:
```bash
GIT_AUTHOR_NAME="Tools" GIT_AUTHOR_EMAIL="warpx@lbl.gov" \
git commit
```
|
|
- 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.
|
|
* add warpx profiler wrapper
* call WX profiler wrapper instead of BL
* EOL and cleaning
* add doc on profile syncs
* do not use PROFILE macros in .H files
* replace WX_PROFILE with WARPX_PROFILE and use bool instead of int
* typo
* this file shouldn't be there
|
|
* make the option to exchange all guard cells safer
* EOL ****
* more consistent naming in guard cells test script
|
|
* 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
* 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
* Preparation for merging dev into galilean.
* 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
* Converted tab to spaces
* Removed EOL white space
* Add documentation and automated tests
* Fix compilation error
* Add automated test
* Update automated test
* Removed temporary used galilean shift
* Removed temporary used particle's push for Galilean PSATD
* Removed unused statement
* Remove EOL white space.
* Added zero shift for LowerCorner in RZ geometry
* Minor changes to Galilean implementation
* Modifications for GPU
* Fix typo
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
|
|
|