Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* Deploy new Azure worker, for the embedded boundary test
* Correct missing end of line
* Update amrex version
* Update PICSAR version
* Update WarpX version
|
|
* Implement div(B) Cleaning With FDTD
* Add CI Test
* Clean Up
|
|
* Deploy new Azure worker, for the embedded boundary test
* Correct missing end of line
|
|
|
|
|
|
* Docs: Particle Injection in MR
Documenting what particles per cell means for our injection methods.
They all call `AddPlasma` which injects on the coarest level.
https://github.com/ECP-WarpX/WarpX/blob/f95329cf2eae659b785be722afeea5ec028a4c87/Source/Particles/PhysicalParticleContainer.cpp#L1754
https://github.com/ECP-WarpX/WarpX/blob/f95329cf2eae659b785be722afeea5ec028a4c87/Source/Particles/PhysicalParticleContainer.cpp#L206
* Doc: warpx.refine_plasma
|
|
|
|
* Ensure the geometry.coord_sys == 1 for RZ
* Fixed Examples/Tests/ElectrostaticSphere/inputs_rz
|
|
* Improve Analysis Script To Test Reduced Diagnostics
* Commit @lucafedeli88's suggestions
|
|
* 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>
|
|
I noticed a few releases back that the old git command did not work
well with our current squash commits and/or forgot commits already
before. This one fixes the recommended string in the docs.
(The releases already mention the new command for a while.)
|
|
* Fix typo in the Silver-Mueller boundary conditions
* Reset checksum for silver-mueller
|
|
Just an update to support CMake 3.20+ that starts to define
`IntelLLVM` for the ICX/DPC++ compiler from Intel's oneAPI.
|
|
* Implement Silver-Mueller boundary conditions in z for RZ
* Add automated test and benchmark
|
|
In MR simulations, particle masks are used to determine if a
fine-patch particle is in the field gather and/or current deposition
buffer regions near the coarse/fine boundaries. This is needed
because some particles deposit to / gather from the coarse level,
since they are near the level boundaries.
On regriding during load-balancing, we can avoid to communicate the
`MultiFab`s for those masks (gather and deposit) if we locally
re-build the mask in the new distribution mapping. We forgot to
trigger the rebuild, which caused illegal memory accesses in the
particle evolve (partition) down the road.
|
|
* Fix logic error when load balancing with more than 1 level.
* 0 -> false
|
|
```
./Tools/Release/updatePICSAR.py
./Tools/Release/updateAMReX.py
```
|
|
* LB PSATD regression
* reset benchmark for <test name> because ...
Co-authored-by: Tools <warpx@lbl.gov>
|
|
Document how to install openPMD-api as Python module to run QED
tests.
|
|
* initial work to test QED+openPMD output
* work towards openPMD tests
* added checksums
* fixed bug
* fix style
* add space at end
* fixed bug
* improved analysis scripts
* remove unused import
* fix bug
* comment out checksum calculation for openPMD output
* removed checksums for opmd tests
* fix bug in handling additional real components, such as optical depths
* install also openpmd-api python module for CI tests
* fixed bug in openPMD analysis script
* install openPMD python API only if needed
|
|
* 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>
|
|
|
|
* Galilean Staggered: Same Guard Cells in z as Nodal
* Update Benchmarks of Hybrid Tests
|
|
* Read boundary and set periodicity, enumerate BC types, added support for periodic
* separate particle and field boudnary structs
* Update comment for particle struct
* default pml is 0, and reset lo, hi, and do_pml to 1
* turn on pml for MR
* eol
* remove duplication
* resolving commit conflict
* explicitly setting pml_HI_MR
* default pml lo and hi to 0, and set MR pml lo and hi to the domain values if fine patch coincides with domain boundary
* set lo and hi flag for pml when do pml = 1 and domain is non-periodic
* remove commented line
* add doc
* Update Source/Utils/WarpXUtil.cpp
remove empty line
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Docs/source/usage/parameters.rst
lower case for input
* add do_pml flags for IonAcc2d and PlasmaMirror
* add pml = true in PICMI for gaussian beam and plasma acceleration
* pml is the default field BC
* adding temporary defaults for field and particle BC using periodicity
* fix temp initialization
* set default to pec if input sets pml to 0
* fix typo
* logic for both old and new pml interface
* fix eol
* change examples to original pml input with default values
* Update Docs/source/usage/parameters.rst
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* fix comments
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* Docs: fix .rst list
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
|
|
electrostatic (#1807)
* Introduce new option skip_deposition
* Properly implement the option to skip deposition
* Skip deposition for electrostatic solver
* Correct typo
|
|
* add delay to txye laser
* add delay in test
* fix bug
* fixed bug
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* 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
|
|
Replace capture of a host-side array with unnamed members for E & B
field transport with a nicely named struct that transports the
Array4's as members.
This is harder to mix up and thus more self-documenting and solves an
issue with NVCC 10.0 of the form:
```
nvcc_internal_extended_lambda_implementation: In instantiation of '__nv_dl_wrapper_t<Tag, F1, F2, F3, F4, F5>::__nv_dl_wrapper_t(F1, F2, F3, F4, F5) [with Tag = __nv_dl_tag<int (*)(amrex::ParticleTile<0, 0, 4, 0, amrex::ArenaAllocator>&, amrex::ParticleTile<0, 0, 4, 0, amrex::ArenaAllocator>&, amrex::Box, const amrex::Array4<const double> (&)[6], int, int, const SchwingerFilterFunc&, const SmartCreate&, const SmartCreate&, const SchwingerTransformFunc&), filterCreateTransformFromFAB<1, amrex::ParticleTile<0, 0, 4, 0, amrex::ArenaAllocator>, amrex::Array4<const double> [6], int, const SchwingerFilterFunc&, const SmartCreate&, const SmartCreate&, const SchwingerTransformFunc&>, 1>; F1 = amrex::Array4<double>; F2 = const SchwingerFilterFunc; F3 = const amrex::Array4<const double> [6]; F4 = const amrex::Box; F5 = int*]':
/home/ubuntu/repos/WarpX/Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H:174:28: required from 'Index filterCreateTransformFromFAB(DstTile&, DstTile&, amrex::Box, const FABs&, Index, Index, FilterFunc&&, CreateFunc1&&, CreateFunc2&&, TransFunc&&) [with int N = 1; DstTile = amrex::ParticleTile<0, 0, 4, 0, amrex::ArenaAllocator>; FABs = amrex::Array4<const double> [6]; Index = int; FilterFunc = const SchwingerFilterFunc&; CreateFunc1 = const SmartCreate&; CreateFunc2 = const SmartCreate&; TransFunc = const SchwingerTransformFunc&]'
/home/ubuntu/repos/WarpX/Source/Particles/MultiParticleContainer.cpp:1169:167: required from here
nvcc_internal_extended_lambda_implementation:70:103: error: invalid initializer for array member 'const amrex::Array4<const double> __nv_dl_wrapper_t<__nv_dl_tag<int (*)(amrex::ParticleTile<0, 0, 4, 0, amrex::ArenaAllocator>&, amrex::ParticleTile<0, 0, 4, 0, amrex::ArenaAllocator>&, amrex::Box, const amrex::Array4<const double> (&)[6], int, int, const SchwingerFilterFunc&, const SmartCreate&, const SmartCreate&, const SchwingerTransformFunc&), filterCreateTransformFromFAB<1, amrex::ParticleTile<0, 0, 4, 0, amrex::ArenaAllocator>, amrex::Array4<const double> [6], int, const SchwingerFilterFunc&, const SmartCreate&, const SmartCreate&, const SchwingerTransformFunc&>, 1>, amrex::Array4<double>, const SchwingerFilterFunc, const amrex::Array4<const double> [6], const amrex::Box, int*>::f3 [6]'
```
|
|
It should be `%s` instead of `%d`.
|
|
|
|
|
|
RTD updates its theme soon:
https://twitter.com/readthedocs/status/1379897294435196929
|
|
* Docs: How To Read Raw Data With Guard Cells
* Clean Up and Remove Obsolete Parameters
|
|
* Parser: Abort on NaN/Inf Results
If individual terms in an expression passed to the parser result in
Inf or NaN, this invalidates the whole expression result (as in usual
C).
Since this happens often in user-proveided piecewise constructed
functons, we throw an error now instead of working with the invalid
results.
* Update AMReX
* SYCL: isfinite from AMReX
We now added the wrapper in AMReX.
|
|
* Abort If More Guard Cells Than Valid Cells
* Extend Check To All Available MultiFabs
|
|
Cast the first argument of the call to `jn(f)` to `int` in the
parser.
|
|
Conda:
- add full documentation for developer env
Spack:
- document a quick way to get all Python deps
Debian/Ubuntu (Apt):
- add missing FFTW MPI libs
- add more Python dependencies
|
|
|
|
The only real change in this PR is the addition of `%option noinput` in `wp_parser.l` . This should prevent the compilation of an unused function, which caused `clang` to emit the warning message:
```
/home/luca/Projects/warpx_directory/WarpX/Source/Parser/wp_parser.lex.cpp:1558:16: warning: function 'yyinput' is not needed and will not be emitted [-Wunneeded-internal-declaration]
static int yyinput (void)
```
To regenerate the parser I simply used `make` in the parser folder, with the following versions of the tools: `bison 3.7.5` and `flex 2.6.4`.
|
|
* Allow expressions for my_constants
* Update documentation for my_constants
* Updates Langmuir input files with nice expressions
* Used better example for my_constants
* WarpXUtil: Add Includes
Add includes for new STL classes used in this file.
* Reset Benchmarks: Input Change
* Docs: small rewording (no order implied)
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Parser: Bessel Function (J_n)
Add the Bessel Function of the First Kind (J_n) to the parser.
* Parser: regenerate
* Parser: No jn for DPC++ (yet)
* Parser: no jnf for Apple
At least on AppleClang and also seen in flang source-code, we
just call the double variant of `jn` instead of using a specialized
call to `jnf`.
This might be less efficient than needed with Intel on Apple, but
I don't have a system to test this on at the moment and this is thus
a save bet for compile stability.
Co-authored-by: Tools <warpx@lbl.gov>
|
|
* compile time option for gpuclock
eol
move directives
eol
spaces
assert
fix
GPU clock: CMake option
* GPUCLOCK: ON by default
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
Fix JSON syntax error in `zenodo.json`.
Clean up some ordering in contributors.
|
|
Fix unused variable warnings in no-MPI builds.
|
|
|
|
|
|
|