aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/RigidInjectedParticleContainer.cpp (follow)
AgeCommit message (Collapse)AuthorFilesLines
2020-07-08Averaged Galilean PSATD (#869)Gravatar Olga Shapoval 1-0/+4
* 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 * Added modifications for PICSAR galilean branch * Averaged coefficients added * 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 * Averaged fileds allocated on fine patch (Ex) * Preparation for merging dev into galilean. * remove TABs by hand * Removed a tab. * Redeclared v_galilean as a vector & related changed * Added an automated test * Moved v_galilean inside WarpX constructor * Added analysis script for the automated test * Changed name of the automated test to galilean_psatd * Added InitializeSpectralCoefficients method * Removed temporary comments * Averaged fields added to FiledGather * Added infinite order k[i] * Setting kx_mod( kz_mod) = 0 for index = nx/2(-nz/2) * 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 * Changing type of v_galilean from amrex::Vector to amrex::Array * Changed back ng_fft to be equal nox_fft * Changed v_galilean's type from amrex::vector to amrex::array * Removed type * Removed temporary comments * Added flag 'do_time_averaging' to swith from unaveraged to averaged Galilean PSATD * Updated doxygen * Small fix on using 'do_time_averaging' flag * Remove some commented Print statements * [skip ci] Further cleanup * Fix compilation * Guard cells update of the averaged E,B fields * Corrected included header file accordingly * Removed EOL * Removed EOL * Corrected path of the included header file * Updated choice of the spectral solver. * Cleanup. * use amrex::exp instead of std::exp * no backward FFT for avg fields if avg is off * Need to shift avg fields in MoveWindow * Further cleaning * Added 2D automated test for averaged PSATD * Added automated 2D and 3D tests for averaged PSATD * Removed comments * Added specifications for averaged Galilean PSATD tests. * Bug fixed - do FillBoundary of the averaged fields only if averaged is activated * Do shiftMF of the averaged fields only if fft_do_time_averaging=true * Add checksum json benchmarks for averaged Galilean PSATD * Add missing indentation * Add missing indentation * Updated automated analysis script * Updated diags period * Fixed bug: no backtransform of the averaged fields when WARPX_DIM_RZ is set * Fixed an uninitialized variable * Clean-up * Changed permissions for analysis_avg_*d.py * Compactified variables initialization via conditional assignment * Initialized averaged E_avg, B_avg fields * Updated automated test for 2D averaged galilean PSATD * Updated benchmark for 2D averaged galilean PSATD * Updated automated 2D averaged PSATD test & benchmark * Updated automated 3D averaged PSATD test & benchmark * Fixed typo * Updated benchmark averaged_galilean_3d_psatd * Initialize the averaged fields only if the averaged Galilean PSATD algorithm is enabled * Encreased time step for automated 3D averaged Galilean PSATD (to be equal c*dt=dz while dz/dx=3) * Updated 3D automated test: specified standard deviations `.ux_th, .uy_th, .uz_th` along each direction * Typo from the previous commit: enabled the averaged algorithm * Trying out another input parameters for 3D averaged automated test with v_gal = v_plasma * Update benchmark for previously added 3D averaged automated test * Update 2D averaged automated test and corresponding benchmark * Revert "Updated diags period" This reverts commit 7334729b05e96589e020c981efdb430ca095991d. * Cleanup: removed unwanted comment. * Added descriptions of the 2D and 3D automated tests for the averaged Galilean PSATD. * Updated value calculated via standard Galilean PSATD. * Encreased relative error tolerance for 3D automated test for the averaged Galilean PSATD. * Removed to avoid duplication since it already specified in the corresponding 2D/3D input scripts. * Removed unwanted empty lines * Added spaces after function's names * Removed unwanted empty line * Removed * Fixed indentation * Cleanup: removed #include <math.h> * Cleanup: removed empty lines and fixed indentation * Added 'AvgGalileanAlgorithm.cpp' to 'CMakeLists.txt' Co-authored-by: Remi Lehe <remi.lehe@normalesup.org> Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-06-22Remove persistent E+B (#1050)Gravatar Andrew Myers 1-118/+131
* 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-19Fix: Extra Semicolons & In-Line Doxygen (#1109)Gravatar Axel Huebl 1-1/+1
Fix superfluous semicolons and two in-line doxygen strings.
2020-03-30Port rigid injection to the gpu (#862)Gravatar Andrew Myers 1-32/+41
* port rigid injection to the gpu * eol * Apply suggestions from code review Co-Authored-By: MaxThevenet <mthevenet@lbl.gov> * define csqi Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
2020-03-30Remove compiler warnings (#843)Gravatar Edoardo Zoni 1-4/+0
* Fix compiler warnings with DIM=2 * Fix compiler warnings with USE_RZ=TRUE * Fix compiler warnings with USE_PSATD=TRUE and DIM=2 * Fix compiler warnings with USE_PSATD=TRUE and DIM=3 * Fix bug: discard only return value when calling DefineAndReturnParticleTile * Remove unused variables not triggering warnings
2020-02-25Includes: Clean Up (#743)Gravatar Axel Huebl 1-13/+14
- Use `""` for WarpX-local includes - Order: WarpX `""`, AMReX `<>`, other third party includes `<>` - Add dir prefixes for WarpX Add order to includes by including from `Source/` onward and keeping directory prefixes of non-local includes for clarity.
2020-02-24Profiler wrapper to allow for cudaDeviceSynchronize (#738)Gravatar MaxThevenet 1-1/+1
* add warpx profiler wrapper * call WX profiler wrapper instead of BL * EOL and cleaning * add doc on profile syncs * do not use PROFILE macros in .H files * replace WX_PROFILE with WARPX_PROFILE and use bool instead of int * typo * this file shouldn't be there
2020-02-06Do not include 'WarpX_f.H' when not necessary.Gravatar Edoardo Zoni 1-1/+0
2020-01-31Merge branch 'dev' into soa_to_aosGravatar Andrew Myers 1-0/+9
2020-01-29rename get/set particle position functorsGravatar Andrew Myers 1-16/+16
2020-01-29Real -> ParticleRealGravatar Andrew Myers 1-5/+5
2020-01-28fix EOL whitespaceGravatar Andrew Myers 1-32/+38
2020-01-28handle rigid injection and particle splittingGravatar Andrew Myers 1-18/+28
2020-01-28switch deposition, gather, and pushers to use the get / set position functorGravatar Andrew Myers 1-6/+1
2020-01-27fix EOL whitespaceGravatar Andrew Myers 1-6/+6
2020-01-27remove the copies between soa and aos for the particle positionsGravatar Andrew Myers 1-78/+80
2020-01-27Automatically add copyright header with update_copyright.shGravatar Tools 1-0/+9
2020-01-13moving E/B parser variables to MultiParticleContainer class. changing input ↵Gravatar RevathiJambunathan 1-7/+0
files appropriately.
2019-11-11Cuda -> Gpu according to AMReX changeGravatar Weiqun Zhang 1-6/+6
2019-10-28Merge branch 'dev' into initial_fieldsGravatar MaxThevenet 1-4/+32
2019-10-22Merge branch 'dev' into classical_radiation_reactionGravatar Luca Fedeli 1-3/+11
2019-10-17replace external field added to particle E_external with ↵Gravatar MaxThevenet 1-6/+6
E_external_particle, same for B
2019-10-17Incldued E_external optionGravatar gtrichardson 1-3/+3
2019-10-15Add E_externalGravatar Yin-YinjianZhao 1-3/+3
2019-10-14Add Higuera-Cary pusherGravatar Yin-YinjianZhao 1-0/+8
2019-09-30Do radiation reaction is now a species propertyGravatar Luca Fedeli 1-11/+19
2019-09-30Merge remote-tracking branch 'upstream/dev' into classical_radiation_reactionGravatar Luca Fedeli 1-38/+38
2019-09-26fix types, amrex::Real and amrex::ParticleRealGravatar Weiqun Zhang 1-38/+38
2019-09-24Merge remote-tracking branch 'upstream/dev' into classical_radiation_reactionGravatar Luca 1-4/+4
2019-09-20Fix boosted-frame + subcycling with rigid injectionGravatar Remi Lehe 1-1/+1
2019-09-20Fix lab-frame diagnostics for rigid injected species with subcyclingGravatar Remi Lehe 1-1/+1
2019-09-19do not store old attribs in second particle push when subcyclingGravatar MaxThevenet 1-2/+2
2019-09-17Enabled selection of Boris+RR, bugfixingGravatar Luca Fedeli 1-0/+12
2019-09-13Removed m_giv which was being set but not used.Gravatar Dave Grote 1-10/+5
2019-08-27Merge branch 'dev' into RZgeometryGravatar Dave Grote 1-30/+13
2019-08-21reimplement the boosted frame diagnostics without the runtime componentsGravatar Andrew Myers 1-30/+13
2019-08-16Converted field gather for RZ multimode to C++Gravatar Dave Grote 1-1/+1
2019-08-16Merge branch 'dev' into RZgeometryGravatar Dave Grote 1-1/+3
2019-08-15Fixes for done_injecting to include boosted frameGravatar Dave Grote 1-2/+2
2019-08-14For RigidInjection, fixed calculation of done_injectingGravatar Dave Grote 1-1/+2
2019-08-13Fix rigid injection for 2DGravatar Dave Grote 1-1/+2
2019-08-09Merge branch 'dev' into RZgeometryGravatar Dave Grote 1-119/+146
2019-08-05Removed warpx_geteb_energy_conservingGravatar Dave Grote 1-28/+0
2019-08-02Minor fix in RigidParticleContainer::PushPGravatar Dave Grote 1-1/+1
2019-08-02PushP now uses FIeldGatherGravatar Dave Grote 1-0/+7
2019-08-01remove unused variablesGravatar MaxThevenet 1-3/+0
2019-07-25For momentum push conversion, create copies of member variables for gpuGravatar grote 1-10/+11
2019-07-24For momentum push conversion, added more constsGravatar Dave Grote 1-10/+10
2019-07-24Bug fixes for rigid injection in conversion of momentum pushGravatar grote 1-17/+17
2019-07-22Momentum push conversion clean up for clarity and optimizationGravatar Dave Grote 1-74/+72