aboutsummaryrefslogtreecommitdiff
path: root/Source/Python/WarpX_py.cpp (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2022-01-26Add tiny profiling to reduced diagnostics (#2794)Gravatar Neïl Zaim 1-0/+3
2022-01-26expose WarpXParticleContainer::sumParticleCharge to Python (#2790)Gravatar Roelof Groenewald 4-1/+28
2022-01-26udpate zenodo (#2784)Gravatar Hannah Klion 1-0/+5
Co-authored-by: Hannah Klion <hannah.klion@gmail.com>
2022-01-25Add SyncRho call to warpx_depositChargeDensity (#2777)Gravatar Roelof Groenewald 5-8/+16
* add SyncRho call to warpx_depositChargeDensity * expose SyncRho to Python; add warpx_clearChargeDensity to reset rho_fp before deposition * remove unneeded warpx_clearChargeDensity function * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * add (default) option to depositChargeDensity to call SyncRho after deposition * added option to depositChargeDensity to zero out rho_fp before deposition * code cleanup * import fields from inside depositChargeDensity Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2022-01-25Update .zenodo.json (#2782)Gravatar Prabhat Kumar 1-0/+5
2022-01-25Funding/Acknowledgements: CEA-LIDYL. (#2781)Gravatar Axel Huebl 1-0/+3
2022-01-25RZ FDTD: Filter Not Working (Abort) (#2775)Gravatar Edoardo Zoni 5-109/+107
* RZ FDTD: Filter Not Working (Abort) * Update CI Tests and Benchmarks
2022-01-24Docs: Crusher Load `cce` module (#2770)Gravatar Axel Huebl 1-0/+1
* Docs: Crusher Load `cce` module Without that module, HIP RDC builds do not work. https://docs.olcf.ornl.gov/systems/crusher_quick_start_guide.html#compilers * cce/13.0.0 -> cce/13.0.1 * Crusher: load `cce` after `rocm`
2022-01-24AMReX: Update latest (#2773)Gravatar Axel Huebl 4-4/+4
2022-01-24PML Exchanges: Less Duplicate Code (#2394)Gravatar Edoardo Zoni 4-162/+85
Similarly to #2375, I'm trying to see if we can reduce the amount of duplicate code, in this case for the functions `Exchange<E,B>` of the PML class. Open for discussion.
2022-01-24CI: GNUmake (#2769)Gravatar Axel Huebl 3-1/+38
Since we migrated also Azure regression tests to CMake now, we should add a GNUmake build to CI, so we don't accidentally lose this capability (we will not duplicate the whole CI matrix). Does a standard CUDA build without dependencies but enabling PSATD.
2022-01-24RZ: Add error message when using 0 order for azimuthal decomposition (#2772)Gravatar Neïl Zaim 2-0/+5
2022-01-24remove check on geometry (#2771)Gravatar Luca Fedeli 1-7/+0
2022-01-21Access species specific charge density from python (#2710)Gravatar Roelof Groenewald 8-3/+346
* added python wrapper function to deposit a specific species density in rho_fp * added 1D ES input file with MCC that uses the charge deposition functionality * reset rho_fp[lev] before depositing * updated documentation * switch to using simulation.extension in Poisson solver * Apply suggestion from code review Co-authored-by: Phil Miller <phil.miller@intensecomputing.com> * suggested changes from code review * add comment explaining why a direct Poisson solver is used * removed direct solver in 1D example since it is actually slower than the MLMG solver * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * added docstring for warpx_depositChargeDensity * fixed order of imports in new PICMI input file Co-authored-by: Phil Miller <phil.miller@intensecomputing.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2022-01-20AMReX: Update latest (#2752)Gravatar Axel Huebl 4-4/+4
2022-01-20Implement PML for the outer RZ boundary with PSATD (#2211)Gravatar David Grote 28-47/+966
* Initial version of RZ PSATD PML BCs * Cleaned up some bugs * Add support of do_pml_in_domain option * Cleaned up stuff for building * Fix PMLPsatdAlgorithm macro * Removed unneeded variable from SpectralSolverRZ * Change length 3 arrays to length 2 (for 2D) * Cleanup around DampPML * Added more checks of pml[lev] * Added CI test for RZ PML * Added code to update the corner guard cells * Further updates * Added CI test * Fixed EOL space * Updated CI benchmarks, removing round off fields * Changes to CI missed on previous commit * Various fixes for clean up * More fixes for clean up * Further cleanup * Updated benchmark * Fixed benchmarks file * Minor cleanup * Added round off benchmark values * Fixed testname in analysis_pml_psatd_rz.py * Update comment in analysis file * Put pml_rz code in RZ and PSATD macro blocks * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add geometry.dims input to CI test input file, inputs_rz * Cleanup to match recent changes Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-20Doc: Perlmutter Note `_g` Batch Script (#2767)Gravatar Axel Huebl 1-1/+2
Add one more note.
2022-01-20Docs: Clang 7+ (#2763)Gravatar Axel Huebl 1-1/+1
Seen in https://github.com/openPMD/openPMD-api/pull/1164 for `<variant>`, clang 6 is not to be recommended for C++17 compilation unless by expert users that know how to change the stdlib. Thus, let's only recommend Clang 7+. Ubuntu 18.04 (bionic/oldstable) ships clang 6 by default, but Ubuntu 20.04 (focal/stable) is already at clang 10.
2022-01-20Fix unstable Python_particle_attr_access CI tests (#2766)Gravatar Roelof Groenewald 2-5/+10
* explicitly set the numpy random seed in Python_particle_attr_access tests * also shrink boundaries in which particles are injected for good measure * also explicitly set the numpy random seed in Python_restart_runtime_components CI test
2022-01-19Sphinx: Clean Warnings/Formatting (#2758)Gravatar Axel Huebl 6-20/+24
* Sphinx: Clean Warnings/Formatting Remove formatting errors in Sphinx that caused warnings/ill-formed formatting. * Move `boundary.reflect_all_velocities` Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Fix: character after verbatim Not allowed and does render broken. * Fix broken `.. directive::` Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
2022-01-19Docs: Reorder HPC Profiles + Batch Scripts (#2757)Gravatar Axel Huebl 30-403/+422
* Docs: Reorder Summit Files * Docs: Reorder Spock Files * Docs: Reorder Cori Files * Docs: Reorder Perlmutter Files * Docs: Reorder Juwels Files * Docs: Reorder Lassen Files * Docs: Reorder Quartz Files * Docs: Reorder Ookami Files * Docs: Also Move Summit Profile Script * Listing Captions: Location in Source
2022-01-19RigidInjection_BTD: Specify H5 Backend (#2761)Gravatar Axel Huebl 1-1/+2
We default to `.bp` files when available. This results for this test in: ``` amrex::Abort::0:: Currently BackTransformed diagnostics type does not support species output for ADIOS backend. Please select h5 as openpmd backend !!! ```
2022-01-19Fix override default particle tiling (#2762)Gravatar Andrew Myers 6-16/+21
* Override the default tiling option for particles *before* WarpX is initialized. * bump AMReX version to see if tests pass. * fix typo * style * use queryAdd * namespace
2022-01-19CI: Run `initial_distribution` on 1 MPI Process (#2760)Gravatar Edoardo Zoni 1-1/+1
2022-01-19RZ: Do Not Add geometry.coord_sys (#2759)Gravatar Edoardo Zoni 1-5/+0
2022-01-19Refactor python callback handling (#2703)Gravatar Roelof Groenewald 7-170/+102
* added support to uninstall an external Poisson solver and return to using the default MLMG solver; also updated some callbacks.py calls to Python3 * refactor callback handling - use a map to handle all the different callbacks * warpx_callback_py_map does not need to link to C * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * further suggested changes from code review * added function ExecutePythonCallback to reduce code duplication * moved ExecutePythonCallback to WarpX_py * added function IsPythonCallbackInstalled Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2022-01-18Docs: Python Dev Install `--no-deps` (#2750)Gravatar Axel Huebl 3-5/+5
`--force-reinstall` will also re-install all dependencies, unless `--no-deps` is also passed. In the case of re-installing developer builds, this is what we want with pre-configured environments. Using `--no-build-isolation` with the same flag does not achieve the same effect.
2022-01-18Do Not Read/Use Centering Info if do_nodal=1 (#2754)Gravatar Edoardo Zoni 1-11/+16
2022-01-18Python: Fix UB in Inputs Passing (#2726)Gravatar Axel Huebl 1-2/+7
Trying to fix the macOS PyPy 3.7 error seen in https://github.com/conda-forge/warpx-feedstock/issues/37 Testing in https://github.com/conda-forge/warpx-feedstock/pull/38 After googling for a while, the original implementation was likely based on https://code.activestate.com/lists/python-list/704158, which contains bugs. 1) Bug: `create_string_buffer` Allocating new, null-terminated char arrays with `ctypes.create_string_buffer` does lead to scrambled arrays in pypy3.7. As far as I can see, this [should have also worked](https://docs.python.org/3/library/ctypes.html), but maybe there is a bug in the upstream implementation or the original code created some kind of use-after-free on a temporary while the new implementation just shares the existing byte address. This leads to errors such as the ones here: https://github.com/conda-forge/warpx-feedstock/pull/38#issuecomment-1010160519 The call `argvC[i] = ctypes.c_char_p(enc_arg)` is equivalent in creating a `NULL`-terminated char array. 2) Bug: Last Argv Argument The last argument in the array of char arrays `argv` in ANSII C needs to be a plain `NULL` ptr. Before this PR, this has been allocated but never initialized, leading to undefined behavior (read as: crashes). Reference: https://stackoverflow.com/a/39096006/2719194 3) Cleanup: there is a pre-defined `ctypes.c_char_p` we can use for pointer of char.
2022-01-14.editorconfig: add missing newlineGravatar Axel Huebl 1-0/+1
pretty sections
2022-01-14CI: Use new "archive_output = 0" mode (#2749)Gravatar Axel Huebl 2-0/+2
Avoid `.tgz`-ing the output files, so we can interact directly with plotfiles with our benchmark scripts. Implementation proposed in: https://github.com/AMReX-Codes/regression_testing/pull/117
2022-01-15Set geometry earlier in picmi (#2745)Gravatar David Grote 1-19/+28
* Set geometry earlier in Python * Fix comment typos
2022-01-15CI: Use New "verbose" mode (#2747)Gravatar Axel Huebl 2-0/+6
repeat captured errors to stderr, e.g., for CI runs
2022-01-14Fix ASSERT for Hybrid Scheme & MR (#2744)Gravatar Edoardo Zoni 1-1/+3
2022-01-14Field probe line detector (#2513)Gravatar Tiberius Rheaume 15-105/+533
* 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> * Functionality to create 2D line of particles. Input included. No output yet * ammend compiler errors * Apply suggestions from code review - Style Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update reduce_diag_names * 2D array setup- not complete * 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. * Vector storage, Add N particle, debugging * Fix Probe in Domain Logic General global check, not only on a single rank. * comments * Container: Add `const_iterator` * Fix MPI Comms * Cleaning * Remove PrintAll Leftover * 1-D Output vector * Reduced Diags: Support LoadBalance * Cleaning of "Definitions ()" * Updating inputs for testing Line * data type specification * IO * Update inputs * Update inputs * error in header. Send to IO CPU * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * moved rank communication out of tile loop * change m_data_vector. IO particle count * Fixed input for rename. Gather particle number * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Gather * Changed data output method to pushing values on vector MPI Gather and Gatherv for data Tell Evolve to run Load Balance Tell InitData to run Load Balance Define output method by printing valid particles NOTE! Needs cleaning, commenting, removing some debugging tools * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Suggestions from review * defensive programming on if / if else added comments throughout removed temporary debugging lines * Documentation for line detector option * Whitespaces * MPI_Gather -> amrex::ParallelDescriptor::Gather * ParallelDiscriptor, vectors at the end, no more 1990's malloc for capacity allocation * whitespaces * output optimized for CSV * Python notebook for reference * Input file for current test on CORI * 2D plane functionality * Regression test * Delete DoubleSlit_2021_11_17.ipynb * Whitespace fix * pandas * Error set to 2.5%, fixed source * style * zenodo orcid * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Review changes and swapped MPI direct call for Amrex::ParallelDescriptor * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update WarpX-tests.ini Fix Regression Test * Update WarpX-tests.ini Open PMD in cmakeSetupOpts * Update dependencies.rst * Update analysis_field_probe.py * Update WarpX-tests.ini * Analysis Script: Executable ``` chmod a+x scriptname.py ``` and use explicitly `python3` * openPMD: optional for this test * Inputs: add `geometry.dims = 2` * Remove: diag1.write_species = 0 - segfaults for plotfiles (bug?) - not needed, since we have no particles anyway * Fix: typo in analysis * test requirements: pandas * Fix: Types * as string: `<red_diag>.probe_geometry` change this to a string, which is more user-friendly * Python Script: Simplify + Style * C++: Clean Up * Azure: Run `apt update` Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: David Grote <dpgrote@lbl.gov> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-14CI: Reduce Runtime of Some PSATD Tests (#2704)Gravatar Edoardo Zoni 9-137/+135
* Run Tests on 2 MPI Procs. * Reset Benchmarks * Make pml_psatd_dive_divb_cleaning Smaller
2022-01-14Docs: Add Crusher-OLCF (#2741)Gravatar Axel Huebl 4-0/+164
Document on how to compile and run on Crusher (OLCF). This is the new Pre-Frontier MI250X machine at Oak Ridge. Tested :) Requires #2742
2022-01-13Use signed distance instead of imp. func when computing distance to EB. (#2682)Gravatar Andrew Myers 1-12/+5
2022-01-13GPU RDC: Disable also for HIP (#2742)Gravatar Axel Huebl 1-8/+6
We don't need to guard this for various GPU backends, as it will be ignored for anything but CUDA and HIP. This disabled RDC for HIP unless needed, which makes compilation/link logic easier for the AMD tools.
2022-01-13Fixing staircased EM solver (#2739)Gravatar Lorenzo Giacomel 8-103/+26
* Fixing the staircase consistency * Removed the face_areas multifabs everywhere they're not needed * Bug fix * More fixes * Another fix * Another fix * Initialize areas anyways for the initialization * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: lgiacome <lorenzo.giacome@cern.ch> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-01-13Modification of the Perlmutter guide in order to run a job (#2736)Gravatar thomas clark 1-0/+3
* Modification of the Perlmutter guide in order to run a job * fix style Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2022-01-12Don't attempt to use costs when working on PML grids. (#2737)Gravatar Andrew Myers 4-19/+58
2022-01-12Make moving window dimensionality consistent in PICMI (#2721)Gravatar Prabhat Kumar 7-16/+16
* Make moving window dimensionality consistent in PICMI * update PICMI_inputs_plasma_acceleration_1d.py * two elements for moving window velocity in RZ * update RZ laser_acceration test * update PICMI version * update PICMI Langmuir RZ test
2022-01-12AMReX/PICSAR: Weekly Update (#2731)Gravatar Axel Huebl 5-5/+5
* AMReX: Weekly Update * Azure: 90->120min Uncached Python builds go just over 90min.
2022-01-12Initialize EB grid data on restart. (#2689)Gravatar Andrew Myers 4-0/+159
* Initialize EB grid data on restart. * Add restart test with EBs. Co-authored-by: Peter Scherpelz <peter.scherpelz@modernelectron.com>
2022-01-12Fix PML with anisotropic refinement ratio (#2734)Gravatar Weiqun Zhang 3-82/+90
* Fix PML with anisotropic refinement ratio Use IntVect instead of int for the number of cells in PML so that anisotropic refinement ratio can be properly handled. * Reset Benchmark of Langmuir_multi_2d_MR_anisotropic Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2022-01-11More efficient PML BoxArray (#2631)Gravatar Weiqun Zhang 17-232/+364
* More efficient PML BoxArray If the union of the grids is a single rectangular domain, we can simplify the process and generate more efficient PML BoxArray. * Update Source/BoundaryConditions/PML.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Apply suggestions from code review * reset Python_wrappers benchmark * fix the computation of sigmas for the new BoxArray * Revert "reset Python_wrappers benchmark" This reverts commit 2999304571d525076ba6c1f7cbbcef6e9acafabb. * fix warning * fix 1d * initialize to quiet NaN * Reset Benchmark: pml_x_psatd - maximum relative error: 2.50e-06 - new implementation: 10 PML grids - old implementation: 24 PML grids * Reset Benchmark: LaserAccelerationMR - maximum relative error: 2.73e-04 - new implementation: (18,8,8) PML grids - old implementation: (48,18,18) PML grids * Reset Benchmark: LaserOnFine - maximum relative error: 6.44e-05 - new implementation: (2,6,6) PML grids - old implementation: (2,12,12) PML grids * Reset Benchmark: PlasmaAccelerationMR - maximum relative error: 6.84e-04 - new implementation: (10,6,6) PML grids - old implementation: (24,12,12) PML grids * Reset Benchmark: RefinedInjection - maximum relative error: 2.55e-04 - new implementation: (18,8,8) PML grids - old implementation: (48,18,18) PML grids * Reset Benchmark: momentum-conserving-gather - maximum relative error: 7.43e-04 - new implementation: (10,6,6) PML grids - old implementation: (24,12,12) PML grids * Reset Benchmark: subcyclingMR - maximum relative error: 2.41e-05 - new implementation: (6,6,6) PML grids - old implementation: (12,12,12) PML grids * Reset Benchmark: Langmuir_multi_2d_MR - maximum relative error: 1.32e-01 (B numerical artifact) - new implementation: (0,20,20) PML grids - old implementation: (0,52,40) PML grids * Reset Benchmark: Langmuir_multi_2d_MR_psatd - maximum relative error: 1.05e-01 (B numerical artifact) - new implementation: (0,20,20) PML grids - old implementation: (0,52,40) PML grids * Reset Benchmark: Python_LaserAccelerationMR - maximum relative error: 2.73e-04 - new implementation: (18,8,8) PML grids - old implementation: (48,18,18) PML grids * Reset Benchmark: Python_wrappers - maximum relative error: 1.07e-08 - new implementation: 8 PML grids - old implementation: 16 PML grids * Reset Benchmark: pml_psatd_dive_divb_cleaning - maximum relative error: 4.91e-03 - new implementation: 24 PML grids - old implementation: 98 PML grids * Remove an assertion. We will fix it later * Reset Benchmark: Langmuir_multi_2d_MR_anisotropic - maximum relative error: 1.07e-01 (B numerical artifact) - new implementation: (0,16,16) PML grids - old implementation: (0,40,34) PML grids * Reset Benchmark: PEC_field_mr - maximum relative error: 3.98e-02 - new implementation: (0,2,2) PML grids - old implementation: (0,2,2) PML grids (different number of ghost cells on coarse PML patch) Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2022-01-11Sort the argument list that Python writes to the inputs files (#2732)Gravatar David Grote 1-4/+7
2022-01-09Multi-J: J Always Linear in Time (#2679)Gravatar Edoardo Zoni 21-109/+90
* Remove WarpX::J_linear_in_time * Fix Bug * Implement Deposition of Rho at Half Time * Implement New Equations for E * Fix New Equations for E * Cleaning * Fix Limits of X2, X3, X7 * Implement New Equations for F * Implement New Equations for F * Revert E Equations to Avoid Roundoff Changes * Remove Quadratic Equations * Remove Deposition of Rho at Half Time Step
2022-01-07Particle Buffer for Backtransformed Diagnostics (#1898)Gravatar Revathi Jambunathan 50-414/+1801
* move BTD call before Redistribute * define particle buffer, BTD particle functor, particle filter * select particles on the slice * add particle functors * add Lorentz Transform * fix conflict * add call to loretnz operator * storing Particles in buffer * This is WIP. Added particle buffers, filled them, sent them for flush with number already flushed. Does not work for multiple flushes. Crashes for OpenPMD. * trailing endif after rebase * adding print statements and not flushing particles in OPENPMD if numpart is 0 * last timestep flush is ensured at the end of evolve loop * fix bug in declaring uy uy new and computing uzp * set particle Geom, BA, and DMAP for particle flush with plotfile * set Particle BA Geom DMAP for particle buffer and no BTD transform for force flush * separate compute and pack from flush * Fix Typo: resizeable -> resizable Fixes HDF5 BTD particle output. * new class for plotfile particles for BTD * copy particle_H and DATA and Header. some WIP print statements * Merge plotfile * clean print statements * fix warning message * struct declaration in header, fix warning * doxygen comments and copyright * clean print statements * fix eol and override function warning * tile data * fix output species array size bug * fix access for particle buffer size * clean and move time-update * add cur_time update back * remove cur time update which was called twice * dont access particles flushed already for full diagnostics * cur time must be updated for RigidInjection BTD CI test to pass * temporarily move call to BTD * updating time and calling BTD before movewindow * cleanup * reset benchmarks and analysis script * clean and add comments * fix particle box array, geom, dmap * reset benchmarks for multi_J rz and ElectrostaticSphereEB_mixedBC * wip commit * wip commit * add SI conversion * abort for openpmd bp backend if species is selected. Also write particle output for BTD only if write_species is 1 * add documentation for aborting if adios is used with openpmd and add other BTD input parameters * Apply suggestions from code review commit Axel's suggestions from review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * use bool instead of int * fix doxygen format * using h5 as backend in example test to ensure consistency with abort for particle output. * fix doxygen comment * reset benchmark again for comoving_2d_psatd galilean_2d_psatd multi_J_rz_psatd * reset benchmark for background_mcc * self-review suggestions * reset benchmarks. Update with last snapshot full info * Axel's PR suggestions Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Axel's doxygen fix Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * add comments * fix eol * improved exception handling for stringsteam * PR suggestions * Axels' suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Axel's suggestions :) Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * simplify logic * suggestions from review (Axel/Reva) Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * variable name change for clarity * if num particles in tmp array is 0, return * Use new BTD inputs to set up BTD for particles in the corresponding particle container * unused var * fix logic error * speciesID undefined * separate particle and field buffer calls and initialization for BTD. Data common to both are initialized separately * rename variable so it does not ghost existing varname * add more comments * Assert that fields are on * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * redundant function definition * unused variable * unused variable zp * 1D 2D 3D definition * fix else * Apply suggestions from code review Add Prabhat's suggestion Co-authored-by: Prabhat Kumar <89051199+prkkumar@users.noreply.github.com> * missing semicolon and ignore xp yp for 1D * resetting benchmarks for boosted sims and mcc sim * temporarily changing tolerance since the relative difference for momentum_z is 3.68e-3 and the current tolerance is 2.5e-3 Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Prabhat Kumar <89051199+prkkumar@users.noreply.github.com>