Age | Commit message (Collapse) | Author | Files | Lines |
|
* AMREX_SPACEDIM : Boundary Conditions
* AMREX_SPACEDIM : Parallelization
* Fix compilation
* Update Source/Parallelization/WarpXComm_K.H
|
|
* Build System: Add 1D Geometry
* test PR
* test PR
* 1D cartesian yee algorithm
* fixed typo
* Fixes for PML
* 1D support related multiple changes
* Fix compilation
* change 1D to 1D_Z
* 1D Field Gather and typo fix
* 1D Charge Deposition
* Particle Pusher
* multiple changes related to 1D
* 1D diagnostics and initialization
* PlasmaInjector and PEC fixes for 1D
* clean-up delete diags file
* mobility 1D laser particle and bilinear filter
* deleted diags files
* update laser particle weight formula
* delete diags files
* Azure: Add 1D Cartesian Runner
* 1D fixes for FieldProbe
* Update Docs/source/developers/dimensionality.rst
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* 1d laser injection and langmuir test input files
* 1d tests
* clean up : delete print statements
* analyse simulation result for laser injection and Langmuir tests
* EOL
* delete input files for which there are no automated tests
* delete input files for which there are no automated tests
* add ignore_unused to remove warnings
* remove space
* Fix compilation issues
* fix error : macro name must be an identifier
* Small bug fix
* cleanup Python script for analysis
* bug fix
* bug fix
* Update ParticleProbe: Check 1D in-domain
* Update Source/Make.WarpX
* Update .azure-pipelines.yml
* Add USE_OPENPMD=FALSE to .azure-pipeline.yml
* resolve conflict
* resolve conflict
* fix typo
* Correct out-of-bound access
* Fix Particle BC in WarpXParticleContainer and correct path to checksumAPI in python analysis scripts
* EOL
* Fix bug : accessing out of bound index of cell in 1D
* remove 1d test for cartesian3d
* Fix CI check
* Slight style change
* Address review comments
* Fix GPU compilation Filter.cpp
* Fix CI
* Fix Indentation
* Address review comments
* More consistent ifdef for dimension bigger than 1
* Update Examples/Tests/Langmuir/analysis_langmuir_multi_1d.py
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update GNUmakefile
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Regression/prepare_file_ci.py
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Filter/Filter.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Filter/Filter.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Filter/Filter.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Filter/Filter.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Initialization/PlasmaInjector.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Initialization/PlasmaInjector.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* add comment inline to explain twice push_back
* Add amrex::Abort for NCIGodfreyFilter
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Prabhat Kumar <prabhatkumar@kraken.dhcp.lbl.gov>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Remi Lehe <rlehe@lbl.gov>
|
|
* WarpXComm.cpp: Use Explicit Types, not `auto`
* Use MultiFab* const instead of MultiFab* const&
|
|
* option to use single precision guard cell exhanges
* add missing files
* fix namespace issue
* change precision of comms to float
* ParmParse the single_precision_comms flag
* set back to real
* test
* make sure dst is filled
* nGrow -> nGrowVect
* restore float
* don't override valid cells
* single precision mesh
* whitespace
* wrap SumBoundary
* Wrap additional uses of FillBoundary.
* catch missing copies of ParallelCopy
* missing OverrideSyncs
* add wrapper for iMultifab
* fix typo
* moar typos
* typo
* strip single_precision_mesh option
* fix original copy
* update fusible syntax
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
* Fix: Single Precision Builds
Should not copy around data for `do_single_precision_comms`
* Docs: warpx.do_single_precision_comms
* initialize this tmp multifab to 0.0
* fix tiny profile label
* remove orig copies, they are only correct for FillBoundary
* loosen tolerance for space charge tests for single precision
* missing some setVal
* another missing setVal
* missing setVal
* add wrapper for new version of sumboundary
* add explicit cast to silence compiler warning
* add a test for single precision comms
* revert change to test precision
* add benchmark for single precision comms test
* restore tolerance I removed by mistake
* tolerance
* copyright headers
* drop tolerance for single precision tests in default analysis script
* missing python module
* bump tol again
* fix bad merge
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
|
|
|
|
* Fix PML Behavior in FillBoundary for F,G
* Update Benchmark of Test pml_psatd_dive_divb_cleaning
|
|
|
|
|
|
* SumBoundary: Use Fewer Guard Cells for J/rho
* Account for Stencil of Bilinear Filter
* Revert Last Commit, Replace SumBoundary/Copy With ParallelAdd
* Account for Stencil of Bilinear Filter
* Reset Benchmarks of Averaged Galilean Hybrid Tests
* Revert Last Commit
This reverts commit 7963176b46708eb08e7c41e67a3b0a6fe6cb2147.
* Account for Stencil of Current Centering
|
|
* Allow more work for OpenMP threads in AuxilaryData
* Better parallelization in stagger-to-nodal current interpolation
|
|
|
|
(#2144)
* Use less guard cells in ParallelCopy of refined level's UpdateAuxilaryData
* Update Source/Parallelization/WarpXComm.cpp
* Add inline comments and use explicit type for ng_src
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* Add Cost Calculations to ApplyFilter
* Add Cost Calculations to ApplyStencil
* Update Doxygen
|
|
* 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>
|
|
* Implement div(B) Cleaning With FDTD
* Add CI Test
* Clean Up
|
|
* 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 nodal synchronization of E and B fields in the main grid
* Update benchmarks
* Update value in pml analysis file and put synchronization between PSATD push and FillBoundary
* Update PML benchmarks and put the synchronization back in its original position
* Bogus change in benchmark to trigger CI again
* Update benchmarks
|
|
* Start adding centering of current
* Implement arbitrary order centering and split inputs
* No need to define a brand new interpolation function
* Update input file of hybrid CI tests
* Clean up
* Clean up more
* Fix bug and clean up
* Use current centering in two existing CI tests
* Update documentation
* Move Calls To UpdateCurrentNodalToStag Into SyncCurrent
* Add Doxygen For New Function UpdateCurrentNodalToStag
* Add Doxygen For New Functions Used For Stencil Coefficients
* Finite-Order Centering of Currents Not Implemented With MR
|
|
|
|
* 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
|
|
|
|
* CI: Always with FFTW/PSATD
Reduce build time by always building with FFTW and unifying
PSATD tests.
This also adds coverage for the case that we forget to make
`#ifdef WARPX_USE_PSATD` runtime blocks, which can
potentially be seen in FDTD runs now.
* Remove worker with environment USE_WARPX_PSATD
* Fix warpx_interp: Unconditional PSATD
Fix the `warpx_interp` function to properly enable/disable PSATD
logic based on runtime logic.
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* Clarify loop over boxes in WarpX::UpdateAuxilaryDataStagToNodal
* Loop over fabbox instead and pad with zeros beyond ghost cells
* Clean up names of source and destination arrays
|
|
gathering (#1653)
* Unify high-order Fornberg interpolation functions
* Add Doxygen documentation for new function
* Unify also FDTD linear interpolation functions
* Improve new implementation
* Compute stencil coefficients only at initialization
* Small clean-up and optimization
|
|
* Always synchronize nodal points of PML MultiFabs
* Reset benchmark for CI test pml_x_psatd
* Use new separate functions NodalSyncPML
|
|
* 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
|
|
|
|
|
|
* 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>
|
|
* 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
|
|
|
|
* 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>
|
|
|
|
* 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
|
|
|
|
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|