Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
Raider is now Twix.
|
|
even with verbose turned off (#2197)
|
|
|
|
* Implemented new style BTD in picmi
* Added rho_species. Added documentation
|
|
Make sure we do not return an empty string in `WarpX::Version()`. In some situations, e.g., in CI/run_test.sh, the macro for the `WARPX_GIT_VERSION` version in GNUmake is set but empty.
`
Since empty versions are problematic for HDF5 attributes and confusing anyway, we return a proper `"Unknown"` in such a situation now, too.
Detected as bug in #2150
X-ref:
- https://github.com/openPMD/openPMD-api/pull/1087
- https://github.com/openPMD/openPMD-api/pull/979
|