aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx/Geometry.py (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2022-04-18Summit: Prepend Hostname & Mapping (#3040)Gravatar Axel Huebl 2-3/+9
Add an additional `jsrun` command on Summit so that one can easier map the run output to a hostname. Write a `task_host_mapping.txt` file for each run.
2022-04-18[pre-commit.ci] pre-commit autoupdate (#3049)Gravatar pre-commit-ci[bot] 1-1/+1
updates: - [github.com/hadialqattan/pycln: v1.2.5 → v1.3.1](https://github.com/hadialqattan/pycln/compare/v1.2.5...v1.3.1) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-18AMReX/PICSAR: Weekly Update (#3046)Gravatar Axel Huebl 5-5/+5
2022-04-16Avoid unnecessary construction of CopyParticleAttribs (#3042)Gravatar Weiqun Zhang 2-1/+6
If it's not used there is no reason to construct a CopyParticleAttribs object. In fact, it could result in a runtime `std::out_of_range` error in `std::map::at()` because `tmp_particle_data` is used in the CopyParticleAttribs constructor, but in `PhysicalParticleContainer::Evolve`, `tmp_particle_data` is properly prepared only when doing back transformed diagnostics.
2022-04-14Remove Nodal Synchronization of J and Rho (#3038)Gravatar Edoardo Zoni 3-33/+24
* Remove Nodal Sync of J and Rho * Reset Benchmark of reduced_diags_single_precision
2022-04-12RZ + openPMD : don't transpose data, save data with shape (Nm, Nz, Nr) (#3030)Gravatar Ryan Sandberg 3-104/+63
* part_per_grid/cell : cartesian diag in RZ/openPMD * RZ+openPMD : flexible ZR or RZ order * fix logic if not in RZ * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fix regression test, remove transpose and refactor * Update Source/Diagnostics/WarpXOpenPMD.cpp * Fix: Doxygen, Consistent Naming, Comments, Style Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2022-04-11AMReX: Update to latest commit (#3037)Gravatar Axel Huebl 5-5/+5
2022-04-11[pre-commit.ci] pre-commit autoupdate (#3039)Gravatar pre-commit-ci[bot] 1-1/+1
updates: - [github.com/pre-commit/pre-commit-hooks: v4.1.0 → v4.2.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.1.0...v4.2.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-04-08Fix Bug in `WarpX::MoveWindow` (#3034)Gravatar Edoardo Zoni 2-2/+1
2022-04-08Signal: Cleanup (Simplify) (#3031)Gravatar Axel Huebl 1-6/+3
Simplify the logic by fusing a loop.
2022-04-07Implemented the BCK fallback for the ECT solver (#3016)Gravatar Lorenzo Giacomel 7-43/+106
* Implemented the BCK fallback for the ECT solver * Ignored an unused variable * Bug fix * Fix issue with preprocessor directive * Added comments * Implemented suggestions from code review * Fixed tilebox * Improved warning * Using WarpX::RecordWarning instead of amrex::Print() * Ignoring RZ * Improving comment * Bug Fix * Lowered warning priority * Ignoring low priority warnings in ECT tests Co-authored-by: lgiacome <lorenzo.giacome@cern.ch>
2022-04-07Vay Deposition: Fix SyncCurrent, FFTs (#3012)Gravatar Edoardo Zoni 12-90/+115
2022-04-07Extend `do_pml_Lo/Hi` to MR Levels (#2890)Gravatar Edoardo Zoni 3-17/+18
2022-04-07Fix MPI Signal Handling on Perlmutter (#3029)Gravatar Axel Huebl 3-17/+62
* Fix: `MPI_CXX_BOOL` -> `MPI_BYTE` C99 types were aded in MPI-2.2, while Cray's MPICH fork in version 8.1.13 defines `MPI_CXX_BOOL` to `MPI_DATATYPE_NULL` on Perlmutter. We could use `MPI_C_BOOL`, which is technically a `_Bool` from [<cstdbool>](https://en.cppreference.com/w/cpp/header/cstdbool) (deprecated: C++17; removed: C++20) - or we simply do a static assert on `sizeof(bool)` and communicate as a `MPI_BYTE` or `MPI_CHAR`. * Signals: Do no MPI Comms if none is configured * Docs: Link and Explain Allowed Signal Values * Review Comments & Style
2022-04-06Minor fixes removing warnings from MSVC C++ (#3022)Gravatar David Grote 4-9/+10
2022-04-06Added PlasmaLens class to PICMI (#3025)Gravatar David Grote 7-6/+176
* Added PlasmaLens class to PICMI * Added CI test * Added PICMI input file * Fixed the output dir for the CI test * Add `_plt` to Output File Prefix Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2022-04-06AMReX: Update to latest commit (#3021)Gravatar Axel Huebl 5-5/+5
2022-04-05Semicoarsening in electrostatic solvers (#3024)Gravatar Weiqun Zhang 6-12/+45
* Semicoarsening in electrostatic solvers Enable semicoarsening in electrostatic solvers if the problem is anisotropic due to relativistic beam and/or anisotropic cell spacing. * Update relativistic_space_charge_initialization benchmark
2022-04-05LoadBalanceCosts: Fix Unused Vars in ScriptGravatar Axel Huebl 1-4/+0
Leftover to #3019
2022-04-05LoadBalanceCosts: num_cells & num_macro_particles (#3019)Gravatar Axel Huebl 5-32/+82
* Examples: LBC in Laser-Ion Example * LoadBalanceCosts: num_cells & num_macro_particles * Fix Script: Wrong Header Counting Spliced out the first to columns twice. * Fix Script: Blocking Factor The script did not work if a direction only had one block * Fix Script: 2D/3D There is no generic way from the data we write to find this out, without breaking corner cases such as one-block in one direction.
2022-04-04Refactoring: More General Interfaces (#2991)Gravatar Edoardo Zoni 4-153/+256
* Refactoring: More General Interfaces (J, rho) * Refactoring: More General Interfaces (E, B) * Refactoring: More General Interfaces (rho) * Fix const Correctness * Fix const Correctness (continued) * Fix Bugs * Refactoring: More General Interfaces (averaged E, averaged B)
2022-04-04Moving Frame Field Probe Functionality (#2996)Gravatar Tiberius Rheaume 7-3/+91
* DRAFT for Moving Frame * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Adds m_last_compute_step * Generalized SetParticlePosition, semicolons and formatting * Update Source/Diagnostics/ReducedDiags/FieldProbe.H Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Moved particle push before calculations. Condensed stuff. * Fixed Velocity, added start and stop time functionality * Documentation * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Empty-Commit * Fixed ParallelFor from review * FP moving window in laser_acceleration 1d, 2d, 3d test * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Line detector instead of point Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2022-04-02Allow process signals to trigger checkpoint or break behavior (#2896)Gravatar Phil Miller 9-2/+376
* Beginnings of signal handling machinery * Add tentative logic to make checkpoint call * Adapt formatting slightly * Add calls to read signals and set up signal handlers * Initialize signal flag array * Add parsing of signal names, and fix some whitespace issues * Skip signal setup on Windows * added checkpoint and break signal inputs to picmi.py * Address initial review requests * Correct comment to match changed code * Convert maximum signal number to a symbolic name * Always parse signal input, and error out on Windows or wherever it may be unsupported * Typo fix * Add missing reset of checkpoint signal flag * Add reset of break signal, in support of Python or library usage * Test for a configured checkpoint diag when asked to checkpoint on a signal * Fix typo in Linux code path * Clean up MPI support * Use symbolic name for maximum signal number * Fix unused variable in the no-MPI case * Add missing header inclusions * Switch signal parsing to an enumerated table * Test signal handling for Linux, not GNU C library * Avoid another magic number * Update MPI_Ibcast call to match symbolic array length * Update loop over signal flags to use symbolic limit * Match #includes to usage * Add omitted C++ std <atomic> header include * Guard entire set of signal definitions as *nix-only, not for Windows * Broaden Windows exclusion to avoid zero-length array that displeases MSVC++ * Check return value from sigaction() * Convert conditional calls to Abort() to assertions * Move check for platform support to input parsing * Shift signal handling code over toward ABLASTR to share with ImpactX and Hipace++ * Minor cleanup * A bit more cleanup * Fix formatting nits * Add AMReX error handling on MPI calls * Add ABLASTR signal handling code to GNU makefile too * Document new input parameters * Use ABLASTR assertion macros in ABLASTR code * Convert requests limit value to a requests array size * Generalize signal handling to an arbitrary set of potential actions * Rename class to match usage and file name * Stick stuff in ABLASTR namespace * Indent conditional includes as requested Co-authored-by: Roelof <roelof.groenewald@modernelectron.com>
2022-04-02Switch test to use common build with openPMD enabled (#2988)Gravatar Phil Miller 1-2/+2
* Switch test to use common build with OpenPMD enabled * Match GNU make to CMake change Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2022-04-01Release 22.04 (#3018)Gravatar Axel Huebl 11-13/+13
* AMReX: 22.04 * PICSAR: 22.04 * WarpX: 22.04
2022-04-01CI: Fix Small Issue w/ Langmuir Plots (#3010)Gravatar Edoardo Zoni 2-10/+14
2022-03-31CI: NVHPC New Apt Repo (#3014)Gravatar Axel Huebl 2-10/+10
Update the NVHPC install instructions to the latest and greatest. Fix failing CI (dependency install).
2022-03-31Add particle filter in ParticleReductionFunctor (#3001)Gravatar Hannah Klion 10-49/+137
* add filter function to particle reduction functor * copy class member to GPU * streamline reading in parser filter functions * streamline filter calculation * fix CI test * reset benchmark for particle_fields_diags(_single_precision) because added test for filter functionality * modify test * fix typos * update documentation * add map header * change particle filter condition to boolean check rather than >0.5 * Update Source/Diagnostics/ComputeDiagFunctors/ParticleReductionFunctor.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Tools <warpx@lbl.gov> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2022-03-30AMReX/PICSAR: Weekly Update (#3003)Gravatar Axel Huebl 6-32/+32
* AMReX: Update to latest commit * Reset: reduced_diags_single_precision Reset the benchmark table due to a change in shift periodic.
2022-03-31BTD : Redistribute Particles in buffer to lab frame box array and copy with ↵Gravatar Revathi Jambunathan 8-6/+19
(local=true) (#2986) * when flushing data copyParticles with local=true * copyParticles with local = true for openPMD * update amrex dependencies to include PR 2673 in amrex * Particles in buffer redistributed to the lab frame box arrays * [Draft] Verbose Output of Dump Parameters offset increases without ever dumping a particle * Update Source/Diagnostics/WarpXOpenPMD.cpp * using at(i_buffer)
2022-03-29Doc: Plotfile Serialization Parameters (#3005)Gravatar Axel Huebl 1-0/+6
Document the parameters to control the concurrency on POSIX file operations with plotfiles.
2022-03-29Add `propagation_direction` to PICMI lasers (#2992)Gravatar David Grote 1-0/+2
2022-03-29Take into account the cost of `shiftMF` in load-balancing (#3008)Gravatar Remi Lehe 2-28/+42
* Take into account the cost of 'shiftMF' in load-balancing * Apply suggestions from code review Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2022-03-28Langmuir 3D Tests: Better Analysis Plots (#2999)Gravatar Edoardo Zoni 1-16/+26
2022-03-28Change particle filter parser to check it as a boolean instead of comparing ↵Gravatar Hannah Klion 2-5/+4
to 0.5 (#3007) * change particle filter functor to be a boolean check instead of comparing to 0.5 * update documentation * update doxygen
2022-03-28Docs: Fix syntax issues in parameters.rst (#3009)Gravatar Phil Miller 1-10/+11
2022-03-28Use Utils::TextMsg::Err in Message Logger (#3000)Gravatar Luca Fedeli 1-2/+3
2022-03-28Clean up handling of `v_galilean` (#2989)Gravatar David Grote 22-212/+152
* Cleaned up handling of v_galilean * Missed one * Update Source/WarpX.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/WarpX.H Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/WarpX.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Particles/PhotonParticleContainer.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/FieldSolver/WarpXPushFieldsEM.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Diagnostics/ReducedDiags/FieldProbe.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Particles/WarpXParticleContainer.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Particles/WarpXParticleContainer.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Diagnostics/ReducedDiags/ParticleExtrema.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Particles/PhysicalParticleContainer.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Particles/PhysicalParticleContainer.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Utils/WarpXUtil.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Particles/RigidInjectedParticleContainer.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Particles/ElementaryProcess/QEDPairGeneration.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/Particles/ElementaryProcess/Ionization.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Update Source/FieldSolver/WarpXPushFieldsEM.cpp Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * More cleanup * Reset Galilean Benchmarks * For mirrors, now include the Galilean shift * Removed the flag since it is true for all calls * Fix Source/FieldSolver/SpectralSolver/SpectralFieldDataRZ.cpp * Update Source/WarpX.H Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2022-03-28Docs: Fix Missing "s" in <digs>.adios2_engine.parameters (#3002)Gravatar Axel Huebl 1-1/+1
Fix a typo in the `<digs>.adios2_engine.parameters.NumAggregators` example.
2022-03-27Docs: Updates Profiling Perlmutter (#2993)Gravatar Axel Huebl 1-9/+46
Fix issues we encountered.
2022-03-25Add Field Probe to Laser Ion Test (#2998)Gravatar Tiberius Rheaume 1-1/+27
2022-03-25Synchronize all nodal points in sub-cycling loop (#2995)Gravatar Remi Lehe 1-0/+6
2022-03-22add openPMD test for particle_fields_diags to CI (#2975)Gravatar Hannah Klion 3-10/+50
* add openPMD test for particle_fields_diags to CI * Specify HDF5 for openpmd output in test * remove unnecessary variable redefinition * Increase tolerance for checksum check in single precision Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2022-03-22Perform mesh refinement taggin on GPU (#2990)Gravatar Weiqun Zhang 2-16/+18
2022-03-22openPMD RZ modes dumped in thetaMode (#2878)Gravatar Ryan Sandberg 14-107/+599
* [Draft] openPMD: RZ Modes * Change 'theta' to 't' and 'J' to 'j' * Docs: openPMD rz notes * editing docs openPMD RZ note * erase cartesian E,B,j from openPMD rz diags list * openpmd rz: theta->t, exclude xyz dumps * openpmd rz: axes r,z, save as comp[mode][r][z] * catch logic bugs tracking when in rz mode * change return type to c++17 tuple in helper fn * allow divB functor to store in theta mode * tuple bindings / account for theta mode variables * only r,t,z componets in RZ, separate rz field init * separate rz field init, arbitrary diags in RZ * docs: xyz comps in cartesian, rtz in rz geometry * docs : remove mention of dump_rz_modes * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * clarify documentation of InitializeFieldFunctorsRZ * n_rz_modes = 1 if not in RZ * style change for brackets * style, documentation, clarify magic constants * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * add helper getVec * transpose RZ openPMD data for proper viewing * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * safe for 2d and rz * fix transpose order of limits, add tinyProfiler * document transpose function, lack of optimization * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix divB num components * keeping changes to openPMD+RZ, not general RZ * divB made more similar to divE * eliminate or document unused variables * fix openPMD+RZ documentation * change thetaMode parser to regex * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * replace n_rz_azimuthal_modes with warpx variable ncomps * Ignore Unused Var in Cartesian * add rz openpmd analysis * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix warnings: unused vars * clarify documentation of dump_rz_modes * cleaning up before sending to PR * remove divB, divE, test in a different PR * Update Source/Diagnostics/WarpXOpenPMD.cpp fix Dxygen strings Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * clean up doxygen, note issue in divB * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * fixing rz_opmd test, still not passing * Fix: Unused <diag>.dump_rz_modes * updating openPMD+rz analysis * Regression Setup: set `outputFile` * Use HDF5 Backend This is most likely installed by all developers, so we use it for tests. * Code Style Updates * simplify test and reduce code redundancy * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * reduce redundancy 1 less line * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Keep HDF5 HDF5 is easier to install for developers and provided in CI. * Style fixes * Style fix 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>
2022-03-21openPMD: Handle Zero Particles Well (#2980)Gravatar Axel Huebl 4-215/+262
* openPMD: Handle Zero Particles Well When a time step for output encounters zero particles in a species, then we still want to dump them as "empty" species in openPMD. That simplifies post-processing a lot and we have the mechanisms in openPMD for it :) * openPMD: Emtpy Particle Writes Write empty records for iterations (steps or lab steps for BTD, respectively) without particles in a species. * Re-order: ED-PIC & Constant Particle Records - set attributes once - set constant records once - clean up into appropriate functions * Enable BTD for ADIOS :) Works now as well :tada: * Fix lingo in comments (Reva) Thank you!! :) Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com> Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com>
2022-03-22Vay Deposition: Separate Arrays, Correct Index Types w/ FFTs (#2965)Gravatar Edoardo Zoni 9-178/+168
* Refactoring * Separate Arrays (Fine Patch) * Add Aborts w/ Current Centering, MR * Cleaning * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci 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-03-21Hybrid Algorithms: Add FDTD Support for Centering (#2327)Gravatar Edoardo Zoni 8-228/+254
* Hybrid Algorithms: Add FDTD Support for Centering * Current Centering Incompatible with Esirkepov Deposition * Remove FDTD v. PSATD Runtime Conditions * Add CI Test * Rename coefs as coeffs in getFornbergStencilCoefficients * amrex::Vector: Use at() Instead of Operator [] * Reset Benchmark * Reset Benchmark * Cleaning * Reduce Size of New CI Test * Reset Benchmark * Fix Bug
2022-03-21AMReX: Update latest commit (#2987)Gravatar Axel Huebl 5-5/+5
2022-03-21Measure time taken in the moving window (#2985)Gravatar Remi Lehe 1-0/+2