aboutsummaryrefslogtreecommitdiff
path: root/Examples/Modules (follow)
AgeCommit message (Collapse)AuthorFilesLines
2021-10-16Add Test: openPMD PICMI (#2438)Gravatar Axel Huebl 1-1/+12
* Gaussian Beam PICMI: Add openPMD Argument Add an `--diagformat` option to switch between plotfiles and openPMD for the Gaussian Beam PICMI example. * CI: openPMD + PICMI on Windows * Regression Test: Add openPMD PICMI * format -> warpx_format
2021-10-11Use parser for more input parameters (#2386)Gravatar Neïl Zaim 3-17/+17
* Use parser for more input parameters * Fix PSATD compilation and apply suggestions from code review * Avoid out of bound array access for num_particles_per_cell_each_dim * Fix few input files with respect to num_particles_per_cell_each_dim * Fix get that incorrectly became query
2021-09-30Rigid injected species: Remove unused function and variables (#2350)Gravatar Remi Lehe 2-4/+0
* Remove unused function * Remove `focused` and `projected` for rigid particles
2021-09-24Stochastic particle reflection from absorbing domain boundaries (#2281)Gravatar Roelof Groenewald 2-0/+148
* added tunable particle reflection from absorbing domain boundaries * extended picmi.py to allow setting boundary reflection coefficients and added a CI test for the reflection implementation * allow R(E) to be specified, except for embedded boundaries * changed approach for particle reflection, now the ParticleBoundaries object will hold the reflection coefficient; reflection from EBs not implemented * added functionality to reflect from EB; still needs to be tested for accuracy * added support for energy dependent reflection models for domain boundaries * fixed at least one issue causing CI fails - building reflection model parsers for not physical particle containers * switched reflection coefficients to be functions of the velocity component perpendicular to the boundary rather than energy * reverted initial work on reflecting from EBs * changed naming convention for new CI test for particle reflection * switched useMPI back to 1 in test * breaking changes while trying to sort out GPU issue * fixed issue with CUDA compilation - hopefully :) * various code improvements from PR review suggestions * fix of major issues * no need to parse the reflection models at every step * skip particles that are already flagged for removal in ApplyBoundaryConditions
2021-09-17Move QEDEvents() before OneStep functions (#2289)Gravatar Neïl Zaim 8-21/+38
* Move QEDEvents() before OneStep functions * Update BW and QS automated tests * Fix a couple of bugs * Update benchmarks * Forgot to update one benchmark value
2021-08-30Make buffer of scraped particles available to Python code (#2164)Gravatar Phil Miller 2-2/+142
* Added wrapper to get number of particle species tracked by the scraper Not sure if this is going to be useful, but it demonstrates a method to get information from the ParticleBoundaryBuffer into Python. * Stubbed out the main wrapper functions * Added parameters to wrapper * Added wrapper for getting the number of particles scraped of a species on a boundary * added picmi arguments to scrape particles at the domain boundary * Added wrapper to get the full particle buffer into python * rearanged the getBuffer properties code a little * Added docstrings +other suggested changes * Added num_particles_impacted_boundary docstring * fixed mistake in docstring * Changed boundary parameter to be a string for clarity * Fixed issue with the boundary parameter for scraping * Fixed issue with the boundary input for scraping stats wrapper * Added demonstration of particle scraping wrapper * Added analysis.py file * Fix typo in one of the dimension maps Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com> * Added before esolve to warpx evolve * added test for the scraped particle buffer wrappers * Moved python PICMI particle boundary scrape test * Renamed test file to the correct name * Removed old test * added special functionality to get the timestep at which particles were scraped * removed debug print * added python wrapper for the clearParticles() function of the scraper buffer * added special wrapper function to get the timesteps at which the particles in the boundary buffer were scraped * updated test to match the non-PICMI test for the particle scraper buffer * Fix uncaught rebase mistake * re-activated picmi test of accessing the scraped particle buffers via python * added documentation for the new parameters involved in the scraped particle buffer and fixed remaining issue with picmi test * changes requested during code review Co-authored-by: mkieburtz <michaelkieburtz@gmail.com> Co-authored-by: Roelof <roelof.groenewald@modernelectron.com> Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com>
2021-08-30ECT conformal solver (#1923)Gravatar Lorenzo Giacomel 3-6/+195
* adding base implementation of the conformal solver * adding some preprocessor directives * qualifying the isnan's correctly * getting rid of some unused fields * computing S_stab on the fly * using empty in length check * Source/FieldSolver/FiniteDifferenceSolver/EvolveB.cpp * replaced a looponcpu with a parallelfor * trying to not pass lending/borrowing info by reference in evolveB * passing data using dataPtr * converting inds into a device vector * simplifying some += * extracting the inds BaseFabs as DataPtr * Revert "extracting the inds BaseFabs as DataPtr" This reverts commit bc709d2fcaa347c119514de79a3f57169a05af65. * implementing new way ogf handling cell extensions (gpu compatible) * fixing some white spaces * removed a typo * made a function static * tidying up * tidying up * getting rid of the rho vector * moving the rho update to evolveE * refectoring the cell extension * small chenge in input parameters * updating WarpX.H * bug fix * fixing another bug * rotating the cube * updated gitignore * using the conformal soler in the cube test * fixing the signature of a function * trying to fix the setVal problem * Revert "trying to fix the setVal problem" This reverts commit c7d0e5e3709b730ff570183b2a6df5f587ca4640. * trying to fix the setVal problem * cleaning some comments * removing an abort in device code * Including geometric information in the external field initializer * cleaned up the test * moving the geometric data initialization before the external fields initialization * changing way of saving info about intruded cells * fixed some white spaces * Using S_mod instead of S_red and S_enl * substituting a std::vector with amrex::Array1D * bug fix in the uint8_t -> coords maps * Condensed ect cell info into one single MultiFab * fixing some includes * fixing some more includes * fixed a typo * making some functions available in gpu code * using tilebox instead of validbox for the geometry initialization * communicating the geometric info in the guard cells * fixing the guard cells initialization for ect * fixing an unused parameter * fixing an unused parameter * ignored some unused variables when EB is not supported * cleaning up * cleaning up * ignored some unused variables when EB is not supported * evolving rho just for ect * handling some more unused variables * removing some white spaces * adding the rotated cube test * removed some white spaces * change cells into faces * small fix in unused parameters * fixed a comment * for safety for now just initialize the geometric data when lev==maxLevel * adding some preprocessor directives to isolate EB code * updating Makefile stuff * Improving the rotated cube test * bug fix in mesh refinement * fixing boundary conditions in rotated cube test * deactivating MPI in rotated cube test * activating mpi in test * improving outputs of cells extension * improved the documentation * Update Source/EmbeddedBoundary/WarpXInitEB.cpp Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov> * Update Source/EmbeddedBoundary/WarpXInitEB.cpp Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov> * Removed some obsolete isnan's * undone change to gitignore * adding some missing AMREX_GPU_DEVICEs * Changing some amrex::Real(0) into 0. Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Making some variables const Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Adding amrex:: to some ignore_unused Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Enhancing readability of some parallelfor's Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Removed some unecessary includes * Fixing some tags Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Fixing the function CountExtFaces * added a comment for Rhofield * Fixed a typo in CountExtCells * trying to remove accesses to private members in ComputeEdgeLengths * making some functions public * undoing some useless changes * undoing some useless changes * adding some AMREX_GPU_DEVICEs * adding some unused variables * adding some AMREX_GPU_DEVICEs to fix warnings * fixing relative error * Making several variables const Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Fixed a comment Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * changing some double to amrex::Real * removing commented lines * changing some double to amrex::Real * removing commented lines * inizialing nelems_x,y,z to avoid a warning * Fixing number of cells * Adding missing analysis routine in rotated cube test Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Making some variables constexpr Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov> * Improving some reduce operations Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov> * reading time directly from the output * fixed a few data types * fixing another int * Replacing or->||, and->&&, not->! * Adding license info * Adding a white space Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * removed some unused imports * Moving the doxygen documentation * Including AMReX_LayoutData.H * removing some useless parameters * adding ect solver to the doc * Removing some useless reductions * Small change for consistency * Handling the resizing of arrays * Handling correctly the resing of arrays * Fixing some whitespaces * Fixing an indentation * Improving a comment * Removed a useless initialization * Renamed Rhofield to ECTRhofield * Renamed Rhofield to ECTRhofield * Added some if conditions to isolate some EB related code * Improved some comments Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Made some functions not member of WarpX anymore * Isolated some EB-only code * Isolated some EB-only code * Using the square brackets to access vectors * Ignoring some unused variables * Bug fix in initialization * Removed a redundant if * Using enumeration for connectivity and improved names * Added a comment * added a few comments * Removed some useless template parameters * Printing some info only in verbose mode * Revert "Removed some useless template parameters" This reverts commit 2c527980e6872c0212767c27f00e2b53ecbcfd0a. * Fixed a bug with the neighbours enumeration * Initializing geom data alsoo in the ghost cells Co-authored-by: Weiqun Zhang <WeiqunZhang@lbl.gov> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2021-08-20Particle boundary scrape (#2124)Gravatar Andrew Myers 2-0/+67
* Some prelimary refactoring. * missing header * implement scraping particles that leave the domain boundaries into buffers * fix tabs * missing return * merging * remove redefinition * functor to work around cuda bug. * handle 2D * Add support for EB buffer * protect for AMREX_USE_EB, static_assert that EB and RZ aren't both on. * fix unused * add inputs file * add test * fix bugs, remove print * fix test * fix test path. * remove no-op code * adding clear particles method * attempt at adding time stamp * Use integer step number instead of physical time to timestamp particles; also put shared code into named functor. * move call to before apply boundary conditions * use more descriptive inputs parameter * Update Source/Particles/ParticleBoundaryBuffer.cpp * fix comp bug * move CopyAndTimestamp to cpp file * also move IsOutsideProblemDomain functor * Rename to m_particle_boundary_buffer - Name: currently only used for boundary scraping - Singular: only one instance * Fix missing EOF newline * Typo: author * Param Read / Init: Cleanup For Simplify Co-authored-by: Roelof Groenewald <40245517+roelof-groenewald@users.noreply.github.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-08-02BTD_ReducedSliceDiag: BTD Plotfiles (#2152)Gravatar Axel Huebl 1-1/+1
By accident, the 2nd test did not use plotfile output.
2021-08-02Remove predefined constants from example input files (#2153)Gravatar Neïl Zaim 2-7/+3
2021-07-27Rename: Optical Depths QED (#2140)Gravatar Axel Huebl 2-4/+4
This is renaming the runtime added optical depth scalars for QED physics just to create the same names in plotfile and openPMD output.
2021-07-20ChecksumAPI: yt 4+ ds.force_periodicity() (#2117)Gravatar Axel Huebl 3-8/+23
* ChecksumAPI: yt 4+ ds.force_periodicity() Mitigate issues of the form ``` RuntimeError: yt attempted to read outside the boundaries of a non-periodic domain along dimension 0. Region left edge = -7.5e-06 code_length, Region right edge = 7.500000000000002e-06 code_length Dataset left edge = -7.5e-06 code_length, Dataset right edge = 7.5e-06 code_length This commonly happens when trying to compute ghost cells up to the domain boundary. Two possible solutions are to select a smaller region that does not border domain edge (see https://yt-project.org/docs/analyzing/objects.html?highlight=region) or override the periodicity with ds.force_periodicity() ``` * make yt3 compatible
2021-07-21Use new boundary input (#2110)Gravatar Revathi Jambunathan 18-36/+79
* support only new boundary interface. set pml flags to 0 as default * use new boundary interface in Examples/Modules/ * use new boundary interface in the input for tests in Examples/Physical_applications * use new boundary interface in the input for tests in Examples/Tests * use new bc * fix typo * fix typo * Update Examples/Tests/SingleParticle/inputs_2d * fix bc in input * specific bc for electrostatic inputs * resetting benchmark for PEC particle CI test after fixing the default pml flags from 1 to 0 * Update Examples/Physics_applications/laser_acceleration/inputs_2d_rz * remove documentation on previous boundary input * Comment to clarify where in the code is_periodic is appended and how it is defined * add default parameters for BC in doc
2021-07-16Infrastructure for interacting particles with embedded boundary walls (#2069)Gravatar Andrew Myers 2-0/+63
* Infrastructure for interacting particles with embedded boundary walls * remove debug prints * protect with AMREX_USE_EB * fix for 2D XZ * also update level set when regridding * rename level set to 'DistanceToEB' * add docstring for scrape particles. * add assertion on maxLevel() since EB does not work with mesh refinement right now. * m_eb_if_parser no longer exists * add test for particle aborption at embedded boundaries * fix bug I introduced refactoring * add new test to suite * fix test names * fix 2D * rookie python error * fix filename in test * fix script * fix unused * make sure we turn EB on in test
2021-07-06Add possibility to start and stop moving window (#2027)Gravatar thomas clark 2-4/+6
* Add possibility to start and stop moving window * Update Benchmark laserInjection_2d * Update Source/Diagnostics/BTDiagnostics.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * modification of the MoveWindow function in the python interface * False to True for move j in python function Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-07-01Filter Always ON by Default (#2031)Gravatar Edoardo Zoni 8-1/+9
* Filter Always ON by Default * Fix CI Tests * Update Docs * Fix CI Test dirichletbc * Default WarpX::use_filter = 0 with RZ FDTD, Add Warnings * Set WarpX::use_kspace_filter = true by Default, too * RZ: Fix Bug with PSATD Binary and FDTD Runtime Solver * Default use_kspace_filter = true, Fix Runtime Issue with Rho Functor
2021-06-07Call function ReadBCParams() during python execution (#1972)Gravatar roelof-groenewald 1-0/+2
* added ReadBCParams() function call to python execution and added a test of the electrostatic solver executing from python * added separate specification of particle boundary conditions in picmi setup and adjusted the inputs for existing tests to follow the new practice * updated input for rz PICMI test and renamed the electrostatic test to follow standard practice * added arguments for particle boundary conditions to Langmuir RZ test * added dictionary to picmi.py to map from picmistandard field boundary condition specifications to that of WarpX * fixes for failing unit tests; added key, pair 'none' to picmi dictionary of field BCs * also using 'none' for upper boundary condition for RZ test Python_Langmuir_rz_multimode
2021-05-24EB initialization with Parser (#1980)Gravatar Weiqun Zhang 1-0/+3
If `warpx.eb_implicit_function = ...` is present in input parameters, Parser will be used to initialize EB. For example, ``` warpx.eb_implicit_function = "max(max(max(x-0.5,-0.5-x), max(y-0.5,-0.5-y)), max(z-0.5,-0.5-z))" ``` specifies a box with boundaries at x=+-0.5, y=+-0.5 and z=+-0.5 and regular domain inside the box. ``` warpx.eb_implicit_function = "-(x**2+y**2+z**2-0.2**2)" ``` specifies a solid sphere at (0,0,0) with a radius of 0.2.
2021-05-20CI: Add BTD Tests (#1973)Gravatar Axel Huebl 2-9/+45
Add tests for the new BTD diagnostics, so that parallely working developers can easier test this. Currently covered features: - field BTD (particles are still WIP) - openPMD & plotfiles
2021-05-17`algo.particle_shape` Required Only with Particles or Lasers (#1962)Gravatar Revathi Jambunathan 1-3/+0
2021-05-13Implemented query and getArrWithParser (#1936)Gravatar David Grote 1-4/+11
* Implemented query and getArrWithParser * Updated parameters.rst regarding expressions for multiple floats
2021-05-11New Input Parameter for Order of Shape Factors (#1934)Gravatar Edoardo Zoni 19-24/+61
* Define New Input Parameter interpolation.shape_factors_order * Use New Input Parameter, Remove Obsolete Ones * Add New Input Parameter to PICMI Interface * Update Docs, Use New Input Parameter in Remaining Input Files * Cleaning * New Name: algo.particle_shape
2021-05-11Feature - Time dependent Dirichlet boundary conditions for electrostatic ↵Gravatar roelof-groenewald 3-2/+4
simulations (#1761) * Update copyright notices * allow specification of boundary potentials at runtime when using Dirichlet boundary conditions in the electrostatic solver (labframe) * added parsing to boundary potentials specified at runtime to allow time dependence through a mathematical expression with t (time) * updated to picmistandard 0.0.14 in order to set the electrostatic solver convergence threshold * update docs * various changes requested during PR review * fixed issue causing old tests to break and added a new test for time varying boundary potentials * possibly a fix for the failed time varying boundary condition test * changed permission on the analysis file for the time varying BCs test * switched to using yt for data analysis since h5py is not available * made changes compatible with PR#1730; changed potential boundary setting routine to use the ParallelFor construct and set all boundaries in a single call * fixed typo in computePhiRZ * updated docs and fixed other minor typos * fixed bug in returning from loop over dimensions when setting boundary potentials rather than continuing * changed to setting potentials on domain boundaries rather than tilebox boundaries and changed picmi.py to accept boundary potentials * now using domain.surroundingNodes() to get the proper boundary cells for the physical domain * fixed typo in variable name specifying z-boundary potential * changed boundary value parameter for Dirichlet BC to boundary.field_lo/hi and changed setPhiBC() to only loop over the grid points when a boundary value has changed * switched specifying potential boundary values though individual inputs of the form boundary.potential_lo/hi_x/y/z and incorporated the new BC formalism through FieldBoundaryType::Periodic and FieldBoundaryType::PEC rather than Geom(0).isPeriodic(idim) * removed incorrect check of whether the potential boundary values are already correct, also had to change the input to test space_charge_initialization_2d to comply with the new boundary condition input parameters and finally changed permissions to analysis_fields.py file for the embedded boundary test since it was failing * remove line from WarpX-tests.ini that was incorrectly added during upstream merge * changed input file for relativistic space charge initialization to new boundary condition specification * fixed outdated comment and updated documentation to reflect that the Dirichlet BCs can also be specified when using the relativistic electrostatic field solver * moved call to get domain boundaries inside the loop over levels * cleaned up the code some by using domain.smallEnd and domain.bigEnd rather than lbound and ubound * added check that a box contains boundary cells before launching a loop over that box cells to set the boundary conditions Co-authored-by: Peter Scherpelz <peter.scherpelz@modernelectron.com>
2021-04-27Staircased embedded boundaries in the YEE solver (#1881)Gravatar Lorenzo Giacomel 2-0/+123
* Added staircased embedded boundaris to the YEE solver * adding spherical resonating cavity test * adding functions for fields initialization * style adjustments * fixing tabs * fixed name of analysis script * fixed name of analysis script * fixed a few wrong preprocessor directives * workaround for missing boost * Revert "workaround for missing boost" This reverts commit 601f9eb2ec6f8c2100304379b2bea1c6cf9d1851. * another workaround for missing boost * getting rid of boost by depending on c++17 * Removed a few unused variables * adding USE_EB to addToCompileString for EB testing * removed tabs * fixing the inputs name for EB sphere test * shortened the test * zero padding the names of the images * adjusted two for loops * removed some unused variables * improving the fields initialization * removed the sphere test and implemented the cube test * fixed edges lengths computation and added comments * Fixed the case of all_regular geometries * fixing a bug that was breaking some tests * adding test folder * fixed the default values for the EB cube test * simplified the analysis script * fixed cubic resonator default results * inputting the plot file name from command line * fixing the diag name * Fixed a bug in edges initialization Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Adding comments to the staircased yee solver (thanks Remi) Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * fixed the cube resonator test * removed an unused import Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2021-04-19Add openPMD+QED CI tests (#1891)Gravatar Luca Fedeli 5-44/+146
* initial work to test QED+openPMD output * work towards openPMD tests * added checksums * fixed bug * fix style * add space at end * fixed bug * improved analysis scripts * remove unused import * fix bug * comment out checksum calculation for openPMD output * removed checksums for opmd tests * fix bug in handling additional real components, such as optical depths * install also openpmd-api python module for CI tests * fixed bug in openPMD analysis script * install openPMD python API only if needed
2021-04-15Boundary Condition : Interface with existing PML (#1768)Gravatar Revathi Jambunathan 1-1/+0
* Read boundary and set periodicity, enumerate BC types, added support for periodic * separate particle and field boudnary structs * Update comment for particle struct * default pml is 0, and reset lo, hi, and do_pml to 1 * turn on pml for MR * eol * remove duplication * resolving commit conflict * explicitly setting pml_HI_MR * default pml lo and hi to 0, and set MR pml lo and hi to the domain values if fine patch coincides with domain boundary * set lo and hi flag for pml when do pml = 1 and domain is non-periodic * remove commented line * add doc * Update Source/Utils/WarpXUtil.cpp remove empty line * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Docs/source/usage/parameters.rst lower case for input * add do_pml flags for IonAcc2d and PlasmaMirror * add pml = true in PICMI for gaussian beam and plasma acceleration * pml is the default field BC * adding temporary defaults for field and particle BC using periodicity * fix temp initialization * set default to pec if input sets pml to 0 * fix typo * logic for both old and new pml interface * fix eol * change examples to original pml input with default values * Update Docs/source/usage/parameters.rst Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * fix comments Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Docs: fix .rst list Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2021-04-12Add a delay to laser profile read from "txye" file (#1816)Gravatar Luca Fedeli 1-0/+1
* add delay to txye laser * add delay in test * fix bug * fixed bug * Update Docs/source/running_cpp/parameters.rst Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * Update Docs/source/running_cpp/parameters.rst Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2021-03-17Add option to specify a0 instead of e_max for the laser (#1770)Gravatar MaxThevenet 2-2/+2
* add option to pass a0 instead of e_max for the laser e_max xor a0 must be specified * update doc for laser a0 * a0: Update Examples Using all options so they are tested. * reset benchmarks (precision E0->a0) Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-03-03Examples: Dynamic Scheduling (#1753)Gravatar Axel Huebl 1-1/+0
Remove the three locations where an input file sets `warpx.do_dynamic_scheduling=0`. This is only needed for CI `.ini` files to ensure determinism and should not be used in production.
2021-03-01Add CI coverage for the plotfile particle filters (#1645)Gravatar NeilZaim 2-5/+5
* Add CI coverage for the plotfile particle filter function * Minor fix in analysis script * Test all 3 particle filters in 2D/3D/RZ * Dirty trick to deal with same ID from multiple MPI ranks + enforce 100 characters per line rule * Fix CI when running on a single MPI rank * Add new module to avoid duplicate code
2021-02-05Input load balance parameters as `algo.load_balance_param` (#1683)Gravatar Michael E Rowan 1-1/+1
* Load balance params now input as algo. * load balance params to algo * Backward compatibility and knapsack_factor_doc * Update Docs/source/running_cpp/parameters.rst * backward_strings * picmi
2021-02-01Remove redundant "do_qed" option in inputfile (#1667)Gravatar Luca Fedeli 4-48/+0
* removed redundant do_qed option in inputfile * fixed bug
2021-01-14Unify intervals notation (#1485)Gravatar NeilZaim 18-19/+19
* Unify intervals notation * Fix diagnostic intervals with PICMI * Use new syntax in updated Larmor test * Update PICMI to comply with the standard * Update new hybrid test * Update particles_in_PML test input files
2020-12-01Add the possibility to disable Schwinger in part of the domain (#1524)Gravatar NeilZaim 1-0/+2
* Add the possibility to disable Schwinger in part of the domain * Update checksum benchmarks * Only query ymin and ymax in 3D
2020-10-26Improve 2D laser injection test (#1422)Gravatar Luca Fedeli 2-14/+216
* improved 2D laser injection test * correct typo in documentation * fix non-ascii character * fixed unused variables * fixed missing checksum * fix non-ascii character * updated benchmark * Update Examples/Modules/laser_injection/analysis_2d.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/laser_injection/analysis_2d.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/laser_injection/analysis_2d.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * fixed check in analysis script * Update Examples/Modules/laser_injection/analysis_2d.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/laser_injection/analysis_2d.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * reorganized main function * added a comment * Update Examples/Modules/laser_injection/analysis_2d.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * fix calculation of dz * fixed bug Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com>
2020-09-28Add option to only resample cells with high enough number of macroparticles ↵Gravatar NeilZaim 1-2/+4
(#1385) * Add option to only resample cells with high enough number of macroparticles * Apply suggestions from code review Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-09-25Add CI test and documentation for leveling thinning algorithm (#1327)Gravatar NeilZaim 2-0/+203
* First working version of tests * Add comments to test * Add test in WarpX-test.ini and initial checksum json file * Add resampling to input parameters doc * Uncomment lines about checksum in analysis script + Fix minor typos * Add momentum in plotfiles (for checksum) + Fix minor typoes * Remove particle_theta from checksum json file * Remove rho from checksum json file * Fix syntax error in checksum json file * Add benchmark values * Update Docs/source/running_cpp/parameters.rst Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Have one Resampling object per species Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-09-21Coupling WarpX with an ✨improved✨ version of the QED library (#1198)Gravatar Luca Fedeli 13-687/+1579
* Initial work to couple improved QED module to WarpX * WIP to couple with WarpX the new QED library * Continuing work to couple the new version of the QED library with WarpX * progress towards completing coupling with new version of QED library * WarpX coupled with new version of QED library * default behavior is to display table generation progress * some host device functions are now device only * fixed bug * bugfixing * updating tests * updated test * updated test * added initial version of tests (not working) * added check and updated a comment * fixed bug * added inputfiles and analysis script for new BW tests * test for BW process are ready * modified test * make lgtm happy * removed TABs * initial work to add QS tests (not working) * removed old tests * fixed bug in script * changed position of evolution of optical depth * progress with QSR tests * improved test * very low energy photons are always eliminated * added tests to regression suite * improved test * improved tests * removed redundant parameter * removed trailing white space * updated documentation * fix lgtm warnings * fixed missing check on chi parameter * fixed missing check on chi parameter & bugfixing * improved comments * increased tolerance in tests * updated units in test * now test succeds if the error is extremely small * updated checksums * fixed bug * fixed some unused or uninitialized variables warnings * now using ignore_unused instead of commenting out some variables * fixed warnings * partial fix of a test * fixed test * fixed test * added checksums * fixed tests * fixed benchmark for qed_schwinger2 * removed checksums for tests which do no exist anymore * fixed checksums for several qed tests * fixed checksums for several qed tests * fixed checksums * removed unwanted checksum * fixed checksum * removed files which should have been deleted * add some const * [skip ci] added some docstrings and some const * Update Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.H Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/ElementaryProcess/QEDInternals/BreitWheelerEngineWrapper.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/ElementaryProcess/QEDInternals/QuantumSyncEngineWrapper.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * added some docstrings and some const * replaced ManagedVectors with DeviceVectors * Update Source/Particles/ElementaryProcess/QEDInternals/QedWrapperCommons.H Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * added some const * removed unwanted assert * updated comment * changed position of GPU synchronization directive * Update Docs/source/running_cpp/parameters.rst Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/quantum_synchrotron/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/quantum_synchrotron/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/breit_wheeler/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/breit_wheeler/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * add do_plot option to some analysis scripts * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * uncomment a line * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * simplified input scripts for BW tests * simplified input scripts for QS tests * removed unwanted files * simplified analysis script * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * reverted modification to schwinger analysis script * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * remove outdated comment * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Particles/MultiParticleContainer.cpp Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * fix warnings * made test more robust * reset benchmark for qed_breit_wheeler_2d * fixed bug in test * make test more robust * made test more robust * Update Examples/Modules/qed/quantum_synchrotron/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update Examples/Modules/qed/quantum_synchrotron/analysis.py Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> * Update run_test.sh Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Tools <warpx@lbl.gov> Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-07-27Input: Remove n<something> options (#1217)Gravatar Axel Huebl 16-30/+0
* Input: Remove n<something> options The information in - lasers.nlasers - particles.nspecies - collisions.ncollisions is redundant with their `<...>.names` counter-part and requires users to change info at two locations. We just remove this now since we can query the size of names automatically in the parser. * Examples: remove n<something> Removes: - lasers.nlasers - particles.nspecies - collisions.ncollisions from examples. * QED: Update nspecies * Removed nspecies and nlasers from the Python interface Co-authored-by: Dave Grote <grote1@llnl.gov>
2020-07-27Rename Input to `algo.maxwell_solver` (#1188)Gravatar Axel Huebl 4-4/+4
* Rename Input to `algo.maxwell_solver` Rename the input option `algo.maxwell_fdtd_solver` to `algo.maxwell_solver` and throw a useful error message for users using the old option. This is in preparation to unify FDTD and PSATD input control to reduce mutually exclusive binary variants of WarpX. * MW Solver Name: Update Examples Update all example to use the new algo.maxwell_solver option. * Fix typo in comutation of dt Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2020-06-22Add automated test for divE cleaning (#949)Gravatar Remi Lehe 2-0/+141
* Added automated test for dive cleaning * Add analysis script * Include test in automated suite * Add 3D test * Modify script so that it could run in 3d * Reduce tolerance for 3D test * Set benchmarks for divE cleaning tests * Remove unused parameter Co-authored-by: Tools <warpx@lbl.gov>
2020-06-22Remove persistent E+B (#1050)Gravatar Andrew Myers 1-1/+1
* add functor for doing the tmp particles copy for the back-transformed diagnosti * merge the particle push options into one kernel * EOL * fix assertion * add a FieldGatherandPushPX method to PhysicalParticleContainer * handle offset in copyAttribs * allow this functor to be constructed even it we aren't doing the back transformed diagnostics * EOL * update the overloads of PushPX for the Photon and RigidInjected ParticleContainers * function for dispatching the right field gather * init this val to 0.0 * fix some typos * handle scaling the fields for rigid injection * EOL * don't need to get pointers to E and B arrays in PushPX any more. * actually I can't remove these yet * EOL * variable order bug * move the QED stuff to the proper place * EOL * make sure we don't build these functors unless the runtime options are toggled * EOL * perform the field gather prior to the photon particle push * remove E and B components and FieldGather methods. Reimplement PushP for rigid injected and physical particles * update ionization to do field gather inline * remove E and B from the particle diagnostics * don't write E or B in these tests for particles * add missing files * remove EB from the Regtest ini file too * no need to do this twice * important typo * also do the gather inline for the QED processes that need to * move these sources inside ifdef for QED * fix bug in RZ * remove some fields from the Python tests. * remove all particle E and B comps from json benchmarks * don't assert that Ey is the langmuir output * remove uy from this output * update test * restore the mesh fields I turned off by mistake * turn off field IO for a few python tests I missed * fix typo * reset Langmuir_multi benchmark * update Langmuir_multi_nodal benchmark * update single precision langmuir bench * update psatd single precision languir one too * also do ionization_lab * finally, ionizaiton_boost * update benchmarks_json/Langmuir_multi_psatd.json * update benchmarks_json/Langmuir_multi_psatd_current_correction.json * update benchmarks_json/Langmuir_multi_psatd_momentum_conserving.json * update benchmarks_json/Langmuir_multi_psatd_nodal.json * remove the particle E and B from the choices in the docs * fix offset bug * also add the Gather subdirectory * Update Source/WarpX.H Co-authored-by: MaxThevenet <mthevenet@lbl.gov> * add docstring for LowerCornerWithGalilean * add new source files to CMakeLists.txt * also need to update the GPU regression tests * update the name of the output file for this python test * remove field gather call from FieldDiagnostics * fix typo in docstring * init fields to 0 * add docstring to the CopyParticleAttribs constructor * some explicit amrex::namepace Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-06-03Add checksum regression tests (#1065)Gravatar MaxThevenet 12-6/+53
* add a checksum module for regtests * All capabilities to checksum tests * update tests to generate a clean benchmark * call checksum tests from analysis scripts * Add checksum json benchmarks * add missing script, better printing and increase tol * eol * fix permission, and bump tolerance * chmod +x checksumAPI.py * update benchmarks, probably old ones were wrong due to parallelization * remove unused variable, thanks lgtm * special handling when the benchmark is 0 * non-zero but very small CFL for 1 step for init tests * reset erroneous Python benchmarks * slightly bump tolerance for initial distribution test * too small dr results in nans * improve prints, tolerance handling, and fix tests * typo * enable tolerance and fields/particles optional comparison to fix tests * more minor cleaning in space charge initialization tests * update Python benchmarks for serial runs * Run Python tests with 1 rank instead of 2 * fields that are zero should not be in reg tests * Add developer documentation on checksum regression tests Co-authored-by: Tools <warpx@lbl.gov>
2020-05-15Minor updates to Schwinger tests (#1003)Gravatar NeilZaim 2-8/+21
* Minor updates to Schwinger tests * Update Examples/Modules/qed/schwinger/analysis_schwinger.py Co-authored-by: MaxThevenet <mthevenet@lbl.gov> * Set tests in parallel with 2 threads and 2 procs Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-05-14Implemented new particle diagnostics in picmi (#984)Gravatar David Grote 1-2/+4
* Implemented new particle diagnostics in picmi * Cleaned up picmi adding new particle diagnostics * In PICMI examples, use name option for diagnostics * For travis, update ubuntu version to bionic
2020-05-11Add Schwinger process (#784)Gravatar NeilZaim 2-0/+174
* Initial work to add back QED particle generation * Work in progress: port old QED routines * Add two distinct CopyFuncs * modified getMFItInfo and CopyFunc (not working) * bugfixing & work to add back QED particle creation routines * bugfixing * added back quantum photon emission * bugfixing * bugfixing * added back pair generation (still some bugs in photon emission) * removed unwanted check * bugfixing * bugfixing * bugfixing * Moved QED folder * added comments + some refactoring * added comments * remove some virtual functions to make lgtm happy * updated tests * added PhysicalParticleType * bugfixing * added copyright * improved comments * improved comments * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * moved inclusion of QEDInternals folder * moved some inclusion directives between Make files * moved some inclusion directives between Make files (forgot to add a file) * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/PhysicalParticleContainer.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Update Source/Particles/MultiParticleContainer.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * corrected alignment * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * removed some unnecessary amrex:: * add missing comment * Replaced BL_PROFILE with WARPX_PROFILE * bugfixing and making some variables const * removed some moves * removed some moves * started to change tau into optical_depth_BW or optical_depth_QSR * Using initialization policy to initialize optical depth * bugfixing * forgot to add a file * fixed bug * Revert "fixed bug" This reverts commit a3fb98d10cc30327635aeaa71451a05ca2229ff4. * Define doQEDSchwinger function * Read input parameters for Schwinger process * Update Source/Particles/ElementaryProcess/QEDPairGeneration.H Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Added doQEDEvents to OneStep_sub1 * add a bunch of const * add _rt suffix * Update Source/Particles/MultiParticleContainer.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * added path to included files * Introduced a templated AmIA<something> function using physical_species * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Update Source/Particles/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * added paths to included headers * updated documentation * updated examples * bugfixing * bugfixing * fixing examples * fixed example * fixed example * correct a misprint in error message * fixed issue related to 1./mass for photons * Add skeleton of doQEDSchwinger function * Linked to PICSAR to calculate pair production rate * Added missing header file * fix conflicts in QEDPhotonEmission.H * Written first version of FilterCreateTransformFromFAB.H * Cleanup some useless comments * Update Source/Particles/ElementaryProcess/QEDInternals/SchwingerProcessWrapper.H Co-Authored-By: Luca Fedeli <luca.fedeli.88@gmail.com> * Update Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H Co-Authored-By: Luca Fedeli <luca.fedeli.88@gmail.com> * Update Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H Co-Authored-By: Luca Fedeli <luca.fedeli.88@gmail.com> * Minor revisions and improvements * Remove trailing white spaces * Write filter function * Remove print * Some debugging and cleaning * Write tranform function * remove transform_dummy * Added some tests * Remove EOL whitespaces * update prepare_file_travis.py * Should fix error in automated tests * Make the tests run in parallel * Put path relative to Source/ in includes * update include path * Actually resolve conflicts * put dVdt and weight_index as members of filter and transform functions * a bit of debugging on GPU * Add comments and documentation * Fix typos * Add assert for single precision * Update Docs/source/running_cpp/parameters.rst Co-Authored-By: Luca Fedeli <luca.fedeli.88@gmail.com> * Update Source/Particles/MultiParticleContainer.H Co-Authored-By: Luca Fedeli <luca.fedeli.88@gmail.com> * Update Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H Co-Authored-By: Luca Fedeli <luca.fedeli.88@gmail.com> * Add profiler and minor modifications * Fix typo * Update asserts so that module works with momentum conserving algo * update assert if particles are created in analysis script * Apply suggestions from code review Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Add comments to FilterCopyTransform and FilterCreateTransform functions * Add const and comment * Update Source/Particles/ParticleCreation/FilterCreateTransformFromFAB.H Co-authored-by: MaxThevenet <mthevenet@lbl.gov> * Update test for new diags and remove AllContainerType * Update Regression/WarpX-tests.ini * update test * update tests * Split Schwinger test into 4 separate tests * Change name of analysis script * update tests * Combine all analysis scripts into a single one Co-authored-by: Luca Fedeli <luca.fedeli@cea.fr> Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: MaxThevenet <mthevenet@lbl.gov> Co-authored-by: Neil <nzaim@iram-fe-003981.extra.cea.fr>
2020-05-04Fix some tests on Battra (#976)Gravatar MaxThevenet 1-6/+4
* fix some tests on Battra * Fix arguments for tests to pass
2020-05-01Delete old diagnostics (#933)Gravatar MaxThevenet 16-30/+85
* Create subsection for diags documentation in input parameters list * Replace old diags with new ones IN DOC ONLY * eol whitespace * Check first CI test with new diags, before changing all of them * use diags in all CI * oops, had forgotten all examples except Tests/ * Updated picmi interface to use the new diagnostics * fix bug in how field functors are initialized for diags * fix bug: should always dump output at the end of simulation * eol * update test parameters in ini file * Further fixes to picmi for new diagnostics * Updates PICMI input files to use the new diagnostics * avoid dumping final plotfile twoce * update test to run with new diags * fix typo introduced when fixing merge conflicts * had accidentally removed the max_step here, so the run never ended on TravisCI * Add Diagnostics.py for picmi with new diagnostics * Adding m_ for member variables in new diags (#934) * fixing bug to initialize CellCenterFunctor for Bx * diag_name renamed to m_diag_name * some more diag members made m_ * renaming member variable mf_avg to m_mf_output * fixing m_mf_output to mf_dst in comments * Python documentation updates (#936) * Update Python documentation * Added numpy as a requirement for the Python installation * Cleaned EOL white space in Python documentation * Add periodictable to the Python packages required Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja> * Added periodictable to required packages for pure Python version Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Add hostname to LoadBalanceCosts reduced diagnostic (#902) * Add hostname to reduced diags EOL Fix rd loadbalancecosts test AMREX_USE_MPI EOL move macro to source file Review changes eol add GPU ID if running on GPU eol Typo in comment use vectors to get rid of C-style memory management Fix for test eol * Compute number of unique box data fields in analysis script * analysis script * Use amrex Tokenize to split string * Update WarpXUtil.cpp * Update WarpXUtil.H * [mini] Add contact us section to documentation (#941) * add contact us section to doc * Update Docs/source/contact_us.rst Co-Authored-By: L. Diana Amorim <LDianaAmorim@lbl.gov> * Update Docs/source/contact_us.rst Co-authored-by: L. Diana Amorim <LDianaAmorim@lbl.gov> * stop calling the old WritePlotFile functions * fix new diags, problem with rho and PSATD and particle output variables * remove more deprecated code for old diags * Move checkpoint capability to new diagnostics * error if user asks custom output for checkpoint * eol * some more old diags code deleted * further cleaning * eol * further cleaning, make sure that WarpX compiles with USE_OPENPMD * remove old diags parameters * use new option to change the plotfile name * typo * do not need checkpoint files * adapt to new option for checkpoint * removed unread options as they make tests crash * remove warpx_checkInt from the Python layer * remove some more python wrappers * add checkpoint capability with 2 diags in new output * fix bug in MultiDiagnostics, and (should) fix checkpoint-restart test * fix restart CI test * avoid issue when writing the last plotfile twice * dpgrote's fix for the Python tests * update doc for diagnostics * stop requesting ndiags, this is read from the list of diags * awk to remove ndiags from all example input files * Removed diagnostics.ndiags from picmi interface Co-authored-by: Dave Grote <dpgrote@lbl.gov> Co-authored-by: Dave Grote <grote1@llnl.gov> Co-authored-by: Revathi Jambunathan <41089244+RevathiJambunathan@users.noreply.github.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Michael E Rowan <38045958+mrowan137@users.noreply.github.com> Co-authored-by: L. Diana Amorim <LDianaAmorim@lbl.gov>
2020-05-01Most fun PR ever: print error and tolerance before ASSERT in CI (#967)Gravatar MaxThevenet 8-21/+60
* always print error and tolerance before ASSERT in CI tests * eol * fix typos * more typo * typo
2020-04-28Reduce size of test output (#857)Gravatar MaxThevenet 1-3/+3
* reduce size of qed_breit_wheeler_opt_depth_evolution * Update analysis_3d_optical_depth_evolution.py * Update analysis_3d_optical_depth_evolution.py * reduce size of Langmuir_multi and delete Langmuir_{x,y,z} * reduce ppc and filter fields dumped * finalize cartesian Langmuir tests * minor changes to python rz multimode * smaller restart test * reduce size of TwoParticle_electrostatic * smaller laser_injection test * revert changes in QED 3D BW test as it is done in another PR