Age | Commit message (Collapse) | Author | Files | Lines |
|
* added helper function to rebuild MultiFabs and iMultiFabs during load balancing and included rebuilding of EB multifabs
* added redistribute call for the particle boundary buffer during load balancing
* consistently use DistribtionMap rather than dmap in ElectrostaticSolver.cpp
* applied suggested changes from code review by Phil Miller
* removed default argument for redistribute in RemakeMultiFab
* removed RemakeMultiFab() as a member of WarpX
* Only remake EB multifabs if they are used
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
* adapted existing particle scraping test (PICMI version) to also cover the redistribution of particle buffers from load balancing
* added redeclaring of m_borrowing
* Move redeclaring of m_borrow inside if statement for ECT solver algorihtm
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
* added calls to MarkCells and ComputeFaceExtensions
* fixed issue causing CI test to fail and copied conditionals from WarpXInitData.cpp to recompute EB quantities
* Guard cells communication for EB data when re-gridding (#105)
* Add 2D circle EB test (#2538)
* Added embedded_circle test
* Add embedded_circle test files
* Removed diag files
* removed PICMI input file
* Update to use default regression analysis
* Added line breaks for spacing
* Added description
* Fixed benchmark file
* Added load balancing to test
* Commented out load_balancing portion of test.
This will be added back in once load balancing is fixed.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Added guard cells communication for EB data in regridding
Co-authored-by: Kevin Z. Zhu <86268612+KZhu-ME@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* moved all EB grid data calculations to a new function InitializeEBGridData() which is now called by both WarpX::InitLevelData and WarpX::RemakeLevel
* Fix typo in doc string.
Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
Co-authored-by: Lorenzo Giacomel <47607756+lgiacome@users.noreply.github.com>
Co-authored-by: Kevin Z. Zhu <86268612+KZhu-ME@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
|
|
|
|
|
|
On CPU links of the GNUmake Python lib, we forgot our `-g`, which we
add to all build and optimization types. THis is part of the
`LINKFLAGS` variable.
|
|
|
|
* Cell Center Macroscopic Properties
* Commit Suggestions from PR Review
* Fix Error for 2D
Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
|
|
* Added embedded_circle test
* Add embedded_circle test files
* Removed diag files
* removed PICMI input file
* Update to use default regression analysis
* Added line breaks for spacing
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Added description
* Added Ar and Xe to pre-defined particle types
* added Boltzmann's constant to pre-defined constants and cleaned up the MCC CI test input
* Added Boltzmann's constant to warpx parser
* cleaned up embedded circle CI test input
* Remove duplicate entry.
Co-authored-by: kzhu-ME <kevin.zhu@modernelectron.com>
Co-authored-by: Kevin Z. Zhu <86268612+KZhu-ME@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Enhanced inline documentation of EB related data
* Added ECT to the glossary
* Made the EB documentation doxygen-compatible
|
|
* Refactoring the nborrow functions
* Refactoring the one cell extension
* Refactoring the eight cells extension
* Enabling 2D
* Bug fix
* Some more improvements
* Fixing templates
* Switching the order of templates and AMREX_GPU_DEVICE
* Adding the needed AMREX_GPU_DEVICE in WarpX.H
* Fixing GPU related issues
* Fixed a for loop bound
* Making the new functions free
* Suggestion from review
* Suggestion from review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Suggestion from review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Improve loops over dimensions for 2D
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
* Added embedded_circle test
* Add embedded_circle test files
* Removed diag files
* removed PICMI input file
* Update to use default regression analysis
* Added line breaks for spacing
* Added description
* Fixed benchmark file
* Added load balancing to test
* Commented out load_balancing portion of test.
This will be added back in once load balancing is fixed.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Fix an auto-converted label in a `.rst` file for the manual.
Remove the `PML.tex` file.
|
|
* AMReX: Weekly Update
* PICSAR: Weekly Update
|
|
* Fix conflict with upstream
* Apply suggestions from code review
* Remove space in the end of lines
* Include suggestions from PR review
* Generalize ROMIO Hints in Batch Scripts
* Fix Comment
* Fix Comment
* Remove duplication
* Formatting
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* add remake of phi_fp during load balancing RemakeLevel
* added phi_cp remake to RemakeLevel function
* revert changes from previous commit
|
|
* Fix Instability in PML with PSATD
Damping in PML should be applied before the communications between the regular grids and PML, and between PML grids take place, otherwise the ghost cells are filled with lagged information, which results in an instability. Closes #2525.
* Update checksum of the pml_psatd_dive_divb_cleaning test
|
|
* adding the FieldProbe
* adding missing file
* updating makefile
* fixing host-device problem
* Revert "fixing host-device problem"
This reverts commit 801e6fc47f19cfc42ec46e5ef1a18dcf86be3e5a.
* fixing host-device problem
* making some variables const
* adding a few comments
* Adding the FieldProbe to the documentation
* making the probe mpi-safe
* added field probe to reduced diag test
* added field probe to reduced diag analysis
* using cell-centered fields in probe diag
* removed a few typos
* Interpolating to the point instead oof cell center
* bug fix
* improved a comment
* updated documentation
* Undone an outdated change
* improving some variable names
* improving the box extraction
* making the interpolation order an input parameter
* fix a typo
* setting the field values to zero if the point is not in the domain
* skipping the communication if probe proc is IO prcessor
* Fixed typo in documentation
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
* Updating an header
* Added a comment on the probe position
* tidying up the analysis script
* fixed a comment
* removing an unused include
* improving the parsing of parameters
* fixing some comments
* making some variables const
* changed some ParticleReal into Real
* using better tags in MPI communication
* Making field probe work in 2D
* making a variable const
* initializing y_probe only in 3D
* tidying up a line which is common to 2D and 3D
* making a variable constexpr
* adding a _rt
* checking that the probe location is in one of the processors
* removing a useless if condition
* Fixing the initialization in 2D
* Avoiding scrape particles in 2D (it segfaults)
* Adding a test for 2D EB
* Fixed the areas initialization
* Initializing to zero some multifabs
* Modified the ECT solver to make it work in 2D
* Modified the cell extensions to make them work in 2D
* Improved 2D cube test
* Added 2D rotated cube test
* Adding the 2d analysis script and CI
* Removed an unused import from the analysis script
* Ignoring some unused variables
* Fixing the number of dimensions in the 2d test
* Added missing analysis for ECT
* Enabled again 2d particles scraping
* Fixing the test_name with the general logic
* Fixing the test_name with the general logic
* Removed some commented code
* Modified several preprocessor directives to check consistency EB-dimension
* Added missing semicolons
* Fixed a preprocessor directivew
* Fix typo: WARPX_DIM_XZ
* Improving some comments
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Adding some more consistency checks
* Adding some more consistency checks
* Fixed a typo
Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Added Ar and Xe to pre-defined particle types
* Added Boltzmann's constant to warpx parser
* Updated documentation
|
|
Automatically copy and compile openPMD-api 0.14.3, but still supporting the 0.14.2+ range (#2150).
The 0.14.3 release solves ABI incompatibilities in C++14/17 mixed builds, among other issues (mainly read).
|
|
Add failure handling if inputs in `std::ifstream`s cannot be opened
or have problems seek-ing through them.
This should catch I/O errors early.
|
|
* Tests: numthreads to 1
We already hack this option to read `numthreads = 1` already for
benchmarks, thus we remove the confusing other values now.
* Prepare for CI: Do not Overwrite `numthreads`
|
|
We generally run only with one OpenMP threads at the moment, but
disabling OpenMP altogether causes an extra compile, which slows down
CI.
|
|
- Add macOS hints for OpenMP
- Add hints for running GNUmake regression tests locally
|
|
(#2536)
* #2534: Don't access position vector values beyond the configured dimension
* Fix particle position component used in XZ configuration
* Handle 1D case
* Move values only used in scraping function into inside-boundary condition
* Error out if scraping from EB in RZ
|
|
* Draw Gaussian beam position with amrex random engine
* Update benchmarks
* Update tolerance in space-charge tests
* Update benchmark for space charge initialization test
* Update benchmarks
* Update benchmark
* Clean-up code
* Update benchmarks
|
|
* make some code compilable with Fujitsu compiler in clang mode
* update documentation
|
|
Make sure `numpy` can be rebuilt when and were needed.
To achieve that, move numpy-specific installation hints on OpenBLAS
to the WarpX profile.
|
|
* Add pre-commit
Add basis for automated pre-commit checks.
Install locally via:
```bash
python3 -m pip install -U pre-commit
pre-commit install
```
See: https://pre-commit.com
* Cleanup: Whitespaces
* Cleanup: requirements.txt order
|
|
Weekly update to latest AMReX.
Weekly update to latest PICSAR (no changes).
```
./Tools/Release/updatePICSAR.py
./Tools/Release/updateAMReX.py
```
|
|
* Fix Bug with Tilebox for G in PML
* Reset Benchmark
|
|
|
|
buffers (#2498)
|
|
* PICMI: Add amr.max_grid_size_<x,y,z>
* Set All Flags in Python
* PICMI: Add amr.blocking_factor_<x,y,z>
|
|
* Add Python Wrappers for F,G in PML
* Add Getters for F,G Nodal Flags
* Fix Bug in <F,G>FPPMLWrapper (Default Level)
* Fix Bug in F,G Nodal Flags
* Use GetPML Method for F,G Nodal Flags
|
|
|
|
|
|
We are pretty much production stage by now.
Removing the badge also saves some space to avoid a line-break :)
|
|
* swap out AmrMesh bridge for AmrMeshParticle bridge
* make bridge class void if sensei not available
|
|
|
|
* Minor fixes to the laser particles
* Update calculation of the weights for laser antenna particles
* Correct name of the constant epsilon_0
* Correct unused variables
* Update 2D benchmarks
* Update 3D benchmarks
* Update RZ tests
* Update benchmark for pml_x_psatd
* Update energy value
|
|
The defaults were `0` (diags) and `1` (reduced diags). These defaults
can lead to user-mistakes (forgetting the parameter) and neither `0`
nor every step `1` are sensible defaults. Thus, require the user to
set this parameter in all cases.
|
|
* Update: AMReX/PICSAR to 21.11
AMReX is a post 21.11 release, due to a needed bugfix in compGrad
with EB that landed 4hrs after release.
* WarpX: 21.11
|
|
* Add logic to close snapshot when the last slice, with index 0, is filled
* fix eol
* call flush as soon as last valid Zslice is full
* clean up unwanted print statements
* add comments in code and doxygen comments
* remove commented line
* fix eol
* add doxygen comments and describe the new parameter introduced in the function
* fix typo from Axel
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/BTDiagnostics.cpp
* Update Source/Diagnostics/BTDiagnostics.cpp
* snake_style
* fix eol
* modified code so we dont use level info when setting snapshot full info
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* AMReX/PICSAR: Weekly Update (#2478)
Weekly update to latest AMReX.
Weekly update to latest PICSAR (no changes).
```
./Tools/Release/updatePICSAR.py
./Tools/Release/updateAMReX.py
```
* Update benchmarks
* Update benchmarks for 3D tests
* Update benchmarks
* Update benchmark
* Update benchmark
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
Document work-arounds for libfabric 1.6+ on Cray systems when using
data staging / streaming with ADIOS2 SST.
|
|
Update modules and software env used.
|
|
This reverts commit 7d74d4416df3c8ee2bec37d1d3173409cc9ca42e.
|
|
|
|
* added option to specify absolute tolerance for the MLMG solver used in the electrostatic field solve
* added absolute tolerance argument to the documentation
* fixed bug introduced during copy and paste
* expanded documentation for MLMG solver absolute tolerance (added unit) and added a link to the AMReX documentation describing the MLMG solver parameters
* possibly more robust handling of the MLMG convergence
* switched from std::max to amrex::max to hopefully fix compiler complaints
* updated checksum values for MCC test (background_mcc); the values changed only slightly, presumably due to a difference in the initial field solve which would now have the absolute tolerance value included, but since the Python version of this same test (which uses the direct solver) still passes the change is assumed to be inconsequential
* another try to fix the compile issues
* print a message to notify user if the max norm of rho is zero
* Apply suggestions from code review
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
* switched print statements to the new warning logger
Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
|
|
* FieldProbe using Particle
Update FieldProbe.cpp
Update FieldProbeParticleContainer.H
Updates FieldProbe and FieldProbeParticleContainer
* Make <diag>.integrate optional
The param parser query keeps te default value if no entry is found.
* Fixed number particle needed for AddNParticles
* Removing unnecessary type definition
* Added Doxygen-style comments to FieldProbe.cpp
Corrected Poynting calculation by implementing vacuum permeability
* Added Doxygen comments
* Implement virtual function ReducedDiags::AllocData() + comments
* InitData implemented
* Fixed Doxygen commenting.
* Now uses WarpX physics constant for vaccuum permeability
* forgotton comments to MultiReducedDiags
* Update Source/Diagnostics/ReducedDiags/FieldProbe.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update FieldProbe.H
* Update FieldProbe.cpp
* Update Source/Diagnostics/ReducedDiags/ReducedDiags.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/MultiReducedDiags.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/MultiReducedDiags.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update FieldProbeParticleContainer.H
* Update Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update FieldProbeParticleContainer.cpp
* Update FieldProbe.cpp
* Update FieldProbe.H
* Update Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.H
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update FieldProbeParticleContainer.cpp
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/ReducedDiags.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Changed enumerated class to struct w/ enumeration. Can remove "static_cast<int>"
* FieldProbeParticleContainer::iterator implemented
* Cleaned up output += operator, fixed output comments
* style fix
* Replaces Tabs with 4 spaces
* Defined modes and interp order to avoid GPU compilation errors
* 1 more tab fix
* EoL white spaces
* fixed a typoX
* Explicitly capturing "this" in parallel for to combat error saying "error #3223-D: Implicit capture of 'this' in extended lambda expression"
* removed unncessacesy double define
* moved output out of ParallelFor. temp variable for integrate
* Parse integrate, integrate all time steps, output setup for integrate and regular
* Fixed integrate bug.
* ammend header. integreate variable name change.
* Integrate values in input file
* updates to timing for integrate
* Update Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* whitespace
* Update Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Diagnostics/ReducedDiags/FieldProbeParticleContainer.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Apply suggestions from code review - Style
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update reduce_diag_names
* field_probe_integrate change
* review amends
* Apply suggestions from code review - Style
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Vectors + AddNParticles
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update FieldProbe.cpp
* Update FieldProbe.H
* bug fix and inputs
* reintroduce raw_fields functionality
* docs update and correction
* whitespaces
* Fix GPU Compile (raw_fields)
* changed f_probe to m_probe apropriately
* Typos
Co-authored-by: David Grote <dpgrote@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Better name for ParticleVal
* used map for observables and units
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Simplified output. Fixed double integration error
* Update FieldProbe.H
Removed unneeded variable
* comments and fixed rawFields
* white spaces
* Apply suggestions from code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update FieldProbe.H
* Guard on write
* Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Fix Syntax Error in Write
* Fix Init: Only 1 Particle (MPI)
Only one MPI rank adds a particle, which we done distribute
into the right rank.
* Fix MPI Deadlock: No Early Return
We just want to skip the write to `m_data`, not the rest
of the logic.
* Fix Probe in Domain Logic
General global check, not only on a single rank.
* Container: Add `const_iterator`
* Fix MPI Comms
* Cleaning
* Remove PrintAll Leftover
* Reduced Diags: Support LoadBalance
* Cleaning of "Definitions ()"
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: David Grote <dpgrote@lbl.gov>
|