Age | Commit message (Collapse) | Author | Files | Lines |
|
* 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>
|
|
* Clean-up hybrid code
* Remove Fortran interface
|
|
* functors to select particles
* add const
* oops, typo
* Update Source/Particles/Filter/FilterFunctors.H
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Apply suggestions from code review @ax3l
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* use SuperParticleType
* New particle filter.
* Fix bug
* Add doc
* Modify doc
* Test
* Modify based on suggestions
* Change units of ux,uy,uz
* Modify doc
* Move to constructor
* Minor
* Update Source/Diagnostics/ParticleIO.cpp
Co-Authored-By: Andrew Myers <atmyers2@gmail.com>
* Minor
* Apply suggestions from code review
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: Andrew Myers <atmyers2@gmail.com>
|
|
* add space before bracket for function declaration
* space before bracket for function definition
|
|
* add option to cut gaussian
* cut gaussian distrubution at injection
* add test for cut gaussian beam
* increase tolerance
* doc: mention that cutting the gaussian results in a lower total charge
* more explicit
* beware the const-able
|
|
* 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
* 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
* Minor Fixes
* Fix EOL according to @ax3l's recommendation in #845
* Remove commented out AbortMessage
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Removed commented out part initialization (used only in branch for next PR)
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Added warning that this is WIP
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Changed function name to AddPlasmaFromFile
* Removed AMReX warning from loop
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Added fix suggested in PR# 847
* Changed to mevpc2_kg
* Fix EOL again
* Style fix adding spaces around ` = `
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Style fix added spaces in definitions and between comma
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Style fix
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Added Assert Message for #iterations and TODO const mass/charge
* Fix EOL again
* Update Docs/source/running_cpp/parameters.rst
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Update Source/Particles/PhysicalParticleContainer.cpp
Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
* Corrected division by int
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>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
* 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
|
|
* 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
* 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
* Fix EOL according to @ax3l's recommendation in #845
* Remove commented out AbortMessage
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Removed commented out part initialization (used only in branch for next PR)
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Added warning that this is WIP
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Changed function name to AddPlasmaFromFile
* Removed AMReX warning from loop
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
* [WIP] costs mf --> costs vector
* [WIP] costs vector
* [WIP] vector costs
* formatting
* makefile
* [WIP] costs vector
* [WIP] *= costs
* wts do not need to divide by num cells
* Tiling safety on CPU
* Add tests
* EOL
* Remove unneeded input
* Update Source/WarpX.H costs documentation
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Update timers with times only if user Timers update
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* warpx.-->WarpX::
* add dev synch
* Update Regression/WarpX-tests.ini
Co-Authored-By: MaxThevenet <mthevenet@lbl.gov>
* Delete inputs_loadbalance_costs_heuristic
* Update and rename inputs_loadbalancecosts_timers to inputs_loadbalancecosts
* Update WarpX-tests.ini
Co-authored-by: MaxThevenet <mthevenet@lbl.gov>
|
|
|
|
* Adding a method to query the bulk rather than total momentum
* update copyright
* use bulk momentum for ballistic correction in add plasma
* also include the ballistic correction for lab frame simulations
* EOL
* bug fixes pointed out in code review
* append bulk to variable names
* in the Langmuir case, the momentum profile does depend on z
* some const
* clarify units of u_over_r in docstring
|
|
* replaced AMREX_ALWAYS_ASSERT_WITH_MESSAGE with WarpXUtilMsg::AlwaysAssert where needed
* reverted horrible mistake
|
|
* 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>
|
|
|
|
* 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>
|
|
* 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>
|