aboutsummaryrefslogtreecommitdiff
path: root/Source/Python/WarpX_py.cpp (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2020-03-20ES Solver: Runtime Option Clean Up (#833)Gravatar Axel Huebl 4-28/+24
Removing small leftovers from the transition "compile-time -> runtime" of the electrostatic solver option.
2020-03-20plot_int for new diagnostics (#824)Gravatar MaxThevenet 9-28/+59
* Start implementation of new averaging with staggering: - face-to-cell-center and edge-to-cell-center replaced so far; - TODO: node-to-cell-center and 1D behavior (AMREX_SPACEDIM=1). * first implementation of Diags base classes * add example, temporarily * Continue implementation of new averaging with staggering: - new function takes reference to single MultiFab (no vector); - TODO: node-to-cell-center still in progress. * Fix small bug and clean up * Fix bug in loop over n=0,...,ncomp-1 and clean up * add more functions * Add Doxygen documentation and clean up * Small clean-up in Doxygen documentation * Compile in single precision: add _rt suffix to avoid unnecessary conversions * Avoid accessing staggering index directly from IntVect in innermost loops * Replace do-while loop with for loop (default ncomp=1) * Remove temporary pointer and pass reference to MultiFab (instead of MultiFab*) * Replace AMREX_LAUNCH_HOST_DEVICE_LAMBDA with ParallelFor * cleaning and initialize output mf * use general average routine * move flush in new class, and implemented the Plotfile derived class * add comments * eol * free memory in destructor * typo * typo * no need to clear MF pointers there * though shalt not break existing tests * FlushRaw doesnt have to be virtual for now * The importance of being constant * Capability to select fields in output files * EOL * revert to old inputs * const in right place * avoid brace initializer there * oops, fix logic error in is_in * user can choose flush interval, same behavior as plot_int * replace ter flush with dump to avoid confusion Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2020-03-19Add capability to select fields to dump (#819)Gravatar MaxThevenet 6-39/+112
* Start implementation of new averaging with staggering: - face-to-cell-center and edge-to-cell-center replaced so far; - TODO: node-to-cell-center and 1D behavior (AMREX_SPACEDIM=1). * first implementation of Diags base classes * add example, temporarily * Continue implementation of new averaging with staggering: - new function takes reference to single MultiFab (no vector); - TODO: node-to-cell-center still in progress. * Fix small bug and clean up * Fix bug in loop over n=0,...,ncomp-1 and clean up * add more functions * Add Doxygen documentation and clean up * Small clean-up in Doxygen documentation * Compile in single precision: add _rt suffix to avoid unnecessary conversions * Avoid accessing staggering index directly from IntVect in innermost loops * Replace do-while loop with for loop (default ncomp=1) * Remove temporary pointer and pass reference to MultiFab (instead of MultiFab*) * Replace AMREX_LAUNCH_HOST_DEVICE_LAMBDA with ParallelFor * cleaning and initialize output mf * use general average routine * move flush in new class, and implemented the Plotfile derived class * add comments * eol * free memory in destructor * typo * typo * no need to clear MF pointers there * though shalt not break existing tests * FlushRaw doesnt have to be virtual for now * The importance of being constant * Capability to select fields in output files * EOL * revert to old inputs * const in right place * avoid brace initializer there * oops, fix logic error in is_in * pass by const ref, as suggested by Andrew's review Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2020-03-19Add SmartCreate functor alongside SmartCopy (#825)Gravatar Luca Fedeli 6-49/+173
* created source files * initial work to create SmartCreate * Reorganized ParticleCreation and added SmartCreate.H * add missing files * added possibility to modify weight in SmartCreate * bugfixing * bugfixing * bugfixing * added comments and SmartCreateMode * fixed comments * removed template option * removed unused includes
2020-03-19Add costs reduced diagnostic (#790)Gravatar Michael E Rowan 11-19/+434
* WIP add reduced diagnostic for cost * WIP add costs reduced diagnostic * WIP costs reduced diagnostic * WIP costs reduced diags * Reduced costs * Reduced cost diagnostic * Reduced cost diagnostic * Reduced cost diagnostic * Reduced diagnostics costs * AMREX_ASSERT Works only with heuristic costs (for now) * GNUmakefile * Doc * Doc * Remove unneeded * Documentation * Space * Whitespace * AMREX_ASSERT * whitespace * Update authors * Member variable naming convention * Remove verbose if else * Remove verbose if else * PR review suggestions * whitespace * makefile * Change from Costs-->LoadBalanceCosts * Update docs * Put separator to beginning of header loop * Put separator to beginning of header loop * whitespace * Update documentation * WIP reduced diags * WIP costs RD to not modify WarpX object * WIP Documentation for ComputeCostsHeuristic * WIP whitespace * Add test for reduced_diagnostics_cost * whitespace * Test tolerance * Add a crucial closing bracket * plt_interval * minor * Analysis script * RD costs test * Comments * execute permissions * prtl-->particle * Remove indentation level; remove comments * Remove comments * remove whitespace
2020-03-19Remove costs full diagnostic (#791)Gravatar Michael E Rowan 6-36/+2
* Remove costs full diagnostic * whitespace * Remove warpx.plot_costs from PlasmaMirror test * minor * Minor * Remove plot_costs
2020-03-18Diagnostics reorganization skeleton (#809)Gravatar MaxThevenet 15-2/+535
* Start implementation of new averaging with staggering: - face-to-cell-center and edge-to-cell-center replaced so far; - TODO: node-to-cell-center and 1D behavior (AMREX_SPACEDIM=1). * first implementation of Diags base classes * add example, temporarily * Continue implementation of new averaging with staggering: - new function takes reference to single MultiFab (no vector); - TODO: node-to-cell-center still in progress. * Fix small bug and clean up * Fix bug in loop over n=0,...,ncomp-1 and clean up * add more functions * Add Doxygen documentation and clean up * Small clean-up in Doxygen documentation * Compile in single precision: add _rt suffix to avoid unnecessary conversions * Avoid accessing staggering index directly from IntVect in innermost loops * Replace do-while loop with for loop (default ncomp=1) * Remove temporary pointer and pass reference to MultiFab (instead of MultiFab*) * Replace AMREX_LAUNCH_HOST_DEVICE_LAMBDA with ParallelFor * cleaning and initialize output mf * use general average routine * move flush in new class, and implemented the Plotfile derived class * add comments * eol * free memory in destructor * typo * typo * no need to clear MF pointers there * though shalt not break existing tests * FlushRaw doesnt have to be virtual for now * The importance of being constant * const in right place Co-authored-by: Edoardo Zoni <ezoni@lbl.gov>
2020-03-18Averages to cell centers (#795)Gravatar Edoardo Zoni 5-75/+137
* Start implementation of new averaging with staggering: - face-to-cell-center and edge-to-cell-center replaced so far; - TODO: node-to-cell-center and 1D behavior (AMREX_SPACEDIM=1). * Continue implementation of new averaging with staggering: - new function takes reference to single MultiFab (no vector); - TODO: node-to-cell-center still in progress. * Fix small bug and clean up * Fix bug in loop over n=0,...,ncomp-1 and clean up * Add Doxygen documentation and clean up * Small clean-up in Doxygen documentation * Compile in single precision: add _rt suffix to avoid unnecessary conversions * Avoid accessing staggering index directly from IntVect in innermost loops * Replace do-while loop with for loop (default ncomp=1) * Remove temporary pointer and pass reference to MultiFab (instead of MultiFab*) * Replace AMREX_LAUNCH_HOST_DEVICE_LAMBDA with ParallelFor * Merge code refactoring suggested in PR #809 * Fix bug after fixing merge conflicts * Restore Doxygen documentation after code refactoring * Unify implementation for 2D and 3D when possible * Fix bug in 2D (IntVect type is not dimension-agnostic) * Use ParallelFor in 4D and remove intermediate overload * Remove temporary Vector srcmf and avoid unnecessary copies * Simplify function AverageAndPackVectorField * Delete function PackPlotDataPtrs (not used anymore) * Minor revisions
2020-03-18Density threshold set to epsilon by default instead of 0. (#815)Gravatar MaxThevenet 2-2/+2
* density threshold set to epsilon by default instead of 0. * add doc for density_min
2020-03-18Acknowledge funding agency and contributors in doc (#775)Gravatar MaxThevenet 3-1/+8
* Acknowledge funding agency and contributors in doc * Funding and acknowledgement
2020-03-17Add some WarpXUtilMsg::AlwaysAssert in particle containers (#811)Gravatar Luca Fedeli 2-9/+29
* replaced AMREX_ALWAYS_ASSERT_WITH_MESSAGE with WarpXUtilMsg::AlwaysAssert where needed * reverted horrible mistake
2020-03-17Small fixes to Python to better handle particle weights (#807)Gravatar David Grote 2-6/+9
2020-03-17openPMD-api: 0.11.0+ (#812)Gravatar Axel Huebl 4-8/+3
* openPMD-api: 0.11.0+ Upgrade the dependency of openPMD-api to 0.11.0 or newer. This version has all defaults for independent I/O with HDF5, ADIOS1 (and as before in ADIOS2) in place. * openPMD-api: use new setSoftwareVersion Use new, less error-prune API call to document the WarpX software version.
2020-03-17Add Edoardo to Garuda tests mailing list (#814)Gravatar MaxThevenet 1-1/+1
2020-03-17Add QED particle creaction routines (#698)Gravatar Luca Fedeli 38-114/+915
* 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. * 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 * 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/ElementaryProcess/QEDPhotonEmission.H Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * make the use of energy_threshold more transparent * remove unnecessary checks * bigfixing * added comment * separate checks for QED processes * added a CheckIonizationProductSpecies for consistency * bugfixing * now using a new variable for photon energy creation threshold * removed unwanted comment * added option to set a user-defined threshold for photon creation * bugfixing * updated documentation * updated example to include new option * updated doc * fixed merge conflict * correct bug in example * reorganized function Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja> Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-16Add AlwaysAssert with std::string message (#792)Gravatar Luca Fedeli 3-2/+28
* added new function WarpXUtilMsg::AlwaysAssert * Update Source/Utils/WarpXUtil.H Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Update Source/Utils/WarpXUtil.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * rename argument of AlwaysAssert * updated documentation of Always Assert Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-16Added Python wrapper of charge density arrays (#783)Gravatar David Grote 4-7/+150
2020-03-16For RZ, generalized the centering of the inverse volume scaling of J and rho ↵Gravatar David Grote 1-23/+60
(#772) * For RZ, generalized the centering of the inverse volume scaling of J and rho * Add assert ensuring that Jr is never node-centered Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-16Use C++ templates for the `EvolveF` and `ComputeDivE` function (#753)Gravatar Remi Lehe 9-141/+433
* Prepare EvolveE * Cartesian equations without current * Implement Cartesian EvolveE * Progress towards cylindrical solver * Correct typo * Implement cylindrical solver (without on-axis condition) * Fix compilation errors * Add regularization for RZ solver * Added correction term for F * Remove file for nodal stencil * Apply stylistic changes to EvolveE * Fix compilation errors * Correction to avoid out of bound * Remove references to old file * Correct bug in EvolveB * Implement correction on axis for Et * Remove previous field update functions * Implement EvolveF in Cartesian * Add missing file * Update on-axis condition * Correct typo * Add theta derivative for divE calculation * Fix rho component * Fix compilation error * Use C++ templates in computation of divE * Update Source/FieldSolver/FiniteDifferenceSolver/ComputeDivE.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Apply suggestions from code review Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Use comparisons to 0 again Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-16Add ParticleHistogram Reduced Diagnostic (#727)Gravatar Yinjian Zhao 7-11/+369
* Add Histogram * Add normalization * Add doc * Minor * Minor * Fix a bug * Add const * Apply suggestions from code review Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Modify based on suggestions. * Add histogram name * Add bin values * Don't add histogram name * Modify read_raw_data.py * Add doc * Change ux,uy,uz units * Change ux,uy,uz units * Change if format * Save some variables * Change more * Minor * Fix a bug on GPU * Fix a bug on GPU * Add wrong species name abort * Minor doc * Change #include format * Apply suggestions from code review Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Add const * Change to member variables * revert * Modify doc * Change ReduceRealSum * Improve by using enum * Remove no_normalization * Add struct * Minor format * Apply suggestions from code review Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Change based on suggestions Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-16Because of AMReX change, we now have to explicitly specify where BaseFab ↵Gravatar WeiqunZhang 1-3/+3
functions should run. (#803)
2020-03-13PSATD Single precision (#805)Gravatar MaxThevenet 12-85/+170
* fix compilation for single precision PSATD with USE_GPU * compiles and tested on CPU also * add sentence to doc: FFTW needs to be compiled with single precision option * add test, better pre-proc directives indent, clearer ifdef * use using whenever possible * indent * fix TravisCI matrix, and improve matrix test * need to compile with same precision for fields and particles
2020-03-13For diagnostics, added RZ modes of scalars, allowed different centerings (#770)Gravatar David Grote 3-88/+96
* For diagnostics, added RZ modes of scalars, allowed different centerings * Fixed spacing in ConstructTotalRZScalarField Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-13Add limit to #parts in theta in RZ (#765)Gravatar L. Diana Amorim 4-4/+20
* Added abort error for insufficient #cells in phi * Fixed language in error message * Added #parts per theta limit in docs * Fixed initialization of n_rz_azimuthal_modes * Fixed abort message cpp errors * Fix n_rz_azimuthal_modes read from WarpX class * Fix wrong index in num_particles_per_cell_each_dim * Fix PR# and abort message without additional variable * Fixed LWFA RZ example * Changed Abort to AssertWithMessage * Corrected inequality to include case of x2 * RZ #modes=1 by default. Fix #parts in theta =2 * Fix to LWFA RZ #modes=2 #parts in theta=4 * Added limitation in #parts in theta for NRandomPerCell style
2020-03-13Fixed FDTD coefficients of E push from F (#804)Gravatar David Grote 1-13/+13
2020-03-13Remove obsolete Fortran function declaration (#796)Gravatar Remi Lehe 1-79/+0
2020-03-13correct misprint in doc (#802)Gravatar Luca Fedeli 1-1/+1
2020-03-12Added RZ mode for charge and direct current deposition (#793)Gravatar David Grote 3-9/+46
2020-03-12Fix misspellings of the word 'auxiliary' (#799)Gravatar Michael E Rowan 2-5/+5
2020-03-12Changed BL_ASSERT to AMREX_ALWAYS_ASSERT for user input (#798)Gravatar David Grote 2-10/+10
* Changed BL_ASSERT to AMREX_ALWAYS_ASSERT for user input * Fixed typo when replacing BL_ASSERTs
2020-03-12Fail gracefully when laser amplitude is zero (#781)Gravatar danielbelkin 1-0/+7
* added error message if laser amplitude is not positive * moved assert to LaserParticleContainer
2020-03-11Added optional user defined number of guard cells to use with PSATD solver ↵Gravatar Olga Shapoval 2-14/+18
(#787) * Added optional user defined number of quard cells to use with PSATD solver. * Removed temporary comments. * Changed names nx_guard_psatd to psatd.nx_guard for consistency.
2020-03-10Single Precision: Regression Tolerance (#771)Gravatar Axel Huebl 1-0/+2
For single precision, roughly 4-5 significant digits are comparable for our floating point precision tolerance.
2020-03-10With RZ, always write out theta (#782)Gravatar David Grote 1-0/+7
2020-03-10Include private members of classes in Doxygen documentation (#785)Gravatar Edoardo Zoni 2-10/+10
* Include private members of classes in Doxygen documentation * add space before bracket for function implementation Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-10Allowed for more general centering of charge density (#768)Gravatar David Grote 5-25/+52
* Allowed for more general centering of charge density * Used rho_nodal_flag in ApplyInverseVolumeScalingToChargeDensity * Simplify declaration of rho_nodal_flag Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * Fix documentation for doChargeDepositionShapeN Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-06Remove old electrostatic code (#780)Gravatar Remi Lehe 20-1385/+0
* Create inputs * fixed stuff * Make smaller test * Re-use EvolveEM for ES calculation * Use correct variable const_dt * Avoid out of bound and modify computation of electrostatic field * Update test file * Remove tab * Minor refactoring of space-charge calculation * Remove old electrostatic files * Fix electrostatic test * Rename WarpXEvolveEM to WarpXEvolve * Use if conditions instead of ifdef * Correct initialization of `do_electrostatic` * Fix static variable * Add documentation for `do_electrostatic` * Remove more electrostatic code Co-authored-by: dbizzozero <dbizzozero@users.noreply.github.com>
2020-03-06Remove FFTW include (#777)Gravatar Remi Lehe 1-4/+0
2020-03-06Update CONTRIBUTING.md: fix URL for Github forks (#774)Gravatar Edoardo Zoni 1-1/+1
2020-03-06Add default values for particle and cell weights used in heuristic costs ↵Gravatar Michael E Rowan 2-4/+58
update (#773) * Add default prtl and cell wts for costs update Remove print Cleanup Typo * Add AMREX_USE_GPU ifdef * Add default costs for CPU case * Formatting * Add comment that default values are for Summit * Explain tests in doc * Formatting * Clarify logic
2020-03-06add _rt suffix to particle shape factor functions (#763)Gravatar MaxThevenet 1-20/+41
2020-03-06Fix electrostatic solver (#730)Gravatar Remi Lehe 7-89/+107
* Create inputs * fixed stuff * Make smaller test * Re-use EvolveEM for ES calculation * Use correct variable const_dt * Avoid out of bound and modify computation of electrostatic field * Update test file * Remove tab * Minor refactoring of space-charge calculation * Fix electrostatic test * Rename WarpXEvolveEM to WarpXEvolve * Use if conditions instead of ifdef * Correct initialization of `do_electrostatic` * Fix static variable * Add documentation for `do_electrostatic` Co-authored-by: dbizzozero <dbizzozero@users.noreply.github.com>
2020-03-04Fix and automatically test USE_PSATD_PICSAR=TRUE (#769)Gravatar MaxThevenet 2-0/+20
* Fix compilation for hybrid PSATD * Add automated test for hybrid PSATD
2020-03-04Permission issue with Maxwell QED input test file (#766)Gravatar Remi Lehe 1-0/+0
* corrected two typos missed during review of PR-719 * changed file permission from executable to read/write
2020-03-03update tag number (#764)Gravatar MaxThevenet 3-3/+3
2020-03-02Option to specify the type of physical species (#746)Gravatar MaxThevenet 9-30/+142
* first implementation, doesnt link * fix species type and use it in some examples * eol * typo in input file * Apply suggestions from code review Co-Authored-By: Luca Fedeli <luca.fedeli.88@gmail.com> Co-Authored-By: Yinjian Zhao <yinjianzhao@lbl.gov> * changes suggested by review * put species functions into a namespace Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com> Co-authored-by: Yinjian Zhao <yinjianzhao@lbl.gov>
2020-03-02Heuristic load balance based on number of particles and number of cells (#737)Gravatar Michael E Rowan 12-50/+241
* Issue #713: Load Balance w.r.t. number of cells + particles README: Update Badged to `master` (#725) * README: Update Badged to `master` Update the badges to check the `master` branch as development branch. * Docs: More dev->master updates - release workflow - contribution guide link Galilean PSATD with shift (#704) * Read Galilean velocity * Prepare structures for Galilean solver * Started implementing Galilean equations * Analytical limits for X1, X2, X3, X4 coefficients added * Slight changes added * Added Galilean position pusher * Scale galilean velocity * Remove unneeded Abort * Fix Galilean pusher * Allocate Theta2 array * Fix definition of coefficients * Increase guard cells for Galilean * Add guard cell in particle exchange * Type corrected * v_gal added to warpx_current_deposition * v_gal added to WarpXParticleContainer.H * Bug fixed - update particle x-position over one time step * Fix issues with merge from dev * Preparation for merging dev into galilean. * Adding galilean shift * Implemented galilean shift * Changed method's name from GalileanShift to ShiftGalileanBoundary * Added doxygen string for ShiftGalileanBoundary * Removed never used method LowerCornerWithCentering * Removed temporary comments * Removed dt as a variable from DepositCharge method and its dependencies * Converted tab to spaces * Removed EOL white space * Add documentation and automated tests * Fix compilation error * Add automated test * Update automated test * Removed temporary used galilean shift * Removed temporary used particle's push for Galilean PSATD * Removed unused statement * Remove EOL white space. * Added zero shift for LowerCorner in RZ geometry * Minor changes to Galilean implementation * Modifications for GPU * Fix typo Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> [mini-PR] when a cufft error occurs, print a meaningful error message (#728) * added method to translate cufft errors * fixed style * bug fixing avoid duplicate tests and plot less often (#726) * avoid duplicate tests and plot less often * fix tests I broke when trying to save plotfiles doc install yt on Summit (#729) * doc install yt on Summit * eol Do not use local Redistribute for electrostatic solver (#731) Add Reset Random Seed Feature (#717) * Add ResetRandomSeed * Add doc * Modify and change location of the code. * Small fix * Try to fix an alert * Try to fix an alert * Modify based on suggestions * Use INT_MAX * Modify based on suggestions. * Modify based on suggestions. openPMD: warn if step is already written (#718) * making sure iterations are written at most once. * prints a warning when iteration is written more than once writting is not stopped * Fixed tabs * included <iostream> as requested by Axel Minor refactoring of space-charge calculation (#732) Improve clarity and documentation Minor Update GNUmakefile Update based on comments Update GNU Makefile Formatting Formatting Formatting Formatting Remove unneeded function Removed unneeded function Formatting Formatting Formatting Whitespace Minor Formatting Formatting Formatting Formatting Formatting Formatting Formatting whitespace Formatting Minor Formatting Remove unneeded template function Change import Minor Formatting Remove unused variable Formatting Update Source/WarpX.H Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> Update Source/Parallelization/WarpXRegrid.cpp Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> Remove `n_particles` and `n_cells` Update Source/WarpX.H Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> Revert clear costs in case of edge case Update to use new load_balance_api in AMReX Tabs Minor * minor: indentation in Source/WarpX.H Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-02modified comments and replaced old-style cast (#762)Gravatar Luca Fedeli 1-20/+52
2020-03-02EvolveE: Update Includes (#761)Gravatar Axel Huebl 1-2/+3
Generalize includes to base path.
2020-02-29replace tau by optical_depth_QSR and optical_depth_BW (#742)Gravatar MaxThevenet 6-28/+38
* replace tau by optical_depth_QSR and optical_depth_BW * update python analysis scripts accordingly * fix bug for BW