aboutsummaryrefslogtreecommitdiff
path: root/Source/FieldSolver/SpectralSolver/SpectralFieldData.cpp (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2021-11-22Python: Start 1D Support (#2582)Gravatar Axel Huebl 1-5/+39
* Python: Start 1D Support Start supporting 1D builds in Python. * Fix 1D: PML FillZero unused ... since PMLs are not yet supported in 1D. * BeamRelevant: Fix unused p_pos0 * FromTXYEFileLaserProfile: Not Impl in 1D * QED Schwinger: 1D not Implemented Fix unused warnings, add aborts. * 1D RealVect/IntVect: Initialization Use explicit scalar constructors, no braces. Fix warning in clang 10. * 1D NCI Filter: Fix unused members & Init Unimplemented, but throws warnings. * PSATD: 1D not Implemented - remove compile warnings - start porting some parts * NCIGodfreyFilter: Clean up 2D & Else
2021-11-22Added abort error message to prevent using averaged Galilean PSATD with ↵Gravatar Olga Shapoval 1-0/+4
psatd.update_with_rho=0 (#2571)
2021-11-22Proton-boron fusion: compute initial momentum of produced alphas (#2330)Gravatar Neïl Zaim 7-32/+249
* Proton-boron fusion: initialize alphas momentum assuming isotropy * Remove constexpr underflow in single precision * Update Source/Particles/Collision/BinaryCollision/ProtonBoronFusionInitializeMomentum.H Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-11-22AMReX: Weekly Update (#2590)Gravatar Axel Huebl 4-4/+4
2021-11-22WarpX.cpp: Use Explicit Types, not `auto` (#2585)Gravatar Edoardo Zoni 1-16/+16
2021-11-21openPMD: 1D3V Support (#2586)Gravatar Axel Huebl 5-13/+28
Add 1D output support with openPMD.
2021-11-20Python: More Nullptr Checks (#2574)Gravatar Axel Huebl 1-0/+18
* Python: More Nullptr Checks I am debugging a couple of crashes while mitigating CI. One of them pointed to the locations here (`ValueError: NULL pointer access`), so I decided to add some checks. * Skip invalid tiles * Skip Empty Tiles But Check Pointer * Python: nullptr check in _array1d_from_pointer Make the methods `get_particle_structs` and `get_particle_boundary_buffer_structs` more robust.
2021-11-19added cost of MCC collisions to load balancing calculation (when using ↵Gravatar Roelof Groenewald 2-3/+33
Timers) (#2584)
2021-11-19add github ci compile check for ascent (#2483)Gravatar Cyrus Harrison 2-0/+115
* add github ci compile check for ascent * now with less whitespace * add ascent to insitu workflow * Update .github/workflows/insitu.yml Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * more style * try to run as existing user * new container * use env script * path fix * add ascent test * fix space * move test resources * get into style * style * Ascent CI: Cleanup (#1) - make sure inputs file stays up-to-date - locate alongside example * Update .github/workflows/insitu.yml Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update .github/workflows/insitu.yml Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * rename test file * fix for cp * improve color table for vol rendering * now with rotation Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-11-19setup.py: beta -> stable (#2570)Gravatar Axel Huebl 1-1/+1
Mark the Python meta-data as production/stable.
2021-11-19RZ PSATD, make blocking_factor a power of 2 (#2572)Gravatar David Grote 1-3/+9
* With RZ PSATD, make blocking_factor a power of 2 * Fix typo Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2021-11-19Bilinear Filter: Fix Warning (Vector) (#2575)Gravatar Axel Huebl 1-6/+6
GCC warns in some versions on the access here, since it cannot figure out the runtime size of the vectors. We can just replace `[]` with `.at()` to use a range-checked access that throws an exception instead of a segfault/UB when accessed out-of-bounds. In the preparation of the compute stencils, we don't have hot loops that benefit from non-range checked access, so that cost for improved safety is fine.
2021-11-191D3V Cartesian Support (#2307)Gravatar Prabhat Kumar 64-177/+1646
* Build System: Add 1D Geometry * test PR * test PR * 1D cartesian yee algorithm * fixed typo * Fixes for PML * 1D support related multiple changes * Fix compilation * change 1D to 1D_Z * 1D Field Gather and typo fix * 1D Charge Deposition * Particle Pusher * multiple changes related to 1D * 1D diagnostics and initialization * PlasmaInjector and PEC fixes for 1D * clean-up delete diags file * mobility 1D laser particle and bilinear filter * deleted diags files * update laser particle weight formula * delete diags files * Azure: Add 1D Cartesian Runner * 1D fixes for FieldProbe * Update Docs/source/developers/dimensionality.rst Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * 1d laser injection and langmuir test input files * 1d tests * clean up : delete print statements * analyse simulation result for laser injection and Langmuir tests * EOL * delete input files for which there are no automated tests * delete input files for which there are no automated tests * add ignore_unused to remove warnings * remove space * Fix compilation issues * fix error : macro name must be an identifier * Small bug fix * cleanup Python script for analysis * bug fix * bug fix * Update ParticleProbe: Check 1D in-domain * Update Source/Make.WarpX * Update .azure-pipelines.yml * Add USE_OPENPMD=FALSE to .azure-pipeline.yml * resolve conflict * resolve conflict * fix typo * Correct out-of-bound access * Fix Particle BC in WarpXParticleContainer and correct path to checksumAPI in python analysis scripts * EOL * Fix bug : accessing out of bound index of cell in 1D * remove 1d test for cartesian3d * Fix CI check * Slight style change * Address review comments * Fix GPU compilation Filter.cpp * Fix CI * Fix Indentation * Address review comments * More consistent ifdef for dimension bigger than 1 * Update Examples/Tests/Langmuir/analysis_langmuir_multi_1d.py Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update GNUmakefile Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Regression/prepare_file_ci.py Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Filter/Filter.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Filter/Filter.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Filter/Filter.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Filter/Filter.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Initialization/PlasmaInjector.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Initialization/PlasmaInjector.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * add comment inline to explain twice push_back * Add amrex::Abort for NCIGodfreyFilter Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Prabhat Kumar <prabhatkumar@kraken.dhcp.lbl.gov> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: Remi Lehe <rlehe@lbl.gov>
2021-11-19Mini-PR: Improve Python particle attribute access CI test (#2581)Gravatar Roelof Groenewald 3-29/+41
* updated the Python particle attribute access CI test * additional fixes needed for tests to pass * changes requested by Axel during code review * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-11-18LaserInjectionFromTXYEFile Test: Use MPI (#2577)Gravatar Axel Huebl 1-1/+2
* WarpX tests: All MPI Enable MPI for the one regression test that does not use it. Still uses one rank there. This saves a compile per CI run. * add numprocs
2021-11-18Add WARPX_PROFILE calls to each python callback. (#2573)Gravatar Peter Scherpelz 3-13/+53
When python callbacks take some time, this is useful as otherwise many callbacks are lumped together in WarpX::Evolve::step.
2021-11-18WarpXComm.cpp: Use Explicit Types, not `auto` (#2578)Gravatar Edoardo Zoni 1-26/+29
* WarpXComm.cpp: Use Explicit Types, not `auto` * Use MultiFab* const instead of MultiFab* const&
2021-11-18Bug fixes and cleanup in load balancing (#2563)Gravatar Roelof Groenewald 9-210/+152
* 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>
2021-11-18WarpXMovingWindow.cpp: Add `amrex::` Prefix (#2579)Gravatar Edoardo Zoni 1-63/+63
2021-11-18Apply PEC to Split PML Fields (#2541)Gravatar Revathi Jambunathan 4-28/+59
2021-11-16Fix: GNUmake Python Link -g (#2568)Gravatar Axel Huebl 1-1/+1
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.
2021-11-16added superLU solver example to docs (#2567)Gravatar Roelof Groenewald 1-0/+7
2021-11-16Cell Center Macroscopic Properties (#2530)Gravatar Revathi Jambunathan 6-205/+188
* Cell Center Macroscopic Properties * Commit Suggestions from PR Review * Fix Error for 2D Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2021-11-16Clean up input files for tests with MCC (#2552)Gravatar Roelof Groenewald 7-82/+71
* 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>
2021-11-16Enhanced inline documentation of EB related data (#2562)Gravatar Lorenzo Giacomel 3-8/+34
* Enhanced inline documentation of EB related data * Added ECT to the glossary * Made the EB documentation doxygen-compatible
2021-11-16Avoid code duplications in ECT face extension (#2557)Gravatar Lorenzo Giacomel 2-997/+338
* 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>
2021-11-16Fixes to the EB init (#2565)Gravatar Lorenzo Giacomel 1-3/+7
2021-11-16Add 2D circle EB test (#2538)Gravatar Kevin Z. Zhu 3-0/+137
* 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>
2021-11-15Docs: Fix .rst Label in PML, rm .tex (#2537)Gravatar Axel Huebl 4-238/+6
Fix an auto-converted label in a `.rst` file for the manual. Remove the `PML.tex` file.
2021-11-15AMReX/PICSAR: Weekly Update (#2559)Gravatar Axel Huebl 5-9/+9
* AMReX: Weekly Update * PICSAR: Weekly Update
2021-11-15 I/O performance hints for Summit (#2495)Gravatar Jean Luca Bez 3-1/+77
* 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>
2021-11-15Bugfix in load balancing routine (#2555)Gravatar Roelof Groenewald 1-0/+8
* add remake of phi_fp during load balancing RemakeLevel * added phi_cp remake to RemakeLevel function * revert changes from previous commit
2021-11-15Fix Instability in PML with PSATD (#2558)Gravatar Weiqun Zhang 2-8/+11
* 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
2021-11-122D EM solver with EB (#2401)Gravatar Lorenzo Giacomel 10-12/+582
* 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>
2021-11-12Add Ar and Xe to pre-defined particle types. (#2549)Gravatar Kevin Z. Zhu 3-2/+20
* Added Ar and Xe to pre-defined particle types * Added Boltzmann's constant to warpx parser * Updated documentation
2021-11-11openPMD: 0.14.3 (#2551)Gravatar Axel Huebl 5-6/+6
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).
2021-11-12std::ifstream: Defensive Patterns (#2547)Gravatar Axel Huebl 4-3/+15
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.
2021-11-11Tests: numthreads to 1 (#2546)Gravatar Axel Huebl 3-102/+101
* 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`
2021-11-10Regression Tests: OMP on (#2548)Gravatar Axel Huebl 1-32/+32
We generally run only with one OpenMP threads at the moment, but disabling OpenMP altogether causes an extra compile, which slows down CI.
2021-11-10Spack Development: macOS & GNUmake (#2545)Gravatar Axel Huebl 1-1/+15
- Add macOS hints for OpenMP - Add hints for running GNUmake regression tests locally
2021-11-10#2534: Don't access position vector values beyond the configured dimension ↵Gravatar Phil Miller 1-8/+18
(#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
2021-11-09Fix #2522: Gaussian beam positions do not change with warpx.random_seed (#2523)Gravatar Remi Lehe 26-546/+541
* 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
2021-11-09Fix some issues with Fujitsu compiler (#2529)Gravatar Luca Fedeli 3-23/+6
* make some code compilable with Fujitsu compiler in clang mode * update documentation
2021-11-09Summit: Update Numpy Hints (#2535)Gravatar Axel Huebl 1-3/+6
Make sure `numpy` can be rebuilt when and were needed. To achieve that, move numpy-specific installation hints on OpenBLAS to the WarpX profile.
2021-11-08Install pre-commit (#2532)Gravatar Axel Huebl 41-48/+91
* 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
2021-11-08AMReX/PICSAR: Weekly Update (#2533)Gravatar Axel Huebl 4-4/+4
Weekly update to latest AMReX. Weekly update to latest PICSAR (no changes). ``` ./Tools/Release/updatePICSAR.py ./Tools/Release/updateAMReX.py ```
2021-11-06Fix Bug with Tilebox for G in PML (#2527)Gravatar Edoardo Zoni 2-8/+8
* Fix Bug with Tilebox for G in PML * Reset Benchmark
2021-11-05Doxygen: Fix Docs (#2526)Gravatar Axel Huebl 1-4/+4
2021-11-05added wrappers to get particle structs for the particles in the boundary ↵Gravatar Roelof Groenewald 3-0/+74
buffers (#2498)
2021-11-05PICMI: Add max_grid_size, blocking_factor in (x,y,z) (#2524)Gravatar Edoardo Zoni 1-0/+28
* PICMI: Add amr.max_grid_size_<x,y,z> * Set All Flags in Python * PICMI: Add amr.blocking_factor_<x,y,z>