aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/PhysicalParticleContainer.cpp (follow)
AgeCommit message (Collapse)AuthorFilesLines
2022-01-07Particle Buffer for Backtransformed Diagnostics (#1898)Gravatar Revathi Jambunathan 1-4/+8
* 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>
2021-12-07Transform the external fields into the boosted frame (#2610)Gravatar David Grote 1-12/+6
They should be specified in the lab frame
2021-12-06AMREX_SPACEDIM : Initialization and Particles (#2628)Gravatar Prabhat Kumar 1-39/+39
* AMREX_SPACEDIM : Boundary Conditions * AMREX_SPACEDIM : Parallelization * Fix compilation * AMREX_SPACEDIM : Initialization * Fix Typo * space * AMREX_SPACEDIM : Particles
2021-12-06Redistribute particles in ContinuousFluxInjection (#2611)Gravatar Remi Lehe 1-16/+41
* Redistribute particles in ContinuousFluxInjection * Fix runtime issues * Avoid overwriting previous particles * Extract tiles by reference * Add loop over levels * Correct number of levels * Replace serialize_ics * Fix compilation for GPU Fix compilation bug Fix GPU compilation bug * make sure we define all tiles in the tmp_pc before touching them in a threaded region. Co-authored-by: Andrew Myers <atmyers2@gmail.com>
2021-11-22Python: Start 1D Support (#2582)Gravatar Axel Huebl 1-3/+3
* Python: Start 1D Support Start supporting 1D builds in Python. * Fix 1D: PML FillZero unused ... since PMLs are not yet supported in 1D. * BeamRelevant: Fix unused p_pos0 * FromTXYEFileLaserProfile: Not Impl in 1D * QED Schwinger: 1D not Implemented Fix unused warnings, add aborts. * 1D RealVect/IntVect: Initialization Use explicit scalar constructors, no braces. Fix warning in clang 10. * 1D NCI Filter: Fix unused members & Init Unimplemented, but throws warnings. * PSATD: 1D not Implemented - remove compile warnings - start porting some parts * NCIGodfreyFilter: Clean up 2D & Else
2021-11-191D3V Cartesian Support (#2307)Gravatar Prabhat Kumar 1-14/+90
* Build System: Add 1D Geometry * test PR * test PR * 1D cartesian yee algorithm * fixed typo * Fixes for PML * 1D support related multiple changes * Fix compilation * change 1D to 1D_Z * 1D Field Gather and typo fix * 1D Charge Deposition * Particle Pusher * multiple changes related to 1D * 1D diagnostics and initialization * PlasmaInjector and PEC fixes for 1D * clean-up delete diags file * mobility 1D laser particle and bilinear filter * deleted diags files * update laser particle weight formula * delete diags files * Azure: Add 1D Cartesian Runner * 1D fixes for FieldProbe * Update Docs/source/developers/dimensionality.rst Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * 1d laser injection and langmuir test input files * 1d tests * clean up : delete print statements * analyse simulation result for laser injection and Langmuir tests * EOL * delete input files for which there are no automated tests * delete input files for which there are no automated tests * add ignore_unused to remove warnings * remove space * Fix compilation issues * fix error : macro name must be an identifier * Small bug fix * cleanup Python script for analysis * bug fix * bug fix * Update ParticleProbe: Check 1D in-domain * Update Source/Make.WarpX * Update .azure-pipelines.yml * Add USE_OPENPMD=FALSE to .azure-pipeline.yml * resolve conflict * resolve conflict * fix typo * Correct out-of-bound access * Fix Particle BC in WarpXParticleContainer and correct path to checksumAPI in python analysis scripts * EOL * Fix bug : accessing out of bound index of cell in 1D * remove 1d test for cartesian3d * Fix CI check * Slight style change * Address review comments * Fix GPU compilation Filter.cpp * Fix CI * Fix Indentation * Address review comments * More consistent ifdef for dimension bigger than 1 * Update Examples/Tests/Langmuir/analysis_langmuir_multi_1d.py Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update GNUmakefile Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Regression/prepare_file_ci.py Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianCKCAlgorithm.H Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/FieldSolver/FiniteDifferenceSolver/FiniteDifferenceAlgorithms/CartesianNodalAlgorithm.H Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Filter/Filter.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Filter/Filter.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Filter/Filter.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Filter/Filter.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Initialization/PlasmaInjector.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * Update Source/Initialization/PlasmaInjector.cpp Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> * add comment inline to explain twice push_back * Add amrex::Abort for NCIGodfreyFilter Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: Prabhat Kumar <prabhatkumar@kraken.dhcp.lbl.gov> Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: Remi Lehe <rlehe@lbl.gov>
2021-11-09Fix #2522: Gaussian beam positions do not change with warpx.random_seed (#2523)Gravatar Remi Lehe 1-10/+5
* Draw Gaussian beam position with amrex random engine * Update benchmarks * Update tolerance in space-charge tests * Update benchmark for space charge initialization test * Update benchmarks * Update benchmark * Clean-up code * Update benchmarks
2021-10-29Add option to specificy absolute tolerance for the MLMG solver (#2410)Gravatar Roelof Groenewald 1-0/+1
* added option to specify absolute tolerance for the MLMG solver used in the electrostatic field solve * added absolute tolerance argument to the documentation * fixed bug introduced during copy and paste * expanded documentation for MLMG solver absolute tolerance (added unit) and added a link to the AMReX documentation describing the MLMG solver parameters * possibly more robust handling of the MLMG convergence * switched from std::max to amrex::max to hopefully fix compiler complaints * updated checksum values for MCC test (background_mcc); the values changed only slightly, presumably due to a difference in the initial field solve which would now have the absolute tolerance value included, but since the Python version of this same test (which uses the direct solver) still passes the change is assumed to be inconsequential * another try to fix the compile issues * print a message to notify user if the max norm of rho is zero * Apply suggestions from code review Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> * switched print statements to the new warning logger Co-authored-by: Remi Lehe <remi.lehe@normalesup.org>
2021-10-20⚠️ Add warning logger (#2113)Gravatar Luca Fedeli 1-5/+12
* improve error msg * eliminate final dot * initial layout of the main classes * progress * progress with warnings * print local errors * progress with warning logger * improved MsgLogger * added file to test warnings * added method to read debug warnings from inputfile * progress towards collective gather of warnings * add missing blank line in warning message * move misplaced file * refactoring * fixed bugs * progress * fixed bugs * fixed some bugs * it finally works! * add comments in WarpX.H * add missing comment * added comments to WarpX.cpp * add profiler to WarpX.cpp * expose option to enable 'warn immediately' feature in cmake * Add comment to main.cpp * add missing comment in WarpX.cpp * add copyright and include guards to WarnManager_fwd.H * cleaning and added comments to WarnManager.H * updated test * added fwd file for MsgLogger * cleaning * Added copyright in WarnManager.cpp * Cleaning * cleaning * Add missing copyright * cleaning * clean and add comments to MsgLoggerSerialization.H * cleaning MsgLogger_fwd.H * cleaning * continue cleaning MsgLogger * added comments & bugfixing * removed test file * fixed bugs * Update Source/Utils/MsgLogger/MsgLogger.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/WarpX.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/MsgLogger/MsgLogger.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/MsgLogger/MsgLogger.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/MsgLogger/MsgLogger.cpp Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/MsgLogger/MsgLoggerSerialization.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/MsgLogger/MsgLoggerSerialization.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/MsgLogger/MsgLoggerSerialization.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/MsgLogger/MsgLoggerSerialization.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/MsgLogger/MsgLoggerSerialization.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/WarnManager.cpp Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/WarnManager.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/WarnManager.H Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Update Source/Utils/WarnManager.cpp Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * fixed bugs * Update Source/Utils/MsgLogger/MsgLogger.cpp Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com> * Added comment to explain rotation * use last value computed by partial_sum * fix bug * now use error stream * using anonymous namespace for helper functions * print on both stderr and stdout * now using runtime parameter to always print warnings * added documentation * using long int for counter * sort affected warnings list * add doc entry * removed doc * added documentation * fixed bug * fixed bug * removing unnecessary text * reformatting * reformatting * fixed bug * fixed bug * correction * add warning_logger.rst to toctree in developers.rst Co-authored-by: Neïl Zaim <49716072+NeilZaim@users.noreply.github.com>
2021-10-11Use parser for more input parameters (#2386)Gravatar Neïl Zaim 1-3/+3
* 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-24Stochastic particle reflection from absorbing domain boundaries (#2281)Gravatar Roelof Groenewald 1-0/+14
* 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-20Rename WarpXWrappers.(h->H) (#2261)Gravatar Axel Huebl 1-1/+0
* Rename WarpXWrappers.(h->H) All our other header files use `.H`, so renaming this one for consistency. * Remove unused includes of WarpXWrappers.H
2021-09-10Fix uninitialized particle data (#2282)Gravatar Neïl Zaim 1-6/+85
2021-08-27Functionality to save particle positions from the previous step (#2206)Gravatar Roelof Groenewald 1-0/+35
* added functionality to save particle positions from the previous step * copied WarpX variable to local variable to fix issue with GPU and DPC++ compilation * switched to using a species attribute to toggle whether previous positions are saved so it can be turned on for only a subset of species if desired * changed variable name to be more verbose * added CI test of saving the previous particle positions * start of a table in the documentation to describe commonly used runtime attributes * generate test benchmark data from results obtained with a 2 processor run - the same as what is done during the test * relaxed tolerance on test * regenerate CI test reference data with USE_PSATD=TRUE * Update Docs/source/developers/particles.rst Co-authored-by: Phil Miller <unmobile+gh@gmail.com> Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-07-27Rename: Optical Depths QED (#2140)Gravatar Axel Huebl 1-9/+9
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-15Fix Warning in 2D/3D Cartesian Builds (#2091)Gravatar Edoardo Zoni 1-0/+2
2021-07-12Random azimuthal position for particles (#2029)Gravatar MaxThevenet 1-1/+7
* option to randomize azimuthal coordinate of plasma particles * typo * do not capture this * add documentation * default for random azimuth is true * Update Source/Particles/WarpXParticleContainer.H * changes from code review * minor doc, and avoid calling the RNG in Cartesian geometry * minor doc * reset non-psatd benchmarks * deactivate random azimuth for RZ PSATD CI * Reset benchmark * Reset Benchmark of Python_Langmuir_rz_multimode Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2021-07-06Add possibility to start and stop moving window (#2027)Gravatar thomas clark 1-1/+1
* 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-06Input parameter for AMReX MLMG verbosity (#2041)Gravatar Michael Kieburtz 1-0/+1
* Added warpx_solver_verbosity input parameter - This input paramter is for the electrostatic solver to pass into MLMG::setVerbose(int) - Originally this value was hardcoded to 2 * readded accidently deleted line * Handle the default solver_verbosity value on the C++ side * Verbosity parameter now works the same as warpx.self_fields_max_iters - The input parameter for mlmg verbosity is now warpx.self_fields_verbosity - It still has a default value of 2. * fixed missing comma * added missing parameter to function call * Added documentation entry for warpx.self_fields_verbosity * corrected documentation * fixed formatting mistsake
2021-06-24Use "Include What You Use" on WarpX (#1947)Gravatar Luca Fedeli 1-9/+76
* initial tests with IWYU * added a couple of forward declarations * used iwyu on more files * progress * used iwyu on more files * progress with iwyu * progress with iwyu * fixed bug * progress with iwyu * progress with IWYU * progress with IWYU * fixed bug * fixed bug * progress with IWYU * progress with IWYU + use forward declarations in WarpX.H * first try with .def files * fix bugs * progress with IWYU * progress with IWYU * progress with iwyu * correct copyright * fixed bug * fixed bugs * fix missing include * fixed bug * fix bug * fix bug introduced during last bugfix * use iwyu on newly added files * add space * fix bug * fix missing include * fix missing include * fix missing include * fixed bugs * fixed bug * attempt at fixing issue with math functions * added missing include * fixed missing include * using _fwd.H * fixed bug * progress with iwyu * update AMReX branch * enforce alphabetic order * progress with iwyu * use right version of amrex * use right version of amrex for tests * fixed bug * fix another bug * fix missing include * fix missing include * fix missing include * updated amrex * initial work to document new include strategy * updated documentation * Fix rst & private includes * Remove accidentially added files * Fix rst code blocks * one more rst block Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-06-11Fix Offset: PushPX -> evolve_opt (#2011)Gravatar Axel Huebl 1-4/+4
* Fix Offset: PushPX -> evolve_opt Comparing to the `doParticlePush()` above, the `ux`/`uy`/`uz` SoA attributes seem to lack the particle offset in `PushPX`. Also simplifies the offset calculation to reside off-kernel, which saves 8 bytes cmem and some index indirection logic for the compiler. * RigidInjected Particle: Fix Offset Looks like this is missing here, too?
2021-06-09ion_map_ids: static & const access (#2010)Gravatar Axel Huebl 1-1/+1
This fixes the `ion_map_ids` atom-to-number object: - declare static, so the file can be included in multiple translation units - use `.at()`: - missing entries do not cause an insertion - missing entries will throw - access is `const`, so we can declare the whole object `static const` as well.
2021-06-07Added injection of a thermal flux from a plane (#1892)Gravatar David Grote 1-0/+393
* Added injection of a thermal flux from the domain surface * Major fixes to NFluxPerCell injection * Small fixes and clean up * Fixed 'if WARPX_DIMS_RZ' to use ifdef * Small fix to flux_normal_axis error message * Fix typo Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-04-29Fix indentation when evolving QSR optical depth (#1922)Gravatar Neïl Zaim 1-5/+5
2021-04-13Add an option to skip deposition in the `Evolve` function ; use it for ↵Gravatar Remi Lehe 1-5/+5
electrostatic (#1807) * Introduce new option skip_deposition * Properly implement the option to skip deposition * Skip deposition for electrostatic solver * Correct typo
2021-03-30Remove the avg_aux fields (#1849)Gravatar Remi Lehe 1-8/+6
* Remove the avg_aux fields * Update 3D benchmark * Update benchmark in 2D * Initialize Bfield_avg_cp * Fix two whitespaces left out * Fix two more whitespaces left out Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com>
2021-03-22Applied boost to single and multiple particle input (#1800)Gravatar David Grote 1-22/+40
2021-03-18Add option to deposit current at arbitrary time (#1810)Gravatar Remi Lehe 1-2/+2
* Introduce relative_time for deposition * Deposit current at arbitrary time * Update documentation * Combine parameters in DepositCurrent * Explicitly show the time at which the current is deposited
2021-03-18Use Clear Naming Standard for ParmParse Variables (#1809)Gravatar Edoardo Zoni 1-27/+27
2021-03-17Replaced almost all nGrow with nGrowVect (#1801)Gravatar David Grote 1-5/+5
2021-03-12AddPlasma: Avoid a calculation resulting in NaN when num_ppc is 0 (#1787)Gravatar Luca Fedeli 1-3/+6
* avoid a NaN when num_ppc is 0 * fix style
2021-03-04QEDInternals: replace amrex::Real with amrex::ParticleReal where appropriate ↵Gravatar Luca Fedeli 1-2/+2
(#1741) * Replace amrex::Real with amrex::ParticleReal where appropriate Co-authored-by: NeilZaim <49716072+NeilZaim@users.noreply.github.com>
2021-03-02ParticleContainer: Fix Unused Vars (#1756)Gravatar Axel Huebl 1-12/+0
Fix unused variable warnings in `PhyicalParticleContainer`.
2021-03-01Remove coarse bounding box check from the BTD selection (#1742)Gravatar Andrew Myers 1-7/+0
2021-02-25Add multiple particles source (#1718)Gravatar David Grote 1-0/+12
* Added multiple particles injection source * Added documentation for MultipleParticles
2021-02-08Fix: Missing Geometry Includes (#1690)Gravatar Axel Huebl 1-0/+1
2021-02-01Remove redundant "do_qed" option in inputfile (#1667)Gravatar Luca Fedeli 1-12/+7
* removed redundant do_qed option in inputfile * fixed bug
2021-01-22Add parameter for default galilean velocity (#1097)Gravatar Remi Lehe 1-4/+10
* Add parameter for default galilean velocity * Apply suggestions from code review Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> * Fix bug in constructor of PhysicalParticleContainer * Use new input parameter in CI test Co-authored-by: Edoardo Zoni <59625522+EZoni@users.noreply.github.com> Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2021-01-22Remove unused lines about particle filters (#1646)Gravatar NeilZaim 1-13/+0
2021-01-21Define: _OPENMP -> AMREX_USE_OMP (#1520)Gravatar Axel Huebl 1-6/+6
* Define: _OPENMP -> AMREX_USE_OMP Replace the define check of `_OPENMP` with the explicit backend control of `AMREX_USE_OMP` for parallel constructs. Doing so avoids that we accidentially turn on OpenMP, e.g. if a dependency pulls it in for linear algebra, I/O, etc. This can led to confusion if the user explicitly requested a serial build. Also, we might want to use OpenMP functionality here and there for auxiliary functions w/o having to use the AMReX OpenMP backend, i.e. because we compile for GPUs. * Add missing amrex::Gpu::notInLaunchRegion
2021-01-12Fix some other warnings (#1618)Gravatar Luca Fedeli 1-7/+9
* fix warnings * fixed bug
2020-12-14Made sure that n_rz_azimuthal_modes is declared int everywhere (#1571)Gravatar David Grote 1-1/+1
2020-12-09Use new parser for more real input parameters (#1564)Gravatar NeilZaim 1-2/+2
2020-11-30Electrostatic lab frame (#1531)Gravatar David Grote 1-3/+3
* Implemented lab frame electrostatic model * Small clean up of ComputeSpaceChargeField * Added ElectrostaticSphereLabFrame regression test
2020-11-02fixed calls to amrex::Random() to enable HIP compilation (#1487)Gravatar Luca Fedeli 1-1/+1
2020-10-26Explicit choice of `max_iters` for MLMG solver (#1471)Gravatar Igor Andriyash 1-0/+1
* added an option to set explicitely `max_iters` for MLMG solver * fix EOL white spaces * fix EOL white spaces 2
2020-10-19Replace wherever possible '.reset(new' with '= make_unique' (#1429)Gravatar Luca Fedeli 1-4/+4
* replace wherever possible .reset(new with = make_unique * fixed bug * fixed bug * revert WarpXOpenPMD.cpp to the original version * removed another .reset(new
2020-10-02Split resampling TinyProfiler entry into 2 (#1390)Gravatar NeilZaim 1-0/+13
2020-09-25Use amrex::ParallelForRNG for random number generation (#1373)Gravatar Weiqun Zhang 1-6/+7
* Use amrex::ParallelForRNG for random number generation In order to support RNG on non-Nvidia GPUs, we need to use amrex::ParallelForRNG for kernels with calls to AMReX random number generation functions. * missing a RandomEngine argument
2020-09-25Add CI test and documentation for leveling thinning algorithm (#1327)Gravatar NeilZaim 1-3/+4
* 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>