Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
```
error #3196-D: The enclosing parent function ("ComputeEdgeLengths") for an extended __device__ lambda cannot have private or protected access within its class
```
For:
- `ComputeEdgeLengths`
- `ComputeFaceAreas`
- `ScaleEdges`
- `ScaleAreas`
|
|
Forgot an include.
|
|
* added functionality to save particle positions from the previous step
* copied WarpX variable to local variable to fix issue with GPU and DPC++ compilation
* switched to using a species attribute to toggle whether previous positions are saved so it can be turned on for only a subset of species if desired
* changed variable name to be more verbose
* added CI test of saving the previous particle positions
* start of a table in the documentation to describe commonly used runtime attributes
* generate test benchmark data from results obtained with a 2 processor run - the same as what is done during the test
* relaxed tolerance on test
* regenerate CI test reference data with USE_PSATD=TRUE
* Update Docs/source/developers/particles.rst
Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Since the VOP bug has been fixed in the latest ROCm release v4.3,
CI can use the latest ROCm release now instead of 4.1.
We also need to work around an Ubuntu 20.04 LTS / OpenMPI 4.0.3 bug
with Clang compiles regarding the missing linker flag for libopen-pal
Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov>
|
|
of the Electrostatic solver (#2143)
* refactored parts of the electrostatic solver to allow an outside Poisson solver to be installed
* added callback to install a Poisson solver that can be used instead of the MLMG solver
* added call to the poissonsolver callback if one is installed and updated ElectrostaticSolver.cpp to calculate the electric field directly in amrex if EBs are used
* fixed issue causing ElectrostaticSphereEB test to crash
* fixed the logic for when to call computeE
* added function to allow charge density to be deposited in rho_fp from outside WarpX
* fixed inconsistency between labframe and relativistic electrostatic simulation setup
* fixed typo
* fixed issue that caused ElectrostaticSphere test to fail and removed unnecessary call to multiply E_y by -1 when doing a 2d simulation
* revert edit to error handling string
* changes requested during PR review
* additional change requested during PR review
* fixed typo
* revert unnecessary changes
|
|
Avoid `sqrt(0)` and `1/sqrt(0)` operations in the inputs for the
2D3V Laser-Ion Acceleration example.
Those can raise floating point exceptions and NaN's for resting
particles.
|
|
Generalize the member to convert the internal proper velocity
to SI momentum and back.
This is needed for BTD diagnostics, where we have a less specialized
but pinned AMReX particle container, which does not have this method.
|
|
|
|
Update AMReX to pull in new changes about:
- local variables in the parser are not reported as
undefined
- SENSEI fixes on AMRLevel (now truly opt-in)
|
|
* fix sensei component name in AMReX.cmake
* CMake: Fix Ascent/Conduit Component
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* OneStep_multiJ: Always Deposit rho in Component 0
* For Multi-J Algo Allocate only 1 Component
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
In 2D3V, we currently assigned the y position a signaling NaN in
`GetPosition`, so that it cannot be used accidentially in functions.
When we call parser functions, this value is copied even if it is not
used, raising the signaling NaN.
Rethinking the strategy, we can write more general inputs files if
we instead write a sensible default for `y` in 2D3V: `y=0`. So this
PR changes the default, which also fixes the issue.
|
|
|
|
|
|
* Fix: Missing Include Guards (FWD)
All header files need include guards to avoid double definitons.
* Fix copy-paste guard
|
|
|
|
|
|
We cannot use an anaconda base package, since anaconda ships its
own libstdc++ for its compiler stack, which is not compatible
with our compiler choice.
|
|
* Update inputs_3d
* Update inputs_2d
* Update inputs_2d
* Update inputs_3d
* fix nan
|
|
solver (#1811)
* Use `SyncRho` in Electrostatic solver
* Reuse rho_fp arrays
* Allocate arrays for rho
* Fix unused variable
* Fix bug in rho deposition
* Only use rho_fp in lab-frame Poisson solver
* Update test cases
* Incorporate PR comments
|
|
* Enable restart with PSATD
* Add new restart test
* Add new input file
* New CI Test: Fix Inputs, Fix Analysis Script
* Reuse input for Restart with FDTD
* Read time_of_last_gal_shift from Checkpoint
* Upload Benchmark for restart_psatd
* Update Benchmark for restart_psatd
Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
|
|
* Ascent/SENSEI: Add Profiler
Add overall write profilers to Ascent & SENSEI.
Add detailed profile for sub-operaions (blueprint, publish, execute)
to Ascent as well.
* Simplify One-Time Profiler Vars
|
|
* Added check for unused 'WarpX' environment variables
* Changed the approach of this
- Go through environment variables as they are used to set cmake flags, and then
check any remaining if they start with warpx.
* Improved the warning message
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* refactored distance to EB calculation to have a more general function to interpolate from a scalar field on the grid to a given position
* changed RZ error message to general interpolation function
* changed function names to specify that scalar field interpolation is for a nodal field only
|
|
Weekly update to latest AMReX.
No changes in PICSAR.
|
|
* default sort interval for particles if there are not species
* declare parmparse
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
* fix eol
* define and set sort_interval default to -1 and then reset them to 4 for GPU, -1 for CPU if there are species/lasers in the input
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* Docs: Cori PICMI Instructions
Too tricky to get right to just cross-link - add documentation how to
build & run PICMI interfaces on Cori.
* Link: Jupyter Instructions
|
|
|
|
|
|
directions (#2220)
* Apply Silver-Mueller boundary only in requested direction
* Include a test with independent Silver-Mueller boundary conditions
* Correct typo in implementation
|
|
Tickets open:
- OLCFHELP-3319
- https://github.com/ornladios/ADIOS2/issues/2836
|
|
|
|
* Some prelimary refactoring.
* missing header
* implement scraping particles that leave the domain boundaries into buffers
* fix tabs
* missing return
* merging
* remove redefinition
* functor to work around cuda bug.
* handle 2D
* Add support for EB buffer
* protect for AMREX_USE_EB, static_assert that EB and RZ aren't both on.
* fix unused
* add inputs file
* add test
* fix bugs, remove print
* fix test
* fix test path.
* remove no-op code
* adding clear particles method
* attempt at adding time stamp
* Use integer step number instead of physical time to timestamp particles; also put shared code into named functor.
* move call to before apply boundary conditions
* use more descriptive inputs parameter
* Update Source/Particles/ParticleBoundaryBuffer.cpp
* fix comp bug
* move CopyAndTimestamp to cpp file
* also move IsOutsideProblemDomain functor
* Rename to m_particle_boundary_buffer
- Name: currently only used for boundary scraping
- Singular: only one instance
* Fix missing EOF newline
* Typo: author
* Param Read / Init: Cleanup For
Simplify
Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
loaded (#2215)
* Improved error handling when the libwarpx shared library can't be loaded
* Removed extra newline
* Improved check and ended program on error
|
|
Summit has undergone a major software update to RHEL8.
The default compilers and CUDA version have been modernized, among
others providing C++17 support by default.
Also, our scientific I/O stack is now system-provided, thanks to our
Spack and E4S efforts :tada:
Please update your `warpx.profile` on Summit, re-build your Python
virtual environment and re-compile your executables.
|
|
* add plot_raw_rho in parameters doc
* Update Docs/source/usage/parameters.rst
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
Co-authored-by: Luca Fedeli <luca.fedeli@for.unipi.it>
|
|
|
|
* Implemented the integer parser
* Updated comment
* Updated documentation
* Fixed unused parameters
* Added some additional documentation
* Reworked the implementation so that expressions are evaluated as real and rounded to the nearest integer
* Fixed loop type
* Copied over initial value of variable to the real instance
* Update Source/Utils/WarpXUtil.cpp
make result const
* Update Source/Utils/WarpXUtil.cpp
make result const
* Update Source/Utils/WarpXUtil.cpp
Fix comment
* Added safeCastToInt
* Fixed adding of safeCastToInt
* Cleaned up safe casting routine
* Added parsing of more integer inputs
* Cleaned up the integer parser, removing unneeded cast from int to real
* Made x a const in safeCastToInt
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Bug fixed: looping over all species now within 'OneStep_multij'
* Bug fixed: looping over all laser particles within DepositCharge in multi-J
|
|
|
|
* update use-sensei flag
also add FlushFormatSensei.cpp to CMakeLists
* CMake: WarpX SENSEI Option
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
This updates our requirements to openPMD-api 0.14.2+
Among others, this release introduced resizable data sets, which we
will soon use for particle backtransformed diagnostics.
|
|
Save CI resources by canceling already running or waiting builds
if a PR is updated.
This was previously only done for Azure and now also for GH actions.
|
|
|
|
Update regression tester .ini files as well in weekly/release
updates of AMReX and PICSAR.
|
|
(#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>
|
|
|
|
* do_pml not parsed. remove code that was added to support both types of boundary interface
* add paranthesis
* fix eol and move to BackwardCompatibility
* missing semicolon
* Update Source/WarpX.cpp
* clean input files in examples
* delete do_pml in performance test input
* fixing an example input file in docs
* Update Source/WarpX.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* cleaning up docs
* Update Docs/source/usage/parameters.rst
* fix eol
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Weekly update to latest AMReX.
No changes in PICSAR.
|