Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-J (Hybrid): Fix Bug with Current Centering #2181

Merged
merged 1 commit into from
Aug 16, 2021

Conversation

EZoni
Copy link
Member

@EZoni EZoni commented Aug 10, 2021

When current centering is activated, we need to deposit the current in current_fp_nodal instead of current_fp, at each multi-J deposition. SyncCurrent() will then perform finite-order centering of the data from current_fp_nodal to current_fp (nodal to staggered).

@EZoni EZoni added bug Something isn't working component: spectral Spectral solvers (PSATD, IGF) bug: affects latest release Bug also exists in latest release version labels Aug 10, 2021
@ax3l
Copy link
Member

ax3l commented Aug 11, 2021

Not sure if related, but Python_particle_attr_access was crashing. Will restart.

@ax3l ax3l requested a review from RemiLehe August 11, 2021 06:13
Copy link
Member

@ax3l ax3l left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks correct to me, thx!

On Slack, you mentioned you would like to discuss this Rémi as well when he is back later this week. If you like, we can also already merge this if your tests look better now and have a follow-up if needed.

@RemiLehe RemiLehe merged commit 29dd333 into ECP-WarpX:development Aug 16, 2021
roelof-groenewald added a commit to ModernElectron/WarpX that referenced this pull request Aug 25, 2021
* AMReX/PICSAR: Weekly Update (ECP-WarpX#2199)

Weekly update to latest AMReX.
No changes in PICSAR.

* do_pml should not be parsed anymore. (ECP-WarpX#2183)

* 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 <[email protected]>

* cleaning up docs

* Update Docs/source/usage/parameters.rst

* fix eol

Co-authored-by: Axel Huebl <[email protected]>

* Multi-J (Hybrid): Fix Bug with Current Centering (ECP-WarpX#2181)

* Use less guard cells in ParallelCopy of refined level's UpdateAuxilaryData (ECP-WarpX#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 <[email protected]>

* Update Scripts: .ini file (ECP-WarpX#2191)

Update regression tester .ini files as well in weekly/release
updates of AMReX and PICSAR.

* Minor fix to the documentation of the plasma lens (ECP-WarpX#2200)

* CI: Cancel Prev. GH Action on Push (ECP-WarpX#2202)

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.

* openPMD-api: 0.14.2 (ECP-WarpX#2150)

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.

* update use-sensei flag (ECP-WarpX#2192)

* update use-sensei flag
also add FlushFormatSensei.cpp to CMakeLists

* CMake: WarpX SENSEI Option

Co-authored-by: Axel Huebl <[email protected]>

* Rho Diags: Do Not Allocate `rho_fp/cp`, Remove `plot_rho`, `setplot_rho` (ECP-WarpX#2203)

* Bug fixed: looping over all species now within `OneStep_multiJ` (ECP-WarpX#2207)

* Bug fixed: looping over all species now within 'OneStep_multij'

* Bug fixed: looping over all laser particles within DepositCharge in multi-J

* Implemented the parsing of integer input parameters (ECP-WarpX#2138)

* 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 <[email protected]>
Co-authored-by: Axel Huebl <[email protected]>

* Ionization.H: Fix Bug (Division by Zero) (ECP-WarpX#2214)

* Add plot_raw_rho in parameters doc (ECP-WarpX#2212)

* add plot_raw_rho in parameters doc

* Update Docs/source/usage/parameters.rst

Co-authored-by: Luca Fedeli <[email protected]>

Co-authored-by: Luca Fedeli <[email protected]>

* Docs: Summit with RHEL8 (ECP-WarpX#2216)

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 🎉

Please update your `warpx.profile` on Summit, re-build your Python
virtual environment and re-compile your executables.

* Improved error handling when the libwarpx shared object library can't be loaded (ECP-WarpX#2215)

* Improved error handling when the libwarpx shared library can't be loaded

* Removed extra newline

* Improved check and ended program on error

* Particle boundary scrape (ECP-WarpX#2124)

* 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 <[email protected]>
Co-authored-by: Axel Huebl <[email protected]>

* Updated the installation instructions (ECP-WarpX#2218)

* Docs: OLCF ADIOS2 Currently Broken

Tickets open:
- OLCFHELP-3319
- ornladios/ADIOS2#2836

* Allow Silver-Mueller boundary conditions to only be applied in certain directions (ECP-WarpX#2220)

* Apply Silver-Mueller boundary only in requested direction

* Include a test with independent Silver-Mueller boundary conditions

* Correct typo in implementation

* Added transform of fields from lab to boosted frame (ECP-WarpX#2201)

* Evolve: Reorder py_afterstep and cur_time break (ECP-WarpX#2213)

* Docs: Cori PICMI Instructions (ECP-WarpX#2219)

* 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

* No particle resorting when no species (ECP-WarpX#2136)

* default sort interval for particles if there are not species

* declare parmparse

Co-authored-by: Edoardo Zoni <[email protected]>

* 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 <[email protected]>

* AMReX/PICSAR: Weekly Update (ECP-WarpX#2222)

Weekly update to latest AMReX.
No changes in PICSAR.

* Scalar field interpolator from grid to particle position (ECP-WarpX#2221)

* 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

* Check for unused WarpX environment variables when compiling (ECP-WarpX#2208)

* 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 <[email protected]>

* Ascent/SENSEI: Add Profiler (ECP-WarpX#2204)

* 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

* Enable restart with PSATD (ECP-WarpX#1367)

* 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 <[email protected]>

* Use the function `SyncRho` and the array `rho_fp` in the Electrostatic solver (ECP-WarpX#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

* Avoid an NaN in collision module (ECP-WarpX#2225)

* Update inputs_3d

* Update inputs_2d

* Update inputs_2d

* Update inputs_3d

* fix nan

* removed check for final timestep diagnostics in CI tests, should revert once installafterdiagnostics is implemented

Co-authored-by: Axel Huebl <[email protected]>
Co-authored-by: Revathi  Jambunathan <[email protected]>
Co-authored-by: Edoardo Zoni <[email protected]>
Co-authored-by: Neïl Zaim <[email protected]>
Co-authored-by: Remi Lehe <[email protected]>
Co-authored-by: Corey Wetterer-Nelson <[email protected]>
Co-authored-by: Olga Shapoval <[email protected]>
Co-authored-by: David Grote <[email protected]>
Co-authored-by: Luca Fedeli <[email protected]>
Co-authored-by: Michael Kieburtz <[email protected]>
Co-authored-by: Andrew Myers <[email protected]>
Co-authored-by: Peter Scherpelz <[email protected]>
Co-authored-by: Edoardo Zoni <[email protected]>
Co-authored-by: Yinjian Zhao <[email protected]>
@EZoni EZoni deleted the multiJ_current_centering branch October 1, 2021 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: affects latest release Bug also exists in latest release version bug Something isn't working component: spectral Spectral solvers (PSATD, IGF)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants