aboutsummaryrefslogtreecommitdiff
path: root/Python/pywarpx/Geometry.py (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
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>
2022-01-04Python Script to Compute PSATD Stencil (#2364)Gravatar Edoardo Zoni 3-0/+482
* Add Python Script Stencil.py * Add More Modular Functions, Docstrings * Only 3D * Parse Error Threshold (Optional) * Move Script from Source/Utils to Tools/DevUtils * Fix EOL White Spaces * Replace Parser with Main, Cleaning * Correct Initial Docstring * Fix Figure Name for Generic Path * Improve Inline Comments * Improve Comment * Remove Unused Import * Add Documentation * Remove Parentheses from if Statements * Rename sin as sin_kn * No Capital Letters in Variable Names * Cleaning Function plot_stencil * Use os.path.join * Improve Comments * Import Python Standard Libraries Before Others * [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-01-04Add Coulomb collision and nuclear fusion subfolders (#2389)Gravatar Neïl Zaim 11-7/+8
2022-01-04Allow Dirichlet BCs on r boundaries in RZ (electrostatic) (#2714)Gravatar Roelof Groenewald 5-22/+32
* allow Dirichlet BCs in r when r_min != 0 with ES RZ simulations * handle the rmax boundary condition setting properly when rmin == 0 * add ability to specify rmin and rmax potentials through picmi
2022-01-04Release 22.01 (#2718)Gravatar Axel Huebl 11-13/+13
* AMReX: 22.01 * PICSAR: 22.01 * WarpX: 22.01
2022-01-04Docs: Add New Inputs (Manual) (#2717)Gravatar Axel Huebl 1-3/+8
Add the new 1D/2D/3D/RZ AMReX and Python scripts in our user-facing manual section for the LWFA test case.
2022-01-04Docs: Spack Dev - Relax MPL Pin (#2715)Gravatar Axel Huebl 1-1/+1
Relax the pinned version of `matplotlib`, documented in our Spack developer enviornment documentation. This caused problems (tried to re-compile and did not find freetype) on Ubuntu 20.04. We pinned this earlier, since yt was incompatible.
2022-01-04Add PICMI Scripts for LWFA Tests (#2700)Gravatar Edoardo Zoni 18-198/+822
* Add PICMI Script for 2D Case * Add PICMI Script for 3D Case * Cleaning * Add PICMI Script for 1D Case * Add PICMI Script for RZ Case * Remove Old PICMI Script * Remove Old Test Python_LaserAccelerationMR * inputs_3d: Move Inputs From runtime_params * inputs_2d: Move Inputs From runtime_params * Update PICMI Script for 2D Case * Update PICMI Script for 3D Case * inputs_1d: Move Inputs From runtime_params * inputs_2d_rz: Move Inputs From runtime_params * Rename inputs_2d_rz as inputs_rz * Update PICMI Script for 1D Case * Update PICMI Script for RZ Case * inputs_rz: Fix Diagnostic Interval * Fix Diagnostic Interval For All Inputs * Add New Test For Each PICMI Script * Remove Old PICMI Script From Workflow yml Files * Dump RZ Modes for RZ Case * LWFA PICMI: Add Shellbang Add missing shellbang lines. Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-12-30[pre-commit.ci] pre-commit autoupdate (#2712)Gravatar pre-commit-ci[bot] 1-1/+1
updates: - [github.com/pre-commit/pre-commit-hooks: v4.0.1 → v4.1.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.0.1...v4.1.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-29Regression Testing: Use Mainline & CMake (#2556)Gravatar Axel Huebl 8-58/+237
* Regression testing: Use mainline * Update WarpX-tests.ini - Add `cmakeSetupOpts =` - Add `-DWarpX_DIMS`: Not an AMReX convention, so we cannot rely on `dim = ...` - Skip building unneeded tools - Add `install_pip` target: Calling `python -m pip wheel .` and install re-using the build directory. This is mainly for our CI Python regression scrips, users and package managers should just use `python -m pip wheel .` and `... install *whl` directly. * LaserInjectionFromTXYEFile: General Exe Generalize executable globber in script * Docs: Update Regression Testing (CMake) * Azure: Ninja Builds (CMake)
2021-12-29CI: mpi4py breaking setuptools API (#2713)Gravatar Axel Huebl 4-9/+29
setuptools keeps breaking its API, which currently breaks `mpi4py` installs. Until a new mpi4py release is cut, this will serve as a work-around
2021-12-23Test particle scraping for EB in RZ. (#2691)Gravatar Yinjian Zhao 7-14/+129
* Modify WarpXFaceExtensions.cpp and WarpXInitEB.cpp. * Remove an assertion. * Update particle scraping for RZ * Apply suggestions from code review * Add automated test. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix CI issues * Change permissions 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>
2021-12-23Adding staircased EB in the PMLs (#2693)Gravatar Lorenzo Giacomel 10-73/+246
* Adding EB to PMLs * Fix to guard cells * Initializing EB data only if AMREX_USE_EB * Not compiling at all EB initialization when EB is off * Bug fix (wrong order of PML init arguments)
2021-12-22Docs: Add Missing Default for warpx.serialize_ics (#2706)Gravatar Edoardo Zoni 1-1/+1
2021-12-23removed distinct functions computePhiRZ and computePhiCartesian since these ↵Gravatar Roelof Groenewald 2-177/+51
function now share mostly the same code (#2709)
2021-12-22Change _libwarpx.py functions to LibWarpX class methods (#2696)Gravatar Peter Scherpelz 16-2016/+1927
* Initial attempt at moving function into LibWarpX * Bugfix - undefined structs in get_particle_theta This is untested, identified by IDE/visual inspection only * Unify newlines * Delete libwarpx.clight (duplicated picmi.py) See picmi.constants.c * Change function descriptive comment to docstring Also remove extra newline in __init__ beginning. * Replace pywarpx/_libwarpx calls appropriately * Fix atexit register of finalize function * Reorder WarpX.py imports for pre-commit * Use picmi.Simulation.extension = libwarpx alias This will hopefully preempt user script changes if we restructure things to allow multiple WarpX runs to be done within a single Python script. * Fix libwarpx ref in WarpX.getProbLo/getProbHi * Update get_particle_boundary_buffer doc reference
2021-12-22Add embedded BC in RZ. (#2602)Gravatar Yinjian Zhao 11-74/+184
* Start to add embedded BC in RZ. * Add . * Remove scaling * Fix compilation error * Update * Can compile. * Add call linop.setRZ(true). * Remove lines 264 to 312 and 343 to 345. * Add assert. * Remove an assert. * Add an automated test. * Change to MLEBNodeFDLaplacian. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix compilation error * Update the test selection * Correct compilation error * Move test to another worker * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add new required argument * Update Examples/Tests/ElectrostaticSphereEB/inputs_rz * Update Examples/Tests/ElectrostaticSphereEB/analysis_rz.py * Update analysis script 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>
2021-12-22ParticleMoments: Deduct Lambda Ret Type (#2705)Gravatar Axel Huebl 1-8/+3
We can auto-deduct the return type of the tuples in the particle moments lambdas by using the `amrex::makeTuple` factory function.
2021-12-21Doxygen: include `static` functions (#2701)Gravatar Axel Huebl 1-1/+1
We use this for ODR-friendly specifications of public functions in ABLASTR. https://stackoverflow.com/a/22103109
2021-12-21Add runtime option to use DM that is 'similar' to the mother grids in the ↵Gravatar Andrew Myers 6-6/+27
PML. (#2665) * add runtime option to use DM that is 'similar' to the mother grids in the PML. * update amrex * toggle similar dm * add runtime option to use DM that is 'similar' to the mother grids in the PML. * toggle similar dm * bump tolerance * document option * Change default PML behavior for psatd_dive_test Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2021-12-21pre-commit: Python imports (#2686)Gravatar Axel Huebl 118-238/+478
* pre-commit: Python imports Add two new Python rules to: - remove unused imports - sort imports according to PEP8 * pre-commit: Python imports Add two new Python rules to: - remove unused imports - sort imports according to PEP8 `.editorconfig`: isort options https://github.com/PyCQA/isort/wiki/isort-Settings * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * move import os (mpl) * move import yt (mpl) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Cleanup around matplotlib.use * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Cleaning: double np and lib Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-21Update AMReX (RZ Poisson) (#2699)Gravatar Axel Huebl 4-4/+4
Update AMReX to the latest `development`.
2021-12-21CMake: openPMD on by default (#2698)Gravatar Axel Huebl 12-18/+18
openPMD builds are stable enough to be default-ON. Due to lacking heuristicst, we don't enable openPMD by default in GNUmake. (Further environments hints, e.g. `PKG_CONFIG_PATH`, or a system-path install are needed there.)
2021-12-21RZ correction in 2d RZ Poisson slver (#2697)Gravatar Weiqun Zhang 1-0/+2
Call MLNodeLaplacian::setRZCorrect, even when it's redundant when the coordinate system is 2d rz, so that the solver does not depend on the coordinate system set in amrex::Geometry.
2021-12-21Inputs: `geometry.dims` option (#2685)Gravatar Axel Huebl 112-168/+221
* Docs: `geometry.dims` option Add a new, required option to specify the geometry of an inputs file at runtime. * Check & Report Runtime Dims Mismatch * Examples: add `geometry.dims` * Deprecation Warning: `geometry.coord_sys` * PICMI: `geometry.dims` * Improve error message sounds a bit better * Improve Doc Description Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com> Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com>
2021-12-20[pre-commit.ci] pre-commit autoupdate (#2695)Gravatar pre-commit-ci[bot] 1-1/+1
updates: - [github.com/pre-commit/pre-commit-hooks: v2.4.0 → v4.0.1](https://github.com/pre-commit/pre-commit-hooks/compare/v2.4.0...v4.0.1) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2021-12-20AMReX: Weekly Update (#2694)Gravatar Axel Huebl 4-4/+4
2021-12-20AMREX_ALWAYS_ASSERT -> AMREX_ASSERT for deposition bounds checks (#2688)Gravatar Andrew Myers 2-4/+4
* AMREX_ALWAYS_ASSERT -> AMREX_ASSERT for deposition bounds checks * fix unused * Apply suggestions from code review * Apply suggestions from code review * Simpler ignore + comment Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-12-19For Python inputs, values with temporary variables are wrapped in quotes (#2690)Gravatar David Grote 1-4/+8
2021-12-16Generalize Analysis Scripts: Number of Digits (plt) (#2683)Gravatar Axel Huebl 38-54/+100
* Update Scripts to Handle New File Names * Use glob in Analysis of Collision Tests * Use rstrip in Analysis of Collision Tests * Regex: Match ends-in-digits Thanks Phil! :) Co-authored-by: Edoardo Zoni <ezoni@lbl.gov> Co-authored-by: Phil Miller <unmobile+gh@gmail.com>
2021-12-16added RZ support in libwarpx function _get_boundary_number (#2680)Gravatar Roelof Groenewald 1-1/+3
2021-12-16Wrap shared object in a class to control its loading (#2637)Gravatar David Grote 19-582/+599
* Wrap shared object in a class to control its loading * Fix libwarpx attribute references * Updated callbacks.py for updated libwarpx * Removed the wx module plus other clean up * Further revision of how to use the pywarpx module. Now, _libwarpx should not be imported by external scripts except in special circumstances. * Updated documentation * Clean up end of line whitespace * Added more wrapping routines plus some clean up * Fixed use of pywarpx in two examples * Fix for getistep * Fixed for the EB Python interface * Silence a warning for our wrapper Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-12-16AMREX_SPACEDIM : EB, Filter, Laser, Utils, and Diagnostics (#2677)Gravatar Prabhat Kumar 26-153/+153
* AMREX_SPACEDIM : EB and Filter * AMREX_SPACEDIM : Laser * AMREX_SPACEDIM : Utils * AMREX_SPACEDIM : Diagnostics * Fix Typo * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * AMREX_SPACEDIM : Warpx.cpp * Update Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Diagnostics/FlushFormats/FlushFormatPlotfile.cpp 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: Axel Huebl <axel.huebl@plasma.ninja>