Age | Commit message (Collapse) | Author | Files | Lines |
|
* Implement div(B) Cleaning With FDTD
* Add CI Test
* Clean Up
|
|
|
|
* Added staircased embedded boundaris to the YEE solver
* adding spherical resonating cavity test
* adding functions for fields initialization
* style adjustments
* fixing tabs
* fixed name of analysis script
* fixed name of analysis script
* fixed a few wrong preprocessor directives
* workaround for missing boost
* Revert "workaround for missing boost"
This reverts commit 601f9eb2ec6f8c2100304379b2bea1c6cf9d1851.
* another workaround for missing boost
* getting rid of boost by depending on c++17
* Removed a few unused variables
* adding USE_EB to addToCompileString for EB testing
* removed tabs
* fixing the inputs name for EB sphere test
* shortened the test
* zero padding the names of the images
* adjusted two for loops
* removed some unused variables
* improving the fields initialization
* removed the sphere test and implemented the cube test
* fixed edges lengths computation and added comments
* Fixed the case of all_regular geometries
* fixing a bug that was breaking some tests
* adding test folder
* fixed the default values for the EB cube test
* simplified the analysis script
* fixed cubic resonator default results
* inputting the plot file name from command line
* fixing the diag name
* Fixed a bug in edges initialization
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Adding comments to the staircased yee solver (thanks Remi)
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* fixed the cube resonator test
* removed an unused import
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Fix typo in the Silver-Mueller boundary conditions
* Reset checksum for silver-mueller
|
|
* Implement Silver-Mueller boundary conditions in z for RZ
* Add automated test and benchmark
|
|
* 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>
|
|
|
|
* Added RZ Er, Et, Ez and Br, Bt and Bz
* Answered my own question
* Making Yee and cells domain check for RZ too
* Added relevant coefficients
* Derivative in z requires coefsz and n_coefsz
* Bt computed with UpwardDz
* UpwardDz might require CylindricalYeeAlgorithm.H
* Added mode 0 Bz
* Added higher-order modes for Bt
* Added higher-order modes for Bz
* Fix to EOLs
* Fix typo
* Added cylindrical specific parameters
* Fix error of #endif
* rmin also needed in RZ parameters
* T_Algo needed for RZ -> different initialization in .H
* Fix private / public function
* Replacing T_Algo by CylindricalYeeAlgorithm
* Fix typo
* ParallelFor for Br, Bt and Bz separated
* Compiled after removing unecessary Br
* Changes suggested by reviewer
* No need to compute r before if()
* Corrected real and imaginary parts of Bz
* Remove vscode file
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* Split Initialization Functions of Spectral Coefficients
* Simplify Initialization of Coefficients Without Averaging
* Do Not Store Coefficients C1,S1,C3,S3 With Averaging
* Simplify Initialization of Coefficients With Averaging
* Add amrex:: Prefix Following WarpX Style Guidelines
* Match Names Of Coefficients With/Without Averaging
* 'pow' Cannot Be Used in a Constant Expression
* Update Doxygen Documentation
|
|
* PSATD+RZ: Fix Warnings
Fix a couple of warnings in PSATD + RZ.
* BesselRoots: Missing Include & using
* Kernel & Util: Unused Code & Var
|
|
|
|
* Add function definitions for Silver-Mueller boundary condition
* Add test file
* Implement Silver-Mueller equations
* Add equations for Bz
* Add equation in the z direction
* Add equation for Bx
* Add 3D implementation
* Add documentation, automated tests, and warnings
* Include second automated test and evaluate benchmark
* Fix unused variable warning
* Fix minor bugs
* Update benchmark
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Incorporate review comments
* Incorporate more suggestions
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* 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>
|
|
|
|
* Refactor and clean up some spectral classes
* Abort when current correction or Vay deposition are not implemented
* Implement general equations for averaged Galilean
* Allocate averaged MultiFabs also when aux_is_nodal=1 and do_nodal=0
* Allocate +ngextra guard cells also for averaged MultiFabs
* Make alias MultiFabs for averaged aux data
* With averaging, interpolate from avg_fp (not fp) to aux
* Fix some limits of the coefficients
* Fix bug causing NaNs in spectral coefficients
* Add 2D CI test with same analysis as nodal test
* Add 3D CI test with same analysis as nodal test
* Add limit that was not covered (knorm=0 && knorm_c!=0 && nu=0)
* Allocate T2_coef only if Galilean algorithm is used
* Allocate X4_coef only if Galilean algorithm is used
* Remove extra ghost cell from 'avg_fp' MultiFabs
|
|
* Added RZ Poison solver
* Added test case for RZ Poisson solver
* Fixed intervals in RZ Poisson test case
* Added RZ Poisson test to regression tests
* Split ComputePhi into two routines, RZ and Cartesian
* Add declaration of new functions
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
|
|
|
|
|
|
* Fix electrostatic solver with momentum conservation
* Fix electrostatic, adding call to FillBoundaryAux
* For electrostatic, removed unneeded extra calls to UpdateAux and FillBoundary
* For electrostatic, calculate fields at the end of the time step
* Updated ElectrostaticSphere analysis script to use fields from end of time step
|
|
* Use IntVect for ng_J and ng_rho
* Compute guard cells for J and rho based on dt
* Reset some CI benchmarks
* Fix rebase commit
* Add back +1 cell for rho: fix remaining out-of-bound accesses
* Simplify ASSERTS using new interface of amrex::numParticlesOutOfRange
|
|
* 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
|
|
* fixed some warnings
* add missing files
* fixed bug
* fix several other warnings
* add missing include
* fixed bug
* fixed bug
* fixed bug
* fixed bug
|
|
* Implemented update without rho in RZ spectral solver
* Updated documentation for update_with_rho for RZ
* Tiny fix in GalileanPsatdAlgorithmRZ reordering declarations
* In Langmuir_multi_rz_psatd, set update_with_rho = 1
|
|
|
|
* Use PML diagonal components only with div cleaning
* Apply @RemiLehe's suggestions and simplify allocations
|
|
* CMake: Update GPU Backend Vars
Adopt to changes in AMReX modernizing GPU control.
Note: `WarpX_COMPUTE` for DPCPP is now called SYCL for consistency.
* GH Action: SYCL/DPC++ w/o MPI for now
does not build yet
|
|
|
|
* 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
|
|
|
|
Using namespace amrex::Gpu` is not safe because of the conflict between
`amrex::Gpu::memcpy` and `::memcpy`.
|
|
|
|
|
|
We reduce the number of command line arguments passed in the AMReX
build systems by placing defines in an `AMReX_Config.H` file that
is configured at AMReX build time. Files like `AMReX.H` will pull
it in as well.
In the case of `AnyFFT.H`, we need to make sure this is included
before we check the preprocessor defines.
|
|
* 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
|
|
* Implemented lab frame electrostatic model
* Small clean up of ComputeSpaceChargeField
* Added ElectrostaticSphereLabFrame regression test
|
|
Regression build/linker error from an outdated CMake variable.
|
|
* Implement new PML PSATD equations
* Update CI test and benchmark
* Compute coefficients C1,...,C22 on the fly
* Add check on initial energy from diagnostics
|
|
There is no need to modify the evolve routines depending on
the python build. By default, the callbacks are stored as
shared globals, which are validly initialized to nothing.
This simplifies the binary variants of WarpX.
|
|
* PSATD: only deposit charge if needed
* Update Source/FieldSolver/WarpXPushFieldsEM.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* added an option to set explicitely `max_iters` for MLMG solver
* fix EOL white spaces
* fix EOL white spaces 2
|
|
|
|
* replace wherever possible .reset(new with = make_unique
* fixed bug
* fixed bug
* revert WarpXOpenPMD.cpp to the original version
* removed another .reset(new
|
|
* RZ_SP fix
* RZ SP fix
* Fix cufft for single precision RZ.
Co-authored-by: Weiqun Zhang <weiqunzhang@lbl.gov>
|
|
* rocFFT support
* rocfft in 2d rz PSATD solver
|
|
|
|
* Fix warnings for 2D/3D PSATD builds
* Fix warnings for RZ PSATD builds
* Update FIXME comment: no known bug
* Fix remaining warning for RZ PSATD builds
|
|
|
|
* 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
|
|
* Added stub for current correction in RZ spectral solver
* Fixed comments in RZ spectral for current correction stub
* Modified automated test for Galilean PSATD (#1033)
* Impemented current correction in RZ spectral
* Implementation Galilean version of RZ spectral solver
* For RZ spectral, do forward and backward transform with current correction
* Big fix in DivEFunctor.cpp for RZ spectral
* Added RZ rho diagnostic for saving the modes
* Implemented fft_periodic_single_box for RZ spectral
* Moved routines from SpectralSolverRZ.H to .cpp
* Added hook for VayDeposition in GalileanPsatdAlgorithmRZ
* Bug fix in DivEFunctor
* Fixes and cleanup for GalileanPsatdAlgorithmRZ
* Fix line spacing in SpectralSolverRZ.H
* Fix factor 1/2 in update of Ep_m
* Fix factor 1/2 in update of Em_m
* Fix sign error in current correction in GalileanPsatdAlgorithmRZ.cpp
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Add Langmuir RZ PSATD test with current correction
* Add Galilean tests with/without current correction
* For RZ psatd, simplified copy for forward transform
* Added GalileanPsatdAlgorithmRZ.cpp to CMakeLists
* Minor cleanup in RZ spectral solver
* In GalileanPsatdAlgorithmRZ.cpp use member initialization for m_v_galilean
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Added some _rt to GalileanPsatdAlgorithmRZ.cpp
Co-authored-by: Olga Shapoval <30510597+oshapoval@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
|