Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
* removed redundant do_qed option in inputfile
* fixed bug
|
|
* 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>
|
|
|
|
* 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
|
|
* fix warnings
* fixed bug
|
|
|
|
|
|
* Implemented lab frame electrostatic model
* Small clean up of ComputeSpaceChargeField
* Added ElectrostaticSphereLabFrame regression test
|
|
|
|
* added an option to set explicitely `max_iters` for MLMG solver
* fix EOL white spaces
* fix EOL white spaces 2
|
|
* replace wherever possible .reset(new with = make_unique
* fixed bug
* fixed bug
* revert WarpXOpenPMD.cpp to the original version
* removed another .reset(new
|
|
|
|
* 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
|
|
* 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>
|
|
* 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>
|
|
* fix << declaration of galilean_shift shadows a member of WarpX >>
* fix << unused mu_stag >>
* fix << unused uxp, uyp, uzp >>
* renamed galilean_shift (member variable of WarpX class) into m_galilean_shift
* renamed v_galilean to m_v_galilean when appropriate
* fixed bug introduced in latest commit
* fix <<comparison of integer expressions of different signedness>>
* Update Source/FieldSolver/FiniteDifferenceSolver/MacroscopicEvolveE.cpp
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* Initial commit (not working)
* First working version
* Cleaning and adding Doxygen comments
* Apply suggestions from code review
* Move findParticlesInEachCell to Utils/ParticleUtils
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
|
|
|
|
* First version of resampling structure
* Remove new warnings
* Added Doxygen comments
* Minor modifications
* Add do_resampling() in OneStep_sub1
* Apply suggestions from code review
Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
* Use mutable in ResamplingTrigger and replace run with operator()
* Apply suggestions from code review
Co-authored-by: MaxThevenet <maxence.thevenet@desy.de>
* Make LevelingThinning operator() final
Co-authored-by: Luca Fedeli <luca.fedeli.88@gmail.com>
Co-authored-by: MaxThevenet <maxence.thevenet@desy.de>
|
|
(DIM=2, openMP+MPI, double precision, no advanced solvers, no QED, native output) (#1264)
Depends on #1263
|
|
openMP+MPI, double precision, no advanced solvers, no QED, native output) (#1263)
This PR should fix almost all the compilation warnings in the default configuration (DIM=3, openMP+MPI, double precision, no advanced solvers, no QED, native output...). Or at least it does that on my system (my compiler is `g++ (Ubuntu 9.3.0-10ubuntu2) 9.3.0` ).
I have just two residual warnings:
### 1
```
[ 89%] Building CXX object CMakeFiles/WarpX.dir/Source/Parser/wp_parser.lex.cpp.o
wp_parser.lex.c:1356:17: warning: ‘void yyunput(int, char*)’ defined but not used [-Wunused-function]
```
I don't know if `yyunput(int, char*)` is there for a reason, even if it is not used. So I didn't do anything.
### 2
```
[ 96%] Building CXX object CMakeFiles/WarpX.dir/Source/Utils/CoarsenIO.cpp.o
/home/luca/Projects/warpx_dir/WarpX/Source/Particles/WarpXParticleContainer.cpp: In member function ‘void WarpXParticleContainer::AddNParticles(int, int, const ParticleReal*, const ParticleReal*, const ParticleReal*, const ParticleReal*, const ParticleReal*, const ParticleReal*, int, const ParticleReal*, int, int)’:
/home/luca/Projects/warpx_dir/WarpX/Source/Particles/WarpXParticleContainer.cpp:102:44: warning: unused parameter ‘nattr’ [-Wunused-parameter]
102 | int nattr, const ParticleReal* attr, int uniqueparticles, int id)
```
The first line of `AddNParticles` is `BL_ASSERT(nattr == 1); //! @fixme nattr is unused below: false sense of safety` . So I thought that there might be something to fix here and I didn't do anything.
|
|
|
|
This PR fixes the source of several compilation warnings.
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* swap fieldGather and external fields
* clarify EB external on particle for RZ
* swap order and initialize Exp-Bzp for Photons
|
|
* Rename l_lower_order_in_v to galerkin_interpolation
* Changed galerkin_interpolation from int to bool
* ... and same for member versions.
* Add input parameter to control galerkin_interpolation
* Update documentation
* semicolon
* Update Docs/source/running_cpp/parameters.rst
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Update Docs/source/running_cpp/parameters.rst
Resolve ambiguity
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
* Fix doc
* Add references to documentation
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
(#1210)
* species with do_not_gather=1 are not anymore pushed in the last halft step
* now do_not_gather is used just to avoid doing doGatherShapeN
* Minor fix
* fix involuntary capture of *this in lambda
|
|
getter / setter methods. These members are implemented using an anonymous struct that will be going away soon in amrex, so this type of access is deprecated. (#1208)
|
|
|
|
|
|
* 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>
|
|
|
|
* add 'overlapsWith' methods to InjectorPosition and PlasmaInjector
* add helper routine for computing positions within a cell
* use new function in AddPlasma
* use the XDim3 directly
* refactor add plasma to only add particles in cells that could overlap with the plasma region
* handle refined injection
* account for lorentz tranform in first pass
* can't capture statics in device lambda like that
* eol
* fix logic error
* fix RZ compilation
* eol
* a few docstrings
* missed a spot
* include the bulk momentum in the first pass
* reuse applyBallisticCorrection function where we can
* simplify the applyBallisticCorrection function
* eol
* fix equation for ballistic correction in the gamma_boost > 1 case
* need a sync here now
* fix typo in docstring
* use _rt
* add _rt
* add some _rt
* update the benchmarks because the particle id / cpu numbers (and occassionally the momenta, when that is random) are different now
|
|
* Added description of singleparticle particle injection style
* Revert "Added description of singleparticle particle injection style"
This reverts commit f02d842c935311458024da6e661950742de24f63.
* Tried to inject particles only in simulation Box
* Added Todo for multiple levels of mesh refinement
* Explain todo better
* Added x and y_shifts and replaced cascading ifs by bools and continue
* Replaced cascading ifs by bools and continue
* Replaced TODO by FIXME as reviewer suggested
* Made the insidebounds function use box limits as defaults
* Fixed identation issue
* Fixed identation issue
* Fixed identation issue
* Added to Docs the default for xmin,xmax and other dirs
* Fix missing y and z dirs
* Update Source/Initialization/PlasmaInjector.cpp
* Fixed PlasmaInjector limits with periodic condition
* Removed check if 3D because now ylims are +/-inf
* Restored if to check for y velocity also in 2D/RZ
* Fixed Docs to recent changes
* Update Source/Initialization/PlasmaInjector.cpp
* Fix extra bracket
* Added information about RZ geometry for openPMD external file
* Fix to issue without periodic boundaries
* Added variable rz_take_absolute, to allow to inject x<0 particles in RZ
* Fix to declaration of addplasmafromfile rz_take_absolute
* Fix to declaration of addplasmafromfile rz_take_absolute
* Fixed documentation to include rz_take_absolute option
* Fix merging conflict
* Final fix to xmax=inf in RZ
* In RZ particles are injected in x,y,z
* Fixed remaining rz_take_absolute
* Converted (x,y,z) to (r,0,z)
* Fixed bounds limits (r,z) but injection is in 3D
* Re-fix to insideBounds()
* AMReX assert of periodic in RZ
* Removed Assert -> went to PR 1115 by @dpgrote
* Fixed issues pointed out by reviewer @dpgrote
* Undo changes for future PR
* Undo changes for future PR
|
|
|
|
* 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>
|
|
* Added description of singleparticle particle injection style
* Revert "Added description of singleparticle particle injection style"
This reverts commit f02d842c935311458024da6e661950742de24f63.
* Tried to inject particles only in simulation Box
* Added Todo for multiple levels of mesh refinement
* Explain todo better
* Added x and y_shifts and replaced cascading ifs by bools and continue
* Replaced cascading ifs by bools and continue
* Replaced TODO by FIXME as reviewer suggested
* Made the insidebounds function use box limits as defaults
* Fixed identation issue
* Fixed identation issue
* Fixed identation issue
* Added to Docs the default for xmin,xmax and other dirs
* Fix missing y and z dirs
* Update Source/Initialization/PlasmaInjector.cpp
* Fixed PlasmaInjector limits with periodic condition
* Removed check if 3D because now ylims are +/-inf
* Restored if to check for y velocity also in 2D/RZ
* Fixed Docs to recent changes
* Update Source/Initialization/PlasmaInjector.cpp
* Fix extra bracket
* Tiny bool cleanup
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* define temp array outside the ParIter loop for GetParticleSlice
* Moving definition of temp arrays closer to the ParIter loop where used with comments
|
|
* Added description of singleparticle particle injection style
* Revert "Added description of singleparticle particle injection style"
This reverts commit f02d842c935311458024da6e661950742de24f63.
* Added use_q_shift and q_shift variables
* Removed use_q_shift
* Added description of q_shift to the Docs
* Replaced q_shift by z_shift as suggested by @ax3l
* Added recommendation to PWFA example
* z_shift should be optional (used query instead of get)
* Fix compile problem
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* add functor for doing the tmp particles copy for the back-transformed diagnosti
* merge the particle push options into one kernel
* EOL
* fix assertion
* allow this functor to be constructed even it we aren't doing the back transformed diagnostics
* EOL
* init this val to 0.0
* put the push type selection in a device function so it can be reused
* EOL
* add docstring for the pusher selector function
* EOL
|
|
* Assign the external E and B inside the field gather kernel
* EOL
* actually add new file
* EOL
* cannot do this yet
* update comments
* put shared code in base class
* EOL
* make clear in the name that these are external fields
|
|
* crash for deprecated input parameters
* typo
|
|
* Load Particles: external_file MPI Support
Split and add MPI support for particle loading from an openPMD
file.
Changes input file to allow overwriting the charge and mass by
user input (with a warning). Allows to add "weighting" to
files as constant record (ED-PIC extension).
Co-Authored-By: Ligia Diana Amorim <ldianaamorim@lbl.gov>
Co-Authored-By: Maxence Thevenet <mthevenet@lbl.gov>
* Remove RZ guard.
Particles are 3D, if this is not yet working we can fix it
later.
Co-authored-by: Ligia Diana Amorim <ldianaamorim@lbl.gov>
Co-authored-by: Maxence Thevenet <mthevenet@lbl.gov>
|
|
Cleanup
Cleanup
|
|
* fix some tests on Battra
* Fix arguments for tests to pass
|
|
* WARPX_DIM_2D doesn't exist, this should be WARPX_DIM_RZ
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-Authored-By: L. Diana Amorim <LDianaAmorim@lbl.gov>
Co-authored-by: L. Diana Amorim <LDianaAmorim@lbl.gov>
|
|
|
|
* Added <species>.profile=external_file and .profile_file
* Added description of input parameters to Docs
* Changed from profile to injection option for external file
* Fix typo in amrex abort message (due to copy paste)
* Added the OpenPMD use amrex abort message
* Minor fix - not sure how to remove EOL issue
* Tried to add AddExternalFileBeam functon to PhysicalParticleContainer
* Trued to fix EOL white space issue
* Added read/print species name from OPMD file
* Fixed OpenPMD charge and mass read
* Added number of particles in species
* Added nparts and converted charge/mass units to SI
* Fix to nr of particles
* Added q_tot parameter to determine part weight
* Added macroparticle's weight
* Fixed std::int typo - use only int
* Added read x,y and z + ifdef 3D
* Added velocity of particles and stored in container
* Converted velocities to SI
* No need to specfy momentum distribution if external file is used
* Update Source/Initialization/PlasmaInjector.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/PhysicalParticleContainer.cpp
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.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* No need to include openPMD header yet
* Fixed const in AddExternalFileBeam
* Fix compatibility with read_opmd and read_opmd_2
* Corrected position and charge units/sign
* Added Doc note and abort message for RZ
* Fix typo and EOL
* Minor fixes
* Fixed details. Added fix to EOL - testing
* Changed to physical_charge and explained it in Docs
* Fix header extra openPMD include files
* Removed additional debugging comments
* Try doxygen again
* Fix plasmainjector physical_q_tot
* Change apart to auto (not long as in gaussian beam injection style)
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Correct for new type of npart
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Removed Geant4 renormalization
* Read openPMD file and checked its units
* Trying to correct momentum information in plotfiles
* Compilation error - > SegFault 11
* Added unitSI() to each position/momentum direction. Compilation SegFault
* Re-structured code to use only once series.flush()
* Commented out amrex::Print() s
* Path to fix issue
* Update after review
* Chanegd <physical_q_tot> to <q_tot> and made it optional
* Fixed documentation typo and re-organized it
* Added const to npart as per reviewer recommendation
* Fixed issue with velocity - which became momentum
* Fixed 2D and 3D options + documentation
* Implemented fixes from past reviewsand fixed duplicate entry in Docs
* Fix auto in iterator in for loop
* Added fixes according to reviewer
* Revert "Added fixes according to reviewer"
This reverts commit 0a485d83c28014c8b6f53a30f26719f23f89bad5.
* Fixed IO block and reordered logic with Axel
* Fix spaces
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|
|
* new class for particle diagnostics
* copy all diag properties from WarpXParticleContainer to ParticleDiag
* revert change of input example
* add some comments
* eol
* OpenPMD flush format for new diags
* eol
* fix compilation for new diags with QED
* fix bug when QED off
* fix typo and include suggestion from review
* Remove Dead Code, Add TODO
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* changes due to code review
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
|